Resumen de los comandos del protocolo radio
Código |
Descripción |
Parámetros |
Respuesta |
0 |
Preguntar flags del sistema |
Acción a realizar (1 byte) 0 = Nada 1 = Borrar flag de reset 2 = Desactivar PWM automático 3 = Activar PWM automático 4 = Desactivar apagado odómetro 5 = Activar apagado odómetro
0xff = Forzar reset |
Flags del sistema (1 byte) b0 = Paso por reset b1 = PWM automático b2 = Apagado leds odómetro b3 = Parar motores en posición |
1 |
Polling estado de los motores |
|
Posición en pasos (2 words) Velocidad de cada motor (2 words) Flags de los motores (2 bytes) 0 = Salida A 1 = Salida B 4 = Bit0 del PWM 5 = Bit1 del PWM 6 = Parar al alcanzar posición PWM de los motores (2 bytes) |
2 |
Modificar flags de los motores |
Flags (2 bytes) 0 = Salida A 1 = Salida B |
|
3 |
Modificar Velocidad |
Velocidad de cada motor (2 words) |
|
4 |
Posición para detenerse |
Posición de ambos motores (2 words) El calculo interno se hará relativo a la posición y se contabilizara con pulsos absolutos en ambos motores |
|
5 |
Pregunta nivel de la batería |
|
Valor analógico de tensión de batería |
6 |
Modificar PWM |
PWM (2 bytes) |
|
12 |
Velocidad en pulsos |
|
Velocidad de cada motor (2 words) |
13 |
Pregunta lectura de la brújula |
|
Tres bytes con los valores analógicos El primer byte: Bit 4,5: Bits menos peso seno Bit 6,7: Bits menos peso coseno El segundo byte el seno El tercer byte el coseno |
14 |
Borrar registro |
Byte con la activación |
Bit 0=1. Activa el Motor 1 Bit 1=1. Activa el Motor 2 |
15 |
Leer registro |
Posición a leer (1 byte) Bytes a leer (1 byte = N) |
Puntero de escritura (1 byte) Datos del registro (N bytes) |
|
|
|
|
100 |
Leer una posición de memoria |
Dirección (byte) |
Valor (byte) |
101 |
Modificar una posición de memoria |
Dirección (byte) Valor (byte) |
|
102 |
Leer una posición de memoria de los bancos 3 y 4 |
Dirección (byte) Valor de la dirección - 256 |
Valor (byte) |
103 |
Modificar una posición de memoria de los bancos 3 y 4 |
Dirección (byte) Valor de la dirección - 256 Valor (byte) |
|
104 |
Lee una posición de EEPROM |
Dirección (byte) |
Valor (byte) |
105 |
Modificar una posición de EEPROM |
Dirección (byte) Valor (byte) |
|
110 |
Lee una posición de memoria de la CPU de sensores |
Direccion (word) |
Status (byte) Valor (byte) |
111 |
Modifica una posición de memoria de la CPU de sensores |
Direccion (word) Valor (byte) |
Status (byte)
|
112 |
Parámetros del sonar |
Duracion del pulso (byte) El bit de más peso indica el umbral Tiempo de eco mínima (word) |
Status (byte)
|
113 |
Lanzar una medida de sonar con un retardo |
Retardo (byte) en dseg. - con sonar automático se ignora el tiempo y no lanza nueva medida
|
Status (byte) Tiempo de eco (word) |
114 |
Lanzar medidas de leds con un retardo |
Retardo (byte) en dseg |
Status (byte) Intensidad con led 1 apagado (byte) Intensidad con led 1 encendido (byte) 3 parejas de bytes más de los otros tres leds |
115 |
Lanza medidas de leds y lee la lectura anterior empaquetada |
Distancia a comparar con el sonar continuo (word) en ticks de sonar |
Status (byte) Bit 2 a 1 si distancia del sonar menor que el parámetro. Byte de estado de los leds. Dos bits por led con el valor: 00 = Sensor libre 01 = Obstáculo próximo 10 = Obstáculo muy cerca 11 = Luz de fondo excesiva Los bits 0,1 son del sensor 1, etc. |
116 |
Configuración del sonar automático |
Fallos para cambiar de umbral (byte) - 0 desactiva el sonar automático Tiempo entre medidas (byte) en cseg - valor >= 10 |
Status (byte)
|
117 |
Lectura del sonar automático |
|
Status (byte) Índice de la ventana (byte) Tiempo de eco (word) |