nucleo側のプログラム
Dependents: serial_connected_mcu_nucleo serial_connected_mcu_nucleo
Fork of serial_connected_mcu by
Diff: serial_connected_mcu.cpp
- Revision:
- 6:a0cc9c27cedf
- Parent:
- 4:1323ef48a984
- Child:
- 8:b916e6f45f75
diff -r 1323ef48a984 -r a0cc9c27cedf serial_connected_mcu.cpp --- a/serial_connected_mcu.cpp Sun Jul 10 07:10:24 2016 +0000 +++ b/serial_connected_mcu.cpp Sun Jul 10 07:38:13 2016 +0000 @@ -5,6 +5,15 @@ namespace serial_connected_mcu { serial_connected_mcu* serial_connected_mcu::_instance = NULL; + +const int16_t _init_write_data[SIZE_OF_WRITE_DATA] = { + 0, // ENCODER1 + 0, // ENCODER2 + 0, // ENCODER3 + 65535 / 2, // POTENTIONMETER1 + 65535 / 2, // POTENTIONMETER2 + 65535 / 2 // POTENTIONMETER3 +}; const PinName serial_connected_mcu::_servo_pins[SERVO_NUM] = { PB_6, PB_7, @@ -25,7 +34,6 @@ A5 }; - serial_connected_mcu* serial_connected_mcu::instance() { if (_instance == NULL) { _instance = new serial_connected_mcu; @@ -34,11 +42,9 @@ } serial_connected_mcu::serial_connected_mcu() { - /* - for (size_t i = 0; i < serial_connected_mcu::serial_connected_mcu_slave::) { - _slave.set(); + for (size_t i = 0; i < serial_connected_mcu::serial_connected_mcu_slave::SIZE_OF_WRITE_DATA; ++i) { + _slave.set(i, 0); } - */ for (size_t i = 0; i < SERVO_NUM; ++i) { _servos[i] = new servo(_servo_pins[i]); @@ -64,7 +70,16 @@ } void serial_connected_mcu::update() { + _slave.set(serial_connected_mcu::ENCODER1, _encoders[0]); + _slave.set(serial_connected_mcu::ENCODER1, _encoders[0]); + _slave.set(serial_connected_mcu::ENCODER1, _encoders[0]); + _slave.set(serial_connected_mcu::POTENTIONMETER1, _analog_inputs[0]); + _slave.set(serial_connected_mcu::POTENTIONMETER2, _analog_inputs[1]); + _slave.set(serial_connected_mcu::POTENTIONMETER3, _analog_inputs[2]); + _servos[0] = _slave.get(serial_connected_mcu::ESC1); + _servos[1] = _slave.get(serial_connected_mcu::ESC2); + _servos[2] = _slave.get(serial_connected_mcu::ESC3); } } /* namespace serial_connected_mcu */