nucleo側のプログラム

Dependents:   serial_connected_mcu_nucleo serial_connected_mcu_nucleo

Fork of serial_connected_mcu by tarou yamada

Committer:
inst
Date:
Mon Aug 01 05:33:09 2016 +0000
Revision:
15:9a50a5a747ad
Parent:
12:810a484f113f
Child:
16:4e310c3f3a2b
USE_LIFTER_MODE ???;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
inst 0:9ca9a6eddffa 1 #ifndef INCUDED_SERIAL_CONNECTED_MCU_HPP
inst 0:9ca9a6eddffa 2 #define INCUDED_SERIAL_CONNECTED_MCU_HPP
inst 0:9ca9a6eddffa 3
inst 0:9ca9a6eddffa 4 #include "rotary_encoder_ab_phase.hpp"
inst 0:9ca9a6eddffa 5 #include "servo.hpp"
inst 4:1323ef48a984 6 #include "serial_connected_mcu_slave.hpp"
inst 0:9ca9a6eddffa 7 #include "mbed.h"
inst 0:9ca9a6eddffa 8
inst 0:9ca9a6eddffa 9 namespace serial_connected_mcu {
inst 0:9ca9a6eddffa 10
inst 0:9ca9a6eddffa 11 class serial_connected_mcu {
inst 0:9ca9a6eddffa 12 public:
inst 0:9ca9a6eddffa 13 static serial_connected_mcu* instance();
inst 0:9ca9a6eddffa 14 void update();
inst 0:9ca9a6eddffa 15
inst 0:9ca9a6eddffa 16 private:
inst 0:9ca9a6eddffa 17 serial_connected_mcu();
inst 2:9d7a03c79cd3 18 ~serial_connected_mcu();
inst 0:9ca9a6eddffa 19
inst 0:9ca9a6eddffa 20 // 実体を記述しない
inst 0:9ca9a6eddffa 21 void operator=(const serial_connected_mcu&);
inst 0:9ca9a6eddffa 22 serial_connected_mcu(const serial_connected_mcu&);
inst 0:9ca9a6eddffa 23
inst 0:9ca9a6eddffa 24 static serial_connected_mcu* _instance;
inst 0:9ca9a6eddffa 25
inst 6:a0cc9c27cedf 26 static const int16_t _init_write_data[SIZE_OF_WRITE_DATA];
inst 6:a0cc9c27cedf 27
inst 11:6f8e34a71c7e 28 static const PinName _servo_pins[];
inst 11:6f8e34a71c7e 29 static TIM_TypeDef* _encoder_timers[];
inst 0:9ca9a6eddffa 30 static const size_t _encoder_pulse_per_revol;
inst 11:6f8e34a71c7e 31 static const PinName _analog_input_pins[];
inst 0:9ca9a6eddffa 32
inst 11:6f8e34a71c7e 33 static const size_t _servo_num;
inst 11:6f8e34a71c7e 34 static const size_t _encoder_num;
inst 11:6f8e34a71c7e 35 static const size_t _analog_input_num;
inst 0:9ca9a6eddffa 36
inst 11:6f8e34a71c7e 37 servo** _servos;
inst 11:6f8e34a71c7e 38 rotary_encoder_ab_phase** _encoders;
inst 11:6f8e34a71c7e 39 AnalogIn** _analog_inputs;
inst 11:6f8e34a71c7e 40
inst 15:9a50a5a747ad 41 #ifdef USE_LIFTER_MODE
inst 15:9a50a5a747ad 42 enum {
inst 15:9a50a5a747ad 43 UPPER_LIMIT,
inst 15:9a50a5a747ad 44 LOWER_LIMIT,
inst 15:9a50a5a747ad 45 LIMIT_SWITCHES_NUM
inst 15:9a50a5a747ad 46 };
inst 15:9a50a5a747ad 47 static const PinName _limit_switch_pins[LIMIT_SWITCHES_NUM];
inst 15:9a50a5a747ad 48 DigitalIn* _limit_switches[LIMIT_SWITCHES_NUM];
inst 15:9a50a5a747ad 49 #endif
inst 15:9a50a5a747ad 50
inst 11:6f8e34a71c7e 51 float* _prev_encoders_values;
inst 11:6f8e34a71c7e 52 Timer _timer;
inst 4:1323ef48a984 53
inst 4:1323ef48a984 54 serial_connected_mcu_slave _slave;
inst 0:9ca9a6eddffa 55 };
inst 0:9ca9a6eddffa 56
inst 0:9ca9a6eddffa 57 } /* namespace serial_connected_mcu */
inst 0:9ca9a6eddffa 58
inst 0:9ca9a6eddffa 59 #endif