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)