Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. //formatting frame to send via uart
  2. memset(dataToSend,0,sizeof(dataToSend));
  3.  
  4. destAddr.u16=GetCurrentNodeId();
  5.  
  6. memset(dataToSend+OFFSET_RSSI,0,sizeof(int16_t));
  7.  
  8. memcpy(dataToSend+OFFSET_ADDRRECV,&destAddr.u16,sizeof(uint16_t));
  9.  
  10. //fill fields
  11. dataToSend[MSG_TYPE_OFFSET]=HEALTH_RADIO_MSGTYPE;
  12.  
  13. memcpy(dataToSend + RADIO_PAYLOAD_OFFSET ,(uint8_t *)(&sMoteHealthData),sizeof(MoteHealthDataStr));
  14. memcpy(dataToSend + RADIO_PAYLOAD_OFFSET ,(uint8_t *)(&sMoteHealthData),sizeof(MoteHealthDataStr));
  15.  
  16. crcFrame = Crc16Calc(0,dataToSend,sizeof(MoteHealthDataStr) + RADIO_PAYLOAD_OFFSET);
  17. dataToSend[sizeof(MoteHealthDataStr) + RADIO_PAYLOAD_OFFSET] = (uint8_t)((crcFrame & 0xFF00)>>8);
  18. dataToSend[sizeof(MoteHealthDataStr) + RADIO_PAYLOAD_OFFSET + 1] = (uint8_t)((crcFrame & 0x00FF));
  19.  
  20. //send uart frame 4 bytes of metrics + payload msg + 2 bytes crc
  21. eHAL_UART_Send(GetUARTHandleInUse(),dataToSend,sizeof(MoteHealthDataStr) + RADIO_PAYLOAD_OFFSET + 2);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement