nucleo側のプログラム

Dependents:   serial_connected_mcu_nucleo serial_connected_mcu_nucleo

Fork of serial_connected_mcu by tarou yamada

Revision:
11:6f8e34a71c7e
Parent:
6:a0cc9c27cedf
Child:
12:810a484f113f
--- a/serial_connected_mcu.hpp	Sun Jul 10 22:43:30 2016 +0000
+++ b/serial_connected_mcu.hpp	Sat Jul 30 06:00:59 2016 +0000
@@ -10,27 +10,6 @@
 
 class serial_connected_mcu {
 public:
-    enum servo_id {
-        SERVO_0,
-        SERVO_1,
-        SERVO_2,
-        SERVO_NUM
-    };
-    
-    enum encoder_id {
-        ENCODER_0,
-        ENCODER_1,
-        ENCODER_2,
-        ENCODER_NUM
-    };
-    
-    enum analog_input_id {
-        ANALOG_IN_0,
-        ANALOG_IN_1,
-        ANALOG_IN_2,
-        ANALOG_INPUT_NUM
-    };
-
     static serial_connected_mcu* instance();
     void update();
 
@@ -46,16 +25,22 @@
     
     static const int16_t _init_write_data[SIZE_OF_WRITE_DATA];
     
-    static const PinName _servo_pins[SERVO_NUM];
-    
-    static TIM_TypeDef* _encoder_timers[ENCODER_NUM];
+    static const PinName _servo_pins[];
+    static TIM_TypeDef* _encoder_timers[];
     static const size_t _encoder_pulse_per_revol;
+    static const PinName _analog_input_pins[];
     
-    static const PinName _analog_input_pins[ANALOG_INPUT_NUM];
+    static const size_t _servo_num;
+    static const size_t _encoder_num;
+    static const size_t _analog_input_num;
     
-    servo* _servos[SERVO_NUM];
-    rotary_encoder_ab_phase* _encoders[ENCODER_NUM];
-    AnalogIn* _analog_inputs[ANALOG_INPUT_NUM];
+    servo** _servos;
+    rotary_encoder_ab_phase** _encoders;
+    AnalogIn** _analog_inputs;
+    
+    float* _prev_encoders_values;
+    float 
+    Timer _timer;
     
     serial_connected_mcu_slave _slave;
 };