System Management code
Dependencies: mbed CANBuffer Watchdog MODSERIAL mbed-rtos xbeeRelay IAP
Fork of SystemManagement by
Libs/xbeeRelay/PERMessage.cpp
- Committer:
- pspatel321
- Date:
- 2014-11-14
- Revision:
- 31:7eaa5e881b56
File content as of revision 31:7eaa5e881b56:
#include "PERMessage.h" PERMessage::PERMessage() { } PERMessage::PERMessage(char contentID, char deviceID, bool rtr, char length, unsigned char* data) { dataArray[0] = contentID; dataArray[1] = ((deviceID & 0x7) << 5) | (rtr << 4) | (length & 0xF); for (int i = 0; i < (length & 0xF); i++) { dataArray[i+2] = data[i]; } } char PERMessage::getContentID() { return dataArray[0]; } char PERMessage::getDeviceID() { return (dataArray[1] >> 5) & 0x7; } bool PERMessage::getRTR() { return dataArray[1] & 0x1F; } char PERMessage::getLength() { return dataArray[1] & 0xF; } void PERMessage::getDataArray(char* buffer) { for (int i = 0; i < getLength() + 2; i++) { buffer[i] = dataArray[i]; } } bool PERMessage::setContentID(char contentID) { dataArray[0] = contentID; return true; } bool PERMessage::setDeviceID(char deviceID) { dataArray[1] = dataArray[1] | (deviceID & 0x7) << 5; return true; } bool PERMessage::setRTR(bool RTR) { dataArray[1] = dataArray[1] | RTR << 4; return true; } bool PERMessage::setLength(char length) { dataArray[1] = dataArray[1] | length & 0xF; return true; }