uint16_t BUInt16
Definition: BTypes.h:22
const BTimeout BTimeoutForever
Definition: BTypes.h:46
BUInt32 BUInt
Definition: BTypes.h:33
uint32_t BUInt32
Definition: BTypes.h:24
bool Bool
Definition: BTypes.h:18
uint8_t BUInt8
Definition: BTypes.h:20
BUInt32 BTimeout
Definition: BTypes.h:45
BUInt8 addressFrom
Definition: BoapMc.h:2
class BoapMcPacket __attribute__
BUInt8 addressTo
Definition: BoapMc.h:1
BoapMcType
Definition: BoapMc.h:19
@ BoapMcTypeRequest
Definition: BoapMc.h:19
@ BoapMcTypeReply
Definition: BoapMc.h:19
A base class for communications classes having a generic API.
Definition: BComms.h:17
Error return class. This class is used to return the error status from a function....
Definition: BError.h:31
A template first in first out data buffer to store any object types.
Definition: BFifo.h:25
Mutex class. Note these are recursive Mutexes and so you need to make sure the number of unlocks equa...
Definition: BMutex.h:14
Provides a thread save queue of objects that can be used to communicate between threads.
Definition: BQueue.h:20
Integer counting semaphore.
Definition: BSemaphore.h:54
Base Semaphore class.
Definition: BSemaphore.h:16
BUInt8 oaddressFrom
Definition: BoapMc.h:58
BoapMcPacket opacket
Definition: BoapMc.h:59
BError performSend()
Performs a send to the named service.
Definition: BoapMc.cpp:64
BComms & ocomms
Definition: BoapMc.h:56
BUInt8 oaddressTo
Definition: BoapMc.h:57
virtual ~BoapMcClientObject()
Definition: BoapMc.cpp:52
BError performCall()
Performs a RPC call to the named service.
Definition: BoapMc.cpp:103
void setAddress(BUInt8 addressTo, BUInt8 addressFrom)
Definition: BoapMc.cpp:55
BUInt32 getApiVersion()
Returns the API version.
Definition: BoapMc.cpp:60
BError performRecv()
Performs a receive.
Definition: BoapMc.cpp:76
BUInt32 oapiVersion
Definition: BoapMc.h:55
virtual BError processRx(BTimeout timeoutUs=BTimeoutForever)
Process any RX packets queuing them as needed.
Definition: BoapMc.cpp:206
void setComms(BComms &comms)
Sets the communications interface to use.
Definition: BoapMc.cpp:180
BoapMcPacket opacketTx
Packet TX buffer for calls.
Definition: BoapMc.h:127
virtual BError processPacket(BoapMcPacket &rx, BoapMcPacket &tx)
Process a recieved packet.
Definition: BoapMc.cpp:297
BFifo< BoapMcPacket > opacketTxQueue
Packet TX Queue.
Definition: BoapMc.h:134
void setAddress(BUInt8 addressTo, BUInt8 addressFrom)
Sets the to and from addresses.
Definition: BoapMc.cpp:188
BSemaphore opacketRxSema
Wait RX semaphore.
Definition: BoapMc.h:129
BoapMcPacket opacketReqRx
Packet RX buffer for requests.
Definition: BoapMc.h:131
BUInt32 getApiVersion()
Returns the API version.
Definition: BoapMc.cpp:193
virtual ~BoapMcComms()
Definition: BoapMc.cpp:171
BError packetRecv(BoapMcPacket &packet)
Receives a packet.
Definition: BoapMc.cpp:382
virtual BError processRequest(BTimeout timeoutUs=BTimeoutForever)
Check and process any request.
Definition: BoapMc.cpp:252
BComms * ocomms
Definition: BoapMc.h:120
BoapMcPacket opacketRx
Packet RX buffer for calls.
Definition: BoapMc.h:128
BUInt32 oapiVersion
Definition: BoapMc.h:121
BoapMcPacket opacketReqTx
Packet TX buffer for requests.
Definition: BoapMc.h:130
BUInt32 otimeout
The timeout in us for calls.
Definition: BoapMc.h:123
BUInt8 oaddressFrom
Definition: BoapMc.h:125
BSemaphore opacketTxSema
Wait for TX semaphore.
Definition: BoapMc.h:136
BError packetSend(BoapMcPacket &packet)
Receives a packet.
Definition: BoapMc.cpp:338
BError performCall()
Performs a RPC call to the remote side.
Definition: BoapMc.cpp:307
BMutex olockTx
Lock for TX.
Definition: BoapMc.h:119
BoapMcPacket opacket
Packet RX buffer.
Definition: BoapMc.h:126
BUInt32 setTimeout(BUInt32 timeoutUs)
Sets the call timeout returning the current value.
Definition: BoapMc.cpp:197
BUInt8 oaddressTo
Definition: BoapMc.h:124
Bool othreaded
Definition: BoapMc.h:117
BSemaphoreCount opacketTxQueueWriteNum
Packet TX Queue number.
Definition: BoapMc.h:135
Bool oslave
Set slave mode.
Definition: BoapMc.h:122
BQueue< BoapMcPacket > opacketReqQueue
Packet RX buffer queue for requests.
Definition: BoapMc.h:132
void setCommsMode(Bool slave, BUInt txQueueSize)
Sets slave mode.
Definition: BoapMc.cpp:174
BError performSend()
Performs a RPC send to the remote side.
Definition: BoapMc.cpp:333
BMutex olockCall
Lock for RPC calls. Only one at a time.
Definition: BoapMc.h:118
virtual BError processRequests(BTimeout timeoutUs=BTimeoutForever)
Check and process all requests.
Definition: BoapMc.cpp:238
BoapMcPacketHead head
Definition: BoapMc.h:34
char data[256 - sizeof(BoapMcPacketHead)]
Definition: BoapMc.h:35
virtual BError processEvent(BoapMcPacket &rx)
Definition: BoapMc.cpp:149
BoapMcServiceObject()
Definition: BoapMc.cpp:130
BError sendEvent(BoapMcPacket &tx)
Definition: BoapMc.cpp:143
BUInt32 oapiVersion
Definition: BoapMc.h:85
virtual BError process(BoapMcPacket &rx, BoapMcPacket &tx)
Definition: BoapMc.cpp:137
virtual ~BoapMcServiceObject()
Definition: BoapMc.cpp:134
BError performSend(BoapMcPacket &tx)
Definition: BoapMc.cpp:119
BComms & ocomms
Definition: BoapMc.h:68
BUInt16 checksum
Definition: BoapMc.h:28
BUInt8 addressTo
Definition: BoapMc.h:24
BUInt8 cmd
Definition: BoapMc.h:26
BUInt8 addressFrom
Definition: BoapMc.h:25
BUInt8 length
Definition: BoapMc.h:23
BUInt16 error
Definition: BoapMc.h:27