nucleo側のプログラム
Dependents: serial_connected_mcu_nucleo serial_connected_mcu_nucleo
Fork of serial_connected_mcu by
serial_connected_mcu.hpp
- Committer:
- inst
- Date:
- 2016-08-01
- Revision:
- 15:9a50a5a747ad
- Parent:
- 12:810a484f113f
- Child:
- 16:4e310c3f3a2b
File content as of revision 15:9a50a5a747ad:
#ifndef INCUDED_SERIAL_CONNECTED_MCU_HPP #define INCUDED_SERIAL_CONNECTED_MCU_HPP #include "rotary_encoder_ab_phase.hpp" #include "servo.hpp" #include "serial_connected_mcu_slave.hpp" #include "mbed.h" namespace serial_connected_mcu { class serial_connected_mcu { public: static serial_connected_mcu* instance(); void update(); private: serial_connected_mcu(); ~serial_connected_mcu(); // 実体を記述しない void operator=(const serial_connected_mcu&); serial_connected_mcu(const serial_connected_mcu&); static serial_connected_mcu* _instance; static const int16_t _init_write_data[SIZE_OF_WRITE_DATA]; 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 size_t _servo_num; static const size_t _encoder_num; static const size_t _analog_input_num; servo** _servos; rotary_encoder_ab_phase** _encoders; AnalogIn** _analog_inputs; #ifdef USE_LIFTER_MODE enum { UPPER_LIMIT, LOWER_LIMIT, LIMIT_SWITCHES_NUM }; static const PinName _limit_switch_pins[LIMIT_SWITCHES_NUM]; DigitalIn* _limit_switches[LIMIT_SWITCHES_NUM]; #endif float* _prev_encoders_values; Timer _timer; serial_connected_mcu_slave _slave; }; } /* namespace serial_connected_mcu */ #endif