*********************************************************************************
* Implementado por: Julio Vte. Montagut Desco *
* Hardware: Controlador de 30 servos USB *
* PIC 18F4550 - USB - 12Mhz *
* Codigo fuente: Visual basic 6 *
*********************************************************************************
Esta es una demosracion de los comandos de control del Hardware para JVM-Servo
FORMATO DE LOS COMANDOS
El formato de la comunicacion esta definido por la lectura del primer byte de la trama, ete primer byte decide el parametro que se va a interpretar y establece la longitud de toda la trama de datos.
Los comandos son de dos tipos: normales (3 bytes) y un comando extendido de 31 bytes.
Ejemplo:
Byte1 - Byte2 - Byte3
El Byte1 decide el comando, el segundo corresponde al numero de servo y el tercero a la posicion.
COMANDOS DE LECTURA ------------------------------------------------------------------------------------------
-Lectura de posiciones de los servos (2 bytes)
Byte1 = P
Byte2 = Nº servo
-Lectura del inicio del PWM de cada puerto (2 bytes)
Byte1 = Q
Byte2 = Nº puerto (valores de 0 a 3)
-Lectura del ancho del PWM de cada puerto (2 bytes)
Byte1 = R
Byte2 = Nº puerto (valores de 0 a 3)
COMANDOS DE ESCRITURA ----------------------------------------------------------------------------------------
-Establecer la posicion de un servo (3 bytes)
Byte1 = S
Byte2 = Nº servo
Byte3 = Posicion
-Establecer la posicion de inicio de un servo (3 bytes)
Byte1 = I
Byte2 = Nº servo
Byte3 = Posicion
-Establecer el inicio del PWM de cada puerto (3 bytes)
Byte1 = O
Byte2 = Nº puerto (valores de 0 a 3)
Byte3 = Valor (valores de 0 a 255)
-Establecer el ancho del PWM de cada puerto (3 bytes)
Byte1 = N
Byte2 = Nº puerto (valores de 0 a 3)
Byte3 = Valor (valores de 0 a 50)
-Establecer la posicion a los 30 servos en un comando extendido (31 bytes)
Byte1 = T
Byte2 = posicion1
Byte3 = Posicion2
Byte4 = Posicion3
...
Byte31 = Posicion30