nucleo側のプログラム

Dependents:   serial_connected_mcu_nucleo serial_connected_mcu_nucleo

Fork of serial_connected_mcu by tarou yamada

Revision:
8:b916e6f45f75
Parent:
6:a0cc9c27cedf
Child:
9:21f623d2ee34
--- a/serial_connected_mcu.cpp	Sun Jul 10 07:40:44 2016 +0000
+++ b/serial_connected_mcu.cpp	Sun Jul 10 07:49:00 2016 +0000
@@ -42,7 +42,7 @@
 }
 
 serial_connected_mcu::serial_connected_mcu() {
-    for (size_t i = 0; i < serial_connected_mcu::serial_connected_mcu_slave::SIZE_OF_WRITE_DATA; ++i) {
+    for (size_t i = 0; i < SIZE_OF_WRITE_DATA; ++i) {
         _slave.set(i, 0);
     }
     
@@ -51,6 +51,7 @@
     }
     for (size_t i = 0; i < ENCODER_NUM; ++i) {
         _encoders[i] = new rotary_encoder_ab_phase(_encoder_timers[i], _encoder_pulse_per_revol);
+        _encoders[i]->start();
     }
     for (size_t i = 0; i < SERVO_NUM; ++i) {
         _analog_inputs[i] = new AnalogIn(_analog_input_pins[i]);
@@ -70,16 +71,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]);
+    _slave.set(ENCODER1, _encoders[0]->get_revol_num());
+    _slave.set(ENCODER2, _encoders[1]->get_revol_num());
+    _slave.set(ENCODER3, _encoders[2]->get_revol_num());
+    _slave.set(POTENTIONMETER1, _analog_inputs[0]->read());
+    _slave.set(POTENTIONMETER2, _analog_inputs[1]->read());
+    _slave.set(POTENTIONMETER3, _analog_inputs[2]->read());
     
-    _servos[0] = _slave.get(serial_connected_mcu::ESC1);
-    _servos[1] = _slave.get(serial_connected_mcu::ESC2);
-    _servos[2] = _slave.get(serial_connected_mcu::ESC3);
+    _servos[0]->set_position(_slave.get(ESC1));
+    _servos[1]->set_position(_slave.get(ESC2));
+    _servos[2]->set_position(_slave.get(ESC3));
 }
 
 } /* namespace serial_connected_mcu */