feat: added PicoW_Sensor code template
Credits to @ext-erich.styger that provided the template
This commit is contained in:
committed by
Sylvan Arnold
parent
b2e9eab44e
commit
6cd510e749
118
TSM_PicoW_Sensor/McuLib/RNet/RMSG.h
Normal file
118
TSM_PicoW_Sensor/McuLib/RNet/RMSG.h
Normal file
@@ -0,0 +1,118 @@
|
||||
/**
|
||||
* \file
|
||||
* \brief Radio Network Message Layer
|
||||
* \author (c) 2013-2014 Erich Styger, http://mcuoneclipse.com/
|
||||
* \note MIT License (http://opensource.org/licenses/mit-license.html), see 'RNet_License.txt'
|
||||
*
|
||||
* This module implements radio message handling module of the radio network stack.
|
||||
*/
|
||||
|
||||
#ifndef RADIOMESSAGE_H_
|
||||
#define RADIOMESSAGE_H_
|
||||
|
||||
#include "McuRNetConfig.h"
|
||||
#if McuRNET_CONFIG_IS_ENABLED
|
||||
#include "RPHY.h"
|
||||
|
||||
#include "McuShell.h"
|
||||
/*!
|
||||
* \brief Parses a command
|
||||
* \param cmd Command string to be parsed
|
||||
* \param handled Sets this variable to TRUE if command was handled
|
||||
* \param io I/O stream to be used for input/output
|
||||
* \return Error code, ERR_OK if everything was fine
|
||||
*/
|
||||
uint8_t RMSG_ParseCommand(const unsigned char *cmd, bool *handled, const McuShell_StdIOType *io);
|
||||
|
||||
/*!
|
||||
* \brief Returns the number of messages in the Rx queue
|
||||
* \return Number of items in the Rx queue
|
||||
*/
|
||||
unsigned int RMSG_RxQueueNofItems(void);
|
||||
|
||||
/*!
|
||||
* \brief Returns the number of messages in the Tx queue
|
||||
* \return Number of items in the Tx queue
|
||||
*/
|
||||
unsigned int RMSG_TxQueueNofItems(void);
|
||||
|
||||
/*!
|
||||
* \brief Flushes the Rx queue (makes it empty).
|
||||
* \return Error code, ERR_OK for everything fine.
|
||||
*/
|
||||
uint8_t RMSG_FlushRxQueue(void);
|
||||
|
||||
/*!
|
||||
* \brief Flushes the Rx queue (makes it empty).
|
||||
* \return Error code, ERR_OK for everything fine.
|
||||
*/
|
||||
uint8_t RMSG_FlushTxQueue(void);
|
||||
|
||||
/*!
|
||||
* \brief Queues a message to be sent to the radio transceiver.
|
||||
* \param buf Pointer to the message data to be sent.
|
||||
* \param bufSize Size of buffer.
|
||||
* \param payloadSize Size of payload data.
|
||||
* \param fromISR If called from an ISR routine.
|
||||
* \param isTx If message is TX or RX.
|
||||
* \param toBack If message shall be sent to the back of the list.
|
||||
* \param flags Packet flags.
|
||||
* \return Error code, ERR_OK if message has been queued.
|
||||
*/
|
||||
uint8_t RMSG_QueuePut(uint8_t *buf, size_t bufSize, uint8_t payloadSize, bool fromISR, bool isTx, bool toBack, RPHY_FlagsType flags);
|
||||
|
||||
/*!
|
||||
* \brief Puts a message into the TX queue for resending (in front of the queue)
|
||||
* \param buf[in] pointer to message
|
||||
* \param bufSize[in] size of message
|
||||
* \return Error code, ERR_OK if message has been queued.
|
||||
*/
|
||||
uint8_t RMSG_PutRetryTxMsg(uint8_t *buf, size_t bufSize);
|
||||
|
||||
/*!
|
||||
* \brief Used to check if we have a message incoming from the RX queue.
|
||||
* \param[in] buf Buffer where to store the incoming message
|
||||
* \param[in] bufSize Size of buffer, must be at least of size PHY_BUFFER_SIZE
|
||||
* \param[in] payLoadPtr Pointer to payload start.
|
||||
* \param[in] payloadSize Size of payload.
|
||||
* \return ERR_OK if we have a message, otherwise error code.
|
||||
*/
|
||||
uint8_t RMSG_GetRxMsg(uint8_t *buf, size_t bufSize);
|
||||
|
||||
/*!
|
||||
* \brief Used to check if we have a message outgoing in the TX queue.
|
||||
* \param buf Buffer where to store the incoming message
|
||||
* \param bufSize Size of buffer, must be at least of size RMSG_QUEUE_ITEM_SIZE
|
||||
* \return ERR_OK if we have a message, otherwise error code.
|
||||
*/
|
||||
uint8_t RMSG_GetTxMsg(uint8_t *buf, size_t bufSize);
|
||||
|
||||
/*!
|
||||
* \brief Add a message to the TX queue.
|
||||
* \param buf Pointer to the message data.
|
||||
* \param bufSize Size of the buffer in bytes, must be RPHY_BUFFER_SIZE.
|
||||
* \param payloadSize Size of payload in buffer.
|
||||
* \param flags Packet flags.
|
||||
* \return ERR_OK, or error code.
|
||||
*/
|
||||
uint8_t RMSG_QueueTxMsg(uint8_t *buf, size_t bufSize, uint8_t payloadSize, RPHY_FlagsType flags);
|
||||
|
||||
/*!
|
||||
* \brief Add a message to the RX queue.
|
||||
* \param buf Pointer to the message data.
|
||||
* \param bufSize Size of the buffer in bytes.
|
||||
* \param payloadSize Size of payload in buffer.
|
||||
* \param flags Packet flags
|
||||
* \return ERR_OK, or error code.
|
||||
*/
|
||||
uint8_t RMSG_QueueRxMsg(uint8_t *buf, size_t bufSize, uint8_t payloadSize, RPHY_FlagsType flags);
|
||||
|
||||
/*! \brief Initializes the module */
|
||||
void RMSG_Init(void);
|
||||
|
||||
/*! \brief Deinitializes the module */
|
||||
void RMSG_Deinit(void);
|
||||
|
||||
#endif /* RADIOMESSAGE_H_ */
|
||||
|
||||
#endif /* McuRNET_CONFIG_IS_ENABLED */
|
||||
Reference in New Issue
Block a user