nucleo側のプログラム

Dependents:   serial_connected_mcu_nucleo serial_connected_mcu_nucleo

Fork of serial_connected_mcu by tarou yamada

Committer:
inst
Date:
Sun Jul 10 07:10:24 2016 +0000
Revision:
4:1323ef48a984
Parent:
2:9d7a03c79cd3
Child:
6:a0cc9c27cedf

        

Who changed what in which revision?

UserRevisionLine numberNew 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 */