1 // vim: set et sw=4 sts=4 :
9 * Protocolo de etherled (elp == Etherled Protocol).
11 * Ver archivo protocolo.txt en la documentación.
14 /** Puerto UDP usado por el protocolo ELP */
15 #define ELP_PORT 9876u
17 /** Variables del comando */
19 #define ELP_VAR_MATRIX 1
20 #define ELP_VAR_PAUSE 2
21 #define ELP_VAR_DELAY 3
23 /** Comando recibido/a enviar */
24 extern struct elp_command_t
26 byte id: 3; ///< Identificador del paquete
27 byte var: 4; ///< Variable a leer/escribir
28 byte set: 1; ///< SET (1) / GET (0)
32 /** Tamaño de la cabecera ELP */
33 #define ELP_HEADER_SIZE (sizeof(struct elp_command_t))
35 /** Procesa un comando ELP.
36 * @precond Se ejecutó netdev_recv_start().
37 * @returns cantidad de bytes escritos, 0 indica error o comando no soportado.
39 byte elp_read_process_command();
41 /** Escribe la respuesta al comando.
42 * @precond Se ejecutó netdev_send_start().
44 void elp_write_response();