// We store a separate receiveBuffer variable because indexing
// into a pointer array can be costly, and handling interrupts
// is time critical.
// We store a separate receiveBuffer variable because indexing
// into a pointer array can be costly, and handling interrupts
// is time critical.
uint8_t receiveTaskPending = FALSE;
uart_id_t receiveTaskType = 0;
uint8_t receiveTaskWhich;
uint8_t receiveTaskPending = FALSE;
uart_id_t receiveTaskType = 0;
uint8_t receiveTaskWhich;
uint8_t receiveTaskSize = 0;
command error_t Send.send[uint8_t id](message_t* msg, uint8_t len) {
uint8_t receiveTaskSize = 0;
command error_t Send.send[uint8_t id](message_t* msg, uint8_t len) {
- command void* Send.getPayload[uint8_t id](message_t* m) {
- return m;
- }
-
- command void* Receive.getPayload[uint8_t id](message_t* m, uint8_t* len) {
- if (len != NULL) {
- *len = 0;
+ command void* Send.getPayload[uint8_t id](message_t* m, uint8_t len) {
+ if (len > sizeof(message_t)) {
+ return NULL;
+ }
+ else {
+ return m;