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/SerialCtrl.h@0:0dcd02e8aeab, 2019-09-02 (annotated)
- Committer:
- yabumi823
- Date:
- Mon Sep 02 02:12:48 2019 +0000
- Revision:
- 0:0dcd02e8aeab
first commit
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 | 0:0dcd02e8aeab | 32 | |
| yabumi823 | 0:0dcd02e8aeab | 33 | private: |
| yabumi823 | 0:0dcd02e8aeab | 34 | unsigned char input(); |
| yabumi823 | 0:0dcd02e8aeab | 35 | Serial *_Serial; |
| yabumi823 | 0:0dcd02e8aeab | 36 | Timer *_Timer; |
| yabumi823 | 0:0dcd02e8aeab | 37 | unsigned char STX; //header data code |
| yabumi823 | 0:0dcd02e8aeab | 38 | unsigned char ETX; //footer data code |
| yabumi823 | 0:0dcd02e8aeab | 39 | int TIMEOUT_MS; //timeout limit |
| yabumi823 | 0:0dcd02e8aeab | 40 | #define NUL 0 //dummy data |
| yabumi823 | 0:0dcd02e8aeab | 41 | #define FAIL_MAX 15 //fail count |
| yabumi823 | 0:0dcd02e8aeab | 42 | |
| yabumi823 | 0:0dcd02e8aeab | 43 | }; |
| yabumi823 | 0:0dcd02e8aeab | 44 | |
| yabumi823 | 0:0dcd02e8aeab | 45 | #endif //SERIALCTRL |