Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
SerialCtrl.h@4:32f7deade942, 2020-02-18 (annotated)
- Committer:
- yabumi823
- Date:
- Tue Feb 18 08:47:32 2020 +0000
- Revision:
- 4:32f7deade942
- Parent:
- 1:0184f38e2e83
- Child:
- 5:731e4a7f5947
fixed and added some functions to complete error handling in the lib
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| yabumi823 | 0:0dcd02e8aeab | 1 | #ifndef SERIALCTRL |
| yabumi823 | 0:0dcd02e8aeab | 2 | #define SERIALCTRL |
| yabumi823 | 0:0dcd02e8aeab | 3 | |
| yabumi823 | 0:0dcd02e8aeab | 4 | #include "mbed.h" |
| yabumi823 | 0:0dcd02e8aeab | 5 | |
| yabumi823 | 0:0dcd02e8aeab | 6 | #define DATA_N 9 |
| yabumi823 | 0:0dcd02e8aeab | 7 | enum {LX, LY, RX, RY, L2, R2, B1, B2, SUM}; |
| yabumi823 | 0:0dcd02e8aeab | 8 | #define TRIANGLE 0x01 |
| yabumi823 | 0:0dcd02e8aeab | 9 | #define CIRCLE 0x02 |
| yabumi823 | 0:0dcd02e8aeab | 10 | #define CROSS 0x04 |
| yabumi823 | 0:0dcd02e8aeab | 11 | #define SQUARE 0x08 |
| yabumi823 | 0:0dcd02e8aeab | 12 | #define UP 0x10 |
| yabumi823 | 0:0dcd02e8aeab | 13 | #define RIGHT 0x20 |
| yabumi823 | 0:0dcd02e8aeab | 14 | #define DOWN 0x40 |
| yabumi823 | 0:0dcd02e8aeab | 15 | #define LEFT 0x80 |
| yabumi823 | 0:0dcd02e8aeab | 16 | |
| yabumi823 | 0:0dcd02e8aeab | 17 | #define L1 0x01 |
| yabumi823 | 0:0dcd02e8aeab | 18 | #define L3 0x02 |
| yabumi823 | 0:0dcd02e8aeab | 19 | #define R1 0x04 |
| yabumi823 | 0:0dcd02e8aeab | 20 | #define R3 0x08 |
| yabumi823 | 0:0dcd02e8aeab | 21 | #define SELECT 0x10 |
| yabumi823 | 0:0dcd02e8aeab | 22 | #define START 0x20 |
| yabumi823 | 0:0dcd02e8aeab | 23 | #define PS 0x40 |
| yabumi823 | 0:0dcd02e8aeab | 24 | |
| yabumi823 | 0:0dcd02e8aeab | 25 | class SerialCtrl { |
| yabumi823 | 0:0dcd02e8aeab | 26 | public: |
| yabumi823 | 0:0dcd02e8aeab | 27 | SerialCtrl(Serial*, Timer*); |
| yabumi823 | 0:0dcd02e8aeab | 28 | unsigned char data[DATA_N]; |
| yabumi823 | 0:0dcd02e8aeab | 29 | |
| yabumi823 | 0:0dcd02e8aeab | 30 | void param(unsigned char header, unsigned char footer); |
| yabumi823 | 0:0dcd02e8aeab | 31 | bool get(); |
| yabumi823 | 4:32f7deade942 | 32 | void setFailMax(int n); |
| yabumi823 | 4:32f7deade942 | 33 | void setFailMax(); |
| yabumi823 | 0:0dcd02e8aeab | 34 | |
| yabumi823 | 0:0dcd02e8aeab | 35 | private: |
| yabumi823 | 0:0dcd02e8aeab | 36 | unsigned char input(); |
| yabumi823 | 0:0dcd02e8aeab | 37 | Serial *_Serial; |
| yabumi823 | 0:0dcd02e8aeab | 38 | Timer *_Timer; |
| yabumi823 | 4:32f7deade942 | 39 | |
| yabumi823 | 4:32f7deade942 | 40 | unsigned char STX; //header data code |
| yabumi823 | 4:32f7deade942 | 41 | unsigned char ETX; //footer data code |
| yabumi823 | 4:32f7deade942 | 42 | int TIMEOUT_MS; //timeout limit time |
| yabumi823 | 4:32f7deade942 | 43 | int RETRY_MAX; //retry limit |
| yabumi823 | 4:32f7deade942 | 44 | |
| yabumi823 | 4:32f7deade942 | 45 | #define NUL 0 //dummy data |
| yabumi823 | 4:32f7deade942 | 46 | #define RETRY_DEF 15 //fail max default |
| yabumi823 | 0:0dcd02e8aeab | 47 | |
| yabumi823 | 0:0dcd02e8aeab | 48 | }; |
| yabumi823 | 0:0dcd02e8aeab | 49 | |
| yabumi823 | 0:0dcd02e8aeab | 50 | #endif //SERIALCTRL |