YUTO WATANABE / SerialCtrl_OS6
Committer:
yabumi823
Date:
Mon Sep 02 02:12:48 2019 +0000
Revision:
0:0dcd02e8aeab
first commit

Who changed what in which revision?

UserRevisionLine numberNew 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