takeshi yoshida / Mbed 2 deprecated 2016_lambda_Controller

Dependencies:   mbed

Committer:
gakuburu
Date:
Sun Nov 13 01:59:49 2016 +0000
Revision:
2:cf08273cbd94
Parent:
0:728c138f0486
nakamura ganbatta

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gakuburu 0:728c138f0486 1 #ifndef LAMBDA_CONTROLLER_H
gakuburu 0:728c138f0486 2 #define LAMBDA_CONTROLLER_H
gakuburu 0:728c138f0486 3
gakuburu 0:728c138f0486 4 #include "mbed.h"
gakuburu 0:728c138f0486 5
gakuburu 0:728c138f0486 6 class LambdaController {
gakuburu 0:728c138f0486 7 public:
gakuburu 0:728c138f0486 8 LambdaController(PinName tx, PinName rx, PinName hzpin);
gakuburu 0:728c138f0486 9
gakuburu 0:728c138f0486 10 uint16_t get_all_switch(void);
gakuburu 0:728c138f0486 11 bool get_switch(int num);
gakuburu 0:728c138f0486 12
gakuburu 0:728c138f0486 13 enum AxisId {
gakuburu 0:728c138f0486 14 Stick0X, Stick0Y, Stick1X, Stick1Y
gakuburu 0:728c138f0486 15 };
gakuburu 0:728c138f0486 16 int get_raw_axis(AxisId id);
gakuburu 0:728c138f0486 17 double get_axis(AxisId id);
gakuburu 0:728c138f0486 18 void initialize_axis(void);
gakuburu 0:728c138f0486 19 void initialize_axis(AxisId id);
gakuburu 0:728c138f0486 20
gakuburu 0:728c138f0486 21 enum ErrorFactor {
gakuburu 0:728c138f0486 22 NoError, NoDataError, TimeoutError, InvalidDataError, SerialBusyError
gakuburu 0:728c138f0486 23 };
gakuburu 0:728c138f0486 24 ErrorFactor get_error();
gakuburu 0:728c138f0486 25
gakuburu 0:728c138f0486 26 private:
gakuburu 0:728c138f0486 27 Serial device;
gakuburu 0:728c138f0486 28 DigitalIn hzjudge;
gakuburu 0:728c138f0486 29
gakuburu 0:728c138f0486 30 void data_receive_isr();
gakuburu 0:728c138f0486 31 int buffer_head;
gakuburu 0:728c138f0486 32 uint8_t received_data[11];
gakuburu 0:728c138f0486 33 uint8_t received_buffer[11];
gakuburu 0:728c138f0486 34 bool is_axis_initialized;
gakuburu 0:728c138f0486 35 int axis_center[4];
gakuburu 0:728c138f0486 36 static const double axis_threshold = 0.012;
gakuburu 0:728c138f0486 37
gakuburu 0:728c138f0486 38 Timer error_timer;
gakuburu 0:728c138f0486 39 int error_count;
gakuburu 0:728c138f0486 40 ErrorFactor error_id;
gakuburu 0:728c138f0486 41 static const int error_threshold = 5;
gakuburu 0:728c138f0486 42 static const double timeout_time = 0.5;
gakuburu 0:728c138f0486 43 };
gakuburu 0:728c138f0486 44
gakuburu 0:728c138f0486 45 #endif