X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fnet%2Fpocketcmd.h;h=8bfd5e0965e0dec75915e94aab2e2263377f55a3;hb=4d8a6a97c6c0e15296b51d5f02674079bede1aa0;hp=9f92b00bb0c7a2c6b0e2fcba8ace4d5a59162b48;hpb=9ad4bfda67375c05ca590cc793da190b9dc8de5b;p=bertos.git diff --git a/bertos/net/pocketcmd.h b/bertos/net/pocketcmd.h index 9f92b00b..8bfd5e09 100644 --- a/bertos/net/pocketcmd.h +++ b/bertos/net/pocketcmd.h @@ -29,12 +29,12 @@ * Copyright 2007 Develer S.r.l. (http://www.develer.com/) * --> * - * \brief pocketBus protocol command layer interface. - * - * \version $Id: pocketcmd.h 20030 2007-12-04 16:16:09Z batt $ + * \brief PocketBus command abstraction layer. * * \author Francesco Sacchi * + * $WIZ$ module_name = "pocketcmd" + * $WIZ$ module_depends = "timer", "pocketbus" */ #ifndef NET_POCKETCMD_H @@ -45,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 /** @@ -114,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); @@ -134,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 */