UART Driver to receive asynchronous Serial Comms from a Raspberry Pi and parse the results.
Revision 11:b5f4a9e69d96, committed 2016-03-05
- Comitter:
- sk398
- Date:
- Sat Mar 05 01:07:37 2016 +0000
- Parent:
- 10:55cb02b00338
- Commit message:
- Most up to date
Changed in this revision
SerialComms.cpp | Show annotated file Show diff for this revision Revisions of this file |
SerialComms.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/SerialComms.cpp Fri Mar 04 23:07:43 2016 +0000 +++ b/SerialComms.cpp Sat Mar 05 01:07:37 2016 +0000 @@ -46,21 +46,28 @@ { if(incomingDataUpdate == TRUE) { - if( (receiverBuffer&0x0F)==MOTORS_FORWARD || + if( ((receiverBuffer&0x0F)==MOTORS_FORWARD || (receiverBuffer&0x0F)==MOTORS_BACKWARD || (receiverBuffer&0x0F)==MOTORS_LEFT || (receiverBuffer&0x0F)==MOTORS_RIGHT || - (receiverBuffer&0x0F)==MOTORS_ARM - /* AND BALLAST REQUIREMENTS */) + (receiverBuffer&0x0F)==MOTORS_ARM || + (receiverBuffer&0x0F)==MOTORS_OFF || + (receiverBuffer>>4)&(0x0F)==MAGNET_ON || + (receiverBuffer>>4)&(0x0F)==MAGNET_OFF + /* AND BALLAST REQUIREMENTS */ ) ) { incomingDataUpdate = FALSE; return receiverBuffer; } - } + else + { + incomingDataUpdate = FALSE; + return 0xFF; + } + } else { incomingDataUpdate = FALSE; return 0xFF; - } - return; + } }
--- a/SerialComms.h Fri Mar 04 23:07:43 2016 +0000 +++ b/SerialComms.h Sat Mar 05 01:07:37 2016 +0000 @@ -35,6 +35,7 @@ #define MOTORS_LEFT 0x05 #define MOTORS_RIGHT 0x0A #define MOTORS_ARM 0x01 +#define MOTORS_OFF 0x00 #define MAGNET_ON 0x0D #define MAGNET_OFF 0x0E