Hi!
It goes something like this (in *.h file):
Code:
BEGIN_PACK
typedef union
{
uint8_t message[65];
} PACK AppMessage_t;
typedef struct
{
uint8_t header[APS_ASDU_OFFSET];
AppMessage_t data;
uint8_t footer[APS_AFFIX_LENGTH - APS_ASDU_OFFSET];
} PACK AppMessageRequest_t;
END_PACK
And in *.c file where you send message :
Code:
// global variables
AppMessageRequest_t outgoingMessage;
// data you send
outgoingMessage.data.message[0] = 0xXX; // 1st byte
outgoingMessage.data.message[1] = 0xXX; // 2nd byte
When you receive data:
Code:
// global variables
uint8_t received_data[65];
void APS_DataInd(APS_DataInd_t *indData)
{
AppMessage_t *data = (AppMessage_t *) indData->asdu;
received_data[0] = data->messsage[0]; // 1st byte
received_data[1] = data->messsage[1]; // 2nd byte
}
Have look at the WSNDemo\include\WSNDemoApp.h file in WSNDemo application. |