YUTO WATANABE / SerialCtrl_OS6
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?

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