virtual BError processRx(BTimeout timeoutUs=BTimeoutForever)
Process any RX packets queuing them as needed.
Definition: BoapMc.cpp:205
BUInt32 oapiVersion
Definition: BoapMc.h:84
class BoapMcPacket __attribute__
BUInt8 addressFrom
Definition: BoapMc.h:24
BUInt32 oapiVersion
Definition: BoapMc.h:120
BMutex olockCall
Lock for RPC calls. Only one at a time.
Definition: BoapMc.h:117
BUInt8 addressTo
Definition: BoapMc.h:383
BoapMcComms(Bool threaded=0, BUInt rxQueueSize=4)
Definition: BoapMc.cpp:159
BMutex olockTx
Lock for TX.
Definition: BoapMc.h:118
BError packetSend(BoapMcPacket &packet)
Receives a packet.
Definition: BoapMc.cpp:337
void setComms(BComms &comms)
Sets the communications interface to use.
Definition: BoapMc.cpp:179
virtual BError process(BoapMcPacket &rx, BoapMcPacket &tx)
Definition: BoapMc.cpp:136
BFifo< BoapMcPacket > opacketTxQueue
Packet TX Queue.
Definition: BoapMc.h:133
BError packetRecv(BoapMcPacket &packet)
Receives a packet.
Definition: BoapMc.cpp:381
Semaphore class.
Definition: BSemaphore.h:15
BUInt32 oapiVersion
Definition: BoapMc.h:54
BUInt32 otimeout
The timeout in us for calls.
Definition: BoapMc.h:122
BoapMcPacket opacketRx
Packet RX buffer for calls.
Definition: BoapMc.h:127
Bool oslave
Set slave mode.
Definition: BoapMc.h:121
BError sendEvent(BoapMcPacket &tx)
Definition: BoapMc.cpp:142
BUInt8 cmd
Definition: BoapMc.h:25
BUInt16 error
Definition: BoapMc.h:26
BUInt32 getApiVersion()
Returns the API version.
Definition: BoapMc.cpp:59
BError performCall()
Performs a RPC call to the named service.
Definition: BoapMc.cpp:102
BQueue< BoapMcPacket > opacketReqQueue
Packet RX buffer queue for requests.
Definition: BoapMc.h:131
bool Bool
Definition: BTypes.h:15
void setAddress(BUInt8 addressTo, BUInt8 addressFrom)
Definition: BoapMc.cpp:54
BSemaphore opacketTxSema
Wait for TX semaphore.
Definition: BoapMc.h:135
BUInt32 BTimeout
Definition: BTypes.h:42
virtual BError processEvent(BoapMcPacket &rx)
Definition: BoapMc.cpp:148
BoapMcPacket opacketReqRx
Packet RX buffer for requests.
Definition: BoapMc.h:130
BUInt8 oaddressFrom
Definition: BoapMc.h:124
virtual ~BoapMcComms()
Definition: BoapMc.cpp:170
BoapMcPacket opacket
Definition: BoapMc.h:58
virtual BError processRequest(BTimeout timeoutUs=BTimeoutForever)
Check and process any request.
Definition: BoapMc.cpp:251
virtual BError processPacket(BoapMcPacket &rx, BoapMcPacket &tx)
Process a recieved packet.
Definition: BoapMc.cpp:296
BError performSend()
Performs a RPC send to the remote side.
Definition: BoapMc.cpp:332
BError performRecv()
Performs a receive.
Definition: BoapMc.cpp:75
BoapMcSignalObject(BComms &comms)
Definition: BoapMc.cpp:115
BComms & ocomms
Definition: BoapMc.h:55
BUInt32 setTimeout(BUInt32 timeoutUs)
Sets the call timeout returning the current value.
Definition: BoapMc.cpp:196
BUInt8 oaddressFrom
Definition: BoapMc.h:57
BoapMcPacketHead head
Definition: BoapMc.h:33
BUInt8 oaddressTo
Definition: BoapMc.h:123
BSemaphore opacketRxSema
Wait RX semaphore.
Definition: BoapMc.h:128
BComms * ocomms
Definition: BoapMc.h:119
BUInt32 BUInt
Definition: BTypes.h:30
uint32_t BUInt32
Definition: BTypes.h:21
const BTimeout BTimeoutForever
Definition: BTypes.h:43
BoapMcPacket opacketReqTx
Packet TX buffer for requests.
Definition: BoapMc.h:129
BoapMcPacket opacketTx
Packet TX buffer for calls.
Definition: BoapMc.h:126
BUInt8 oaddressTo
Definition: BoapMc.h:56
BUInt8 addressTo
Definition: BoapMc.h:23
BUInt8 addressFrom
Definition: BoapMc.h:384
Bool othreaded
Definition: BoapMc.h:116
uint16_t BUInt16
Definition: BTypes.h:19
uint8_t BUInt8
Definition: BTypes.h:17
virtual ~BoapMcClientObject()
Definition: BoapMc.cpp:51
BUInt16 checksum
Definition: BoapMc.h:27
BSemaphoreCount opacketTxQueueWriteNum
Packet TX Queue number.
Definition: BoapMc.h:134
BoapMcClientObject(BComms &comms)
Definition: BoapMc.cpp:45
BoapMcPacket opacket
Packet RX buffer.
Definition: BoapMc.h:125
void setCommsMode(Bool slave, BUInt txQueueSize)
Sets slave mode.
Definition: BoapMc.cpp:173
virtual BError processRequests(BTimeout timeoutUs=BTimeoutForever)
Check and process all requests.
Definition: BoapMc.cpp:237
BError performSend(BoapMcPacket &tx)
Definition: BoapMc.cpp:118
void setAddress(BUInt8 addressTo, BUInt8 addressFrom)
Sets the to and from addresses.
Definition: BoapMc.cpp:187
BoapMcServiceObject()
Definition: BoapMc.cpp:129
BUInt8 length
Definition: BoapMc.h:22
BUInt32 getApiVersion()
Returns the API version.
Definition: BoapMc.cpp:192
Definition: BSemaphore.h:51
virtual ~BoapMcServiceObject()
Definition: BoapMc.cpp:133
char data[256 - sizeof(BoapMcPacketHead)]
Definition: BoapMc.h:34
BError performCall()
Performs a RPC call to the remote side.
Definition: BoapMc.cpp:306
BComms & ocomms
Definition: BoapMc.h:67
BoapMcType
Definition: BoapMc.h:18
BError performSend()
Performs a send to the named service.
Definition: BoapMc.cpp:63