X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fnet%2Fpocketcmd.h;h=8bfd5e0965e0dec75915e94aab2e2263377f55a3;hb=2deaea82d047e5731b28b59b4652ad830b46e3fe;hp=7cbc98bfd1f2a44a0eb70d09d705bbe1e0ebf96e;hpb=cafdb86d36274921d12ee8c3559b40474834e41c;p=bertos.git diff --git a/bertos/net/pocketcmd.h b/bertos/net/pocketcmd.h index 7cbc98bf..8bfd5e09 100644 --- a/bertos/net/pocketcmd.h +++ b/bertos/net/pocketcmd.h @@ -31,15 +31,10 @@ * * \brief PocketBus command abstraction layer. * - * \version $Id: pocketcmd.h 20030 2007-12-04 16:16:09Z batt $ - * * \author Francesco Sacchi * - * $WIZARD_MODULE = { - * "name" : "pocketcmd", - * "depends" : ["timer", "pocketbus"], - * "configuration" : "" - * } + * $WIZ$ module_name = "pocketcmd" + * $WIZ$ module_depends = "timer", "pocketbus" */ #ifndef NET_POCKETCMD_H @@ -50,8 +45,6 @@ #define PKTCMD_NULL 0 ///< pocketBus Null command -#define PKTCMD_REPLY_TIMEOUT 50 ///< Command replay timeout in milliseconds - typedef uint16_t pocketcmd_t; ///< Type for Command IDs /** @@ -119,6 +112,7 @@ INLINE void pocketcmd_setAddr(struct PocketCmdCtx *ctx, pocketbus_addr_t addr) void pocketcmd_init(struct PocketCmdCtx *ctx, struct PocketBusCtx *bus_ctx, pocketbus_addr_t addr, pocketcmd_lookup_t search); void pocketcmd_poll(struct PocketCmdCtx *ctx); bool pocketcmd_send(struct PocketCmdCtx *ctx, pocketcmd_t cmd, const void *buf, size_t len, bool has_replay); +bool pocketcmd_recv(struct PocketCmdCtx *ctx, PocketCmdMsg *recv_msg); void pocketcmd_replyNak(struct PocketCmdMsg *msg); void pocketcmd_replyAck(struct PocketCmdMsg *msg); @@ -139,5 +133,17 @@ INLINE bool pocketcmd_slaveReply(struct PocketCmdCtx *ctx, pocketcmd_t cmd, cons return pocketcmd_send(ctx, cmd, buf, len, false); } +/** + * Return true if message contain NAK. + */ +INLINE bool pocketcmd_checkNak(struct PocketCmdMsg *msg) +{ + if (msg->buf[0] == POCKETBUS_NAK) + return true; + + return false; +} + + #endif /* NET_POCKETCMD_H */