Dynamixel controller with CAN interface

Dependencies:   AX12_final MX106_not_working comunication_1

Revision:
3:d2c3ac534549
Parent:
1:946c65496383
Child:
4:6450eb95727d
Child:
5:6514c2ee38f5
--- a/main.cpp	Tue Apr 26 16:51:04 2016 +0000
+++ b/main.cpp	Fri Apr 29 13:28:38 2016 +0000
@@ -1,16 +1,29 @@
 #include "mbed.h"
 #include "AX12.h"
+/*Connessioni jupers millefori/nucleo: 
+    - rosso 5V
+    - nero GND
+    - marrone D2
+    - verde D8 
+  Il connettore va stacato dal dynamixel e non dalla millefori per non scambiare il verso!*/
+  
+Serial pc(USBTX, USBRX);
 
-int main() {
-   Serial pc(USBTX, USBRX);
-   AX12 MX106(PA_0, PA_1, 1);
-   pc.printf("Start run!");
-   
+/*Il dynamixel con la D sul connettore attualemnte è impostato a 9600 di velocità della seriale.
+  Per modificarla ancora non c'è un metodo pronto nella libreria ma si più fare "a mano" o con RoboPlus.
+  La trasmissione della seriale halfduplex si può cambiare nel costruttore della AX12.cpp. */
+  
+AX12 MX106(PA_9, PA_10, 1); //tx, rx, ID dynamixel
    
-   while (1) {
-                 
-      pc.printf("%f",MX106.GetTemp());
-        
-        
-    }
+int main() {  
+   pc.printf("Start run! \n");
+   
+   MX106.SetMode(0); //modalità di posizionamento, rotazionale
+   MX106.SetMode(0); //non siamo matti: a volte per sincronizzare la comunicazione prende il primo comando a vuoto...
+   wait(1);
+   
+   pc.printf("%f \n",  MX106.GetTemp()); //utile come test di comunicazione 
+   
+    //la posizione è espressa in gradi da 0 a 300
+   MX106.SetGoal(30, 1);
 }
\ No newline at end of file