Fork of serial_connected_mcu by
serial_connected_mcu.cpp@5:4f51af2919d5, 2016-07-10 (annotated)
- Committer:
- kachikyun
- Date:
- Sun Jul 10 07:24:41 2016 +0000
- Revision:
- 5:4f51af2919d5
- Parent:
- 4:1323ef48a984
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
inst | 0:9ca9a6eddffa | 1 | #include "serial_connected_mcu.hpp" |
inst | 4:1323ef48a984 | 2 | #include "serial_connected_mcu_slave.hpp" |
inst | 0:9ca9a6eddffa | 3 | #include "mbed.h" |
inst | 0:9ca9a6eddffa | 4 | |
inst | 0:9ca9a6eddffa | 5 | namespace serial_connected_mcu { |
inst | 0:9ca9a6eddffa | 6 | |
inst | 0:9ca9a6eddffa | 7 | serial_connected_mcu* serial_connected_mcu::_instance = NULL; |
inst | 0:9ca9a6eddffa | 8 | const PinName serial_connected_mcu::_servo_pins[SERVO_NUM] = { |
inst | 0:9ca9a6eddffa | 9 | PB_6, |
inst | 0:9ca9a6eddffa | 10 | PB_7, |
inst | 0:9ca9a6eddffa | 11 | PB_8 |
inst | 0:9ca9a6eddffa | 12 | }; |
inst | 0:9ca9a6eddffa | 13 | |
inst | 0:9ca9a6eddffa | 14 | TIM_TypeDef* serial_connected_mcu::_encoder_timers[ENCODER_NUM] = { |
inst | 0:9ca9a6eddffa | 15 | TIM1, |
inst | 0:9ca9a6eddffa | 16 | TIM2, |
inst | 0:9ca9a6eddffa | 17 | TIM3 |
inst | 0:9ca9a6eddffa | 18 | }; |
inst | 0:9ca9a6eddffa | 19 | |
inst | 0:9ca9a6eddffa | 20 | const size_t serial_connected_mcu::_encoder_pulse_per_revol = 100; |
inst | 0:9ca9a6eddffa | 21 | |
inst | 0:9ca9a6eddffa | 22 | const PinName serial_connected_mcu::_analog_input_pins[ANALOG_INPUT_NUM] = { |
inst | 0:9ca9a6eddffa | 23 | A3, |
inst | 0:9ca9a6eddffa | 24 | A4, |
inst | 0:9ca9a6eddffa | 25 | A5 |
inst | 0:9ca9a6eddffa | 26 | }; |
inst | 0:9ca9a6eddffa | 27 | |
inst | 0:9ca9a6eddffa | 28 | |
inst | 0:9ca9a6eddffa | 29 | serial_connected_mcu* serial_connected_mcu::instance() { |
inst | 0:9ca9a6eddffa | 30 | if (_instance == NULL) { |
inst | 0:9ca9a6eddffa | 31 | _instance = new serial_connected_mcu; |
inst | 0:9ca9a6eddffa | 32 | } |
inst | 0:9ca9a6eddffa | 33 | return _instance; |
inst | 0:9ca9a6eddffa | 34 | } |
inst | 0:9ca9a6eddffa | 35 | |
inst | 0:9ca9a6eddffa | 36 | serial_connected_mcu::serial_connected_mcu() { |
inst | 4:1323ef48a984 | 37 | /* |
inst | 4:1323ef48a984 | 38 | for (size_t i = 0; i < serial_connected_mcu::serial_connected_mcu_slave::) { |
inst | 4:1323ef48a984 | 39 | _slave.set(); |
inst | 4:1323ef48a984 | 40 | } |
inst | 4:1323ef48a984 | 41 | */ |
inst | 4:1323ef48a984 | 42 | |
inst | 0:9ca9a6eddffa | 43 | for (size_t i = 0; i < SERVO_NUM; ++i) { |
inst | 0:9ca9a6eddffa | 44 | _servos[i] = new servo(_servo_pins[i]); |
inst | 0:9ca9a6eddffa | 45 | } |
inst | 0:9ca9a6eddffa | 46 | for (size_t i = 0; i < ENCODER_NUM; ++i) { |
inst | 0:9ca9a6eddffa | 47 | _encoders[i] = new rotary_encoder_ab_phase(_encoder_timers[i], _encoder_pulse_per_revol); |
inst | 0:9ca9a6eddffa | 48 | } |
inst | 0:9ca9a6eddffa | 49 | for (size_t i = 0; i < SERVO_NUM; ++i) { |
inst | 0:9ca9a6eddffa | 50 | _analog_inputs[i] = new AnalogIn(_analog_input_pins[i]); |
inst | 0:9ca9a6eddffa | 51 | } |
inst | 0:9ca9a6eddffa | 52 | } |
inst | 0:9ca9a6eddffa | 53 | |
inst | 1:0ba151c701a3 | 54 | serial_connected_mcu::~serial_connected_mcu() { |
inst | 1:0ba151c701a3 | 55 | for (size_t i = 0; i < SERVO_NUM; ++i) { |
inst | 1:0ba151c701a3 | 56 | delete _servos[i]; |
inst | 2:9d7a03c79cd3 | 57 | } |
inst | 1:0ba151c701a3 | 58 | for (size_t i = 0; i < ENCODER_NUM; ++i) { |
inst | 1:0ba151c701a3 | 59 | delete _encoders[i]; |
inst | 1:0ba151c701a3 | 60 | } |
inst | 1:0ba151c701a3 | 61 | for (size_t i = 0; i < SERVO_NUM; ++i) { |
inst | 1:0ba151c701a3 | 62 | delete _analog_inputs[i]; |
inst | 1:0ba151c701a3 | 63 | } |
inst | 1:0ba151c701a3 | 64 | } |
inst | 1:0ba151c701a3 | 65 | |
inst | 0:9ca9a6eddffa | 66 | void serial_connected_mcu::update() { |
inst | 0:9ca9a6eddffa | 67 | |
inst | 0:9ca9a6eddffa | 68 | } |
inst | 0:9ca9a6eddffa | 69 | |
inst | 0:9ca9a6eddffa | 70 | } /* namespace serial_connected_mcu */ |