ddsfdggfa
xstp.h@0:6015e28a6fb1, 2016-06-17 (annotated)
- Committer:
- ggarcia
- Date:
- Fri Jun 17 16:22:34 2016 +0000
- Revision:
- 0:6015e28a6fb1
?kl
Who changed what in which revision?
User | Revision | Line number | New 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 */ |