3 void BayEOSDebugInterface::parseDataFrame(uint8_t offset){
9 uint8_t data_type=(
getPayload(offset) & BayEOS_DATATYP_MASK);
10 uint8_t channel_type=(
getPayload(offset) & BayEOS_OFFSETTYP_MASK);
14 if(channel_type==0x0){
22 if (channel_type == BayEOS_ChannelLabel) {
30 if (channel_type == BayEOS_ChannelNumber) {
63 void BayEOSDebugInterface::parse(uint8_t offset){
65 uint8_t current_offset;
69 case BayEOS_DataFrame:
70 parseDataFrame(offset);
72 case BayEOS_RoutedFrame:
79 case BayEOS_RoutedFrameRSSI:
88 case BayEOS_OriginFrame:
89 case BayEOS_RoutedOriginFrame:
90 if(
getPayload(offset)==BayEOS_RoutedOriginFrame) print(
'R');
95 while(current_offset>0){
103 case BayEOS_DelayedFrame:
105 println(*(
unsigned long*) (
getPayload()+offset+1));
108 case BayEOS_TimestampFrame:
110 println(*(
unsigned long*) (
getPayload()+offset+1));
113 case BayEOS_ErrorMessage:
131 case BayEOS_ChecksumFrame:
133 current_offset=offset;
138 checksum+=*(uint16_t*)(
getPayload()+current_offset);
140 if(checksum==0xffff) print(
"OK");
165 if(_modus & 0x1 ==0){
175 if(_modus & 0x2) _error_next=!_error_next;
181 _serial->begin(baud);
188 int BayDebug::available(
void){
189 return _serial->available();
191 int BayDebug::read(
void){
192 return _serial->read();
194 size_t BayDebug::write(uint8_t b){
195 return _serial->write(b);
197 int BayDebug::peek(
void){
198 return _serial->peek();
200 void BayDebug::flush(
void){
const uint8_t * getPayload(void) const
uint8_t getPacketLength(void) const
void begin(long baud, uint8_t modus=3)
uint8_t sendPayload(void)
BayDebug(HardwareSerial &serial)