ddsfdggfa

Committer:
ggarcia
Date:
Fri Jun 17 16:22:34 2016 +0000
Revision:
0:6015e28a6fb1
?kl

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ggarcia 0:6015e28a6fb1 1 /** @file xstp.h
ggarcia 0:6015e28a6fb1 2 * @brief Construir paquetes XSTP.
ggarcia 0:6015e28a6fb1 3 *
ggarcia 0:6015e28a6fb1 4 * XSTP es un protocolo de telemetría que transfiere bytes arbitrarios
ggarcia 0:6015e28a6fb1 5 */
ggarcia 0:6015e28a6fb1 6 #ifndef __XSTP_H
ggarcia 0:6015e28a6fb1 7 #define __XSTP_H
ggarcia 0:6015e28a6fb1 8
ggarcia 0:6015e28a6fb1 9 /** @addtogroup XSTP Protocolo XSTP
ggarcia 0:6015e28a6fb1 10 *
ggarcia 0:6015e28a6fb1 11 * XSTP es un protocolo de telemetría que transfiere bytes arbitrarios.
ggarcia 0:6015e28a6fb1 12 *
ggarcia 0:6015e28a6fb1 13 * Los datos son transferidos en formato big-endian (por alguna razón).
ggarcia 0:6015e28a6fb1 14 *
ggarcia 0:6015e28a6fb1 15 * @{ */
ggarcia 0:6015e28a6fb1 16
ggarcia 0:6015e28a6fb1 17 #define XSTP_MAXDATA 62
ggarcia 0:6015e28a6fb1 18
ggarcia 0:6015e28a6fb1 19 #include <stdint.h>
ggarcia 0:6015e28a6fb1 20
ggarcia 0:6015e28a6fb1 21 /** @brief Paquete de datos de XSTP. */
ggarcia 0:6015e28a6fb1 22 typedef struct {
ggarcia 0:6015e28a6fb1 23 /** @brief Longitud de los datos */
ggarcia 0:6015e28a6fb1 24 uint8_t len;
ggarcia 0:6015e28a6fb1 25 /** @brief datos a enviar */
ggarcia 0:6015e28a6fb1 26 uint8_t *data;
ggarcia 0:6015e28a6fb1 27 } XSTPPacket;
ggarcia 0:6015e28a6fb1 28
ggarcia 0:6015e28a6fb1 29 /** @brief Inicializa un paquete de datos normales
ggarcia 0:6015e28a6fb1 30 * @param packet Paquete a inicializar
ggarcia 0:6015e28a6fb1 31 * @param ssv Identificador del modelo del sensor*/
ggarcia 0:6015e28a6fb1 32 int buildSensorPacket(XSTPPacket *packet, uint8_t ssv);
ggarcia 0:6015e28a6fb1 33 /** @brief Inicializa un paquete que indica errores
ggarcia 0:6015e28a6fb1 34 * @param ecode Código de error*/
ggarcia 0:6015e28a6fb1 35 int buildErrorPacket(XSTPPacket *packet, uint16_t ecode);
ggarcia 0:6015e28a6fb1 36 /** @brief Agrega datos a un paquete
ggarcia 0:6015e28a6fb1 37 * @param sid Identificador del valor medido.
ggarcia 0:6015e28a6fb1 38 * @param data Datos leídos.
ggarcia 0:6015e28a6fb1 39 * @param len Longitud de \p data.*/
ggarcia 0:6015e28a6fb1 40 int attachSensor(XSTPPacket *packet, uint16_t sid, uint8_t *data, uint8_t len);
ggarcia 0:6015e28a6fb1 41 /** @brief Destructor de paquetes */
ggarcia 0:6015e28a6fb1 42 int freePacket(XSTPPacket *packet);
ggarcia 0:6015e28a6fb1 43
ggarcia 0:6015e28a6fb1 44 /** @} */
ggarcia 0:6015e28a6fb1 45
ggarcia 0:6015e28a6fb1 46 #endif /* XSTP_H */