X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fnet%2Fpocketbus.h;h=69635e95b4540e167407c51eb200f0e81d8a8efb;hb=911d2706a86d326786bfe721dcc3d63aeade7f28;hp=f67af83675036d19777a340ee01c2e59bbf5eee3;hpb=9ad4bfda67375c05ca590cc793da190b9dc8de5b;p=bertos.git diff --git a/bertos/net/pocketbus.h b/bertos/net/pocketbus.h index f67af836..69635e95 100644 --- a/bertos/net/pocketbus.h +++ b/bertos/net/pocketbus.h @@ -29,24 +29,26 @@ * Copyright 2007 Develer S.r.l. (http://www.develer.com/) * --> * - * \version $Id: pocketbus.h 20131 2007-12-13 17:39:55Z batt $ + * \version $Id$ * * \author Francesco Sacchi * - * \brief pocketBus protocol interface. + * \brief Basical functions to use pocketBus protocol. + * + * $WIZ$ module_name = "pocketbus" + * $WIZ$ module_depends = "rotating_hash", "kfile" + * $WIZ$ module_configuration = "bertos/cfg/cfg_pocketbus.h" */ #ifndef NET_POCKETBUS_H #define NET_POCKETBUS_H -#include "appconfig.h" //for CONFIG_POCKETBUS_BUFLEN +#include "cfg/cfg_pocketbus.h" /* for CONFIG_POCKETBUS_BUFLEN */ #include #include -#include - -#include +#include /** * pocketBus special characters definitions. @@ -76,7 +78,7 @@ typedef uint16_t pocketbus_addr_t; */ typedef struct PocketBusHdr { - #define POCKETBUS_VER 1 + #define POCKETBUS_VER 1 uint8_t ver; ///< packet version pocketbus_addr_t addr; ///< slave address } PocketBusHdr; @@ -86,15 +88,16 @@ typedef struct PocketBusHdr */ typedef struct PocketBusCtx { + uint8_t buf[CONFIG_POCKETBUS_BUFLEN]; ///< receiving Buffer struct KFile *fd; ///< File descriptor bool sync; ///< Status flag: true if we have received an STX, false otherwise bool escape; ///< Status flag: true if we are in escape mode, false otherwise rotating_t in_cks; ///< Checksum computation for received data. rotating_t out_cks; ///< Checksum computation for transmitted data. pocketbus_len_t len; ///< Received length - uint8_t buf[CONFIG_POCKETBUS_BUFLEN]; ///< receiving Buffer } PocketBusCtx; +STATIC_ASSERT(offsetof(PocketBusCtx, buf) == 0); /** * Structure holding pocketBus message parameters. */ @@ -102,7 +105,7 @@ typedef struct PocketMsg { struct PocketBusCtx *ctx; ///< pocketBus message context pocketbus_addr_t addr; ///< address for received packet - pocketbus_len_t len; ///< payload length + pocketbus_len_t len; ///< payload length const uint8_t *payload; ///< payload data } PocketMsg;