|
@@ -18,8 +18,9 @@ bool update_stepper_status[NUM_OF_STEPPERS];
|
|
//// UTILITIES /////////
|
|
//// UTILITIES /////////
|
|
|
|
|
|
|
|
|
|
-template <typename TYPE> void sendOSC(const char * adress, TYPE parameter) {
|
|
|
|
|
|
+template <typename TYPE> void sendOSC(const char * adress, int first_param, TYPE parameter) {
|
|
OSCMessage OSCmsg(adress);
|
|
OSCMessage OSCmsg(adress);
|
|
|
|
+ OSCmsg.add(first_param);
|
|
OSCmsg.add(parameter);
|
|
OSCmsg.add(parameter);
|
|
SLIPSerial.beginPacket();
|
|
SLIPSerial.beginPacket();
|
|
//Udp.beginPacket(outIp, outPort);
|
|
//Udp.beginPacket(outIp, outPort);
|
|
@@ -31,7 +32,7 @@ template <typename TYPE> void sendOSC(const char * adress, TYPE parameter) {
|
|
}
|
|
}
|
|
|
|
|
|
void printTest(OSCMessage &msg) {
|
|
void printTest(OSCMessage &msg) {
|
|
- sendOSC("/still", "up and running");
|
|
|
|
|
|
+ sendOSC("/still", 3, "up and running");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -45,40 +46,47 @@ void printTest(OSCMessage &msg) {
|
|
// sendOSC("/stepper/maxPos",maximum );
|
|
// sendOSC("/stepper/maxPos",maximum );
|
|
//}
|
|
//}
|
|
//
|
|
//
|
|
|
|
+
|
|
|
|
+void setCurrentPosition_Stepper_OSC (OSCMessage &msg) {
|
|
|
|
+ int index = msg.getInt(0);
|
|
|
|
+ steppers[index].setCurrentPosition(msg.getInt(1));
|
|
|
|
+ sendOSC("/stepper/setPosition/", index, "position set");
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void drivingMode_Stepper_OSC (OSCMessage &msg) {
|
|
|
|
+ driveMode = msg.getInt(0);
|
|
|
|
+ sendOSC("/stepper/driveMode/", 3, "set to " + driveMode);
|
|
|
|
+}
|
|
|
|
+
|
|
void moveTo_Stepper_OSC (OSCMessage &msg){
|
|
void moveTo_Stepper_OSC (OSCMessage &msg){
|
|
- long int distance = moveTo_Stepper(msg.getInt(0), msg.getInt(1));
|
|
|
|
- sendOSC("/stepper/distanceToGo",distance );
|
|
|
|
|
|
+ int index = msg.getInt(0);
|
|
|
|
+ long int distance = moveTo_Stepper(index, msg.getInt(1));
|
|
|
|
+ sendOSC("/stepper/distanceToGo", index, distance );
|
|
// while (!stepper.distanceToGo()==0)
|
|
// while (!stepper.distanceToGo()==0)
|
|
// stepper.run();
|
|
// stepper.run();
|
|
}
|
|
}
|
|
|
|
|
|
void move_Stepper_OSC (OSCMessage &msg){
|
|
void move_Stepper_OSC (OSCMessage &msg){
|
|
- long int distance = move_Stepper(msg.getInt(0), msg.getInt(1));
|
|
|
|
- sendOSC("/stepper/distanceToGo",distance );
|
|
|
|
|
|
+ int index = msg.getInt(0);
|
|
|
|
+ long int distance = move_Stepper(index, msg.getInt(1));
|
|
|
|
+ sendOSC("/stepper/distanceToGo", index, distance );
|
|
}
|
|
}
|
|
-//
|
|
|
|
-//void moveToCm_Stepper_OSC (OSCMessage &msg){
|
|
|
|
-// long int distance = moveToCm_Stepper(msg.getFloat(0));
|
|
|
|
-// sendOSC("/stepper/distanceToGo/cm",distance );
|
|
|
|
-//}
|
|
|
|
-//
|
|
|
|
-//void moveCm_Stepper_OSC (OSCMessage &msg){
|
|
|
|
-// long int distance = moveCm_Stepper(msg.getFloat(0));
|
|
|
|
-// sendOSC("/stepper/distanceToGo/cm",distance );
|
|
|
|
-//}
|
|
|
|
|
|
|
|
void maxSpeed_Stepper (OSCMessage &msg){
|
|
void maxSpeed_Stepper (OSCMessage &msg){
|
|
- long int max_speed = maxSpeed_Stepper(msg.getInt(0), msg.getInt(1));
|
|
|
|
- sendOSC("/stepper/maxSpeed",max_speed );
|
|
|
|
|
|
+ int index = msg.getInt(0);
|
|
|
|
+ long int max_speed = maxSpeed_Stepper(index, msg.getInt(1));
|
|
|
|
+ sendOSC("/stepper/maxSpeed", index, max_speed );
|
|
}
|
|
}
|
|
|
|
|
|
void acceleration_Stepper (OSCMessage &msg){
|
|
void acceleration_Stepper (OSCMessage &msg){
|
|
- long int acceleration = acceleration_Stepper(msg.getInt(0), msg.getInt(1));
|
|
|
|
- sendOSC("/stepper/acceleration",acceleration );
|
|
|
|
|
|
+ int index = msg.getInt(0);
|
|
|
|
+ long int acceleration = acceleration_Stepper(index, msg.getInt(1));
|
|
|
|
+ sendOSC("/stepper/acceleration", index, acceleration );
|
|
}
|
|
}
|
|
|
|
|
|
void currentPos_Stepper_OSC(OSCMessage &msg) {
|
|
void currentPos_Stepper_OSC(OSCMessage &msg) {
|
|
- sendOSC("/stepper/currentPos", steppers[msg.getInt(0)].currentPosition());
|
|
|
|
|
|
+ int index = msg.getInt(0);
|
|
|
|
+ sendOSC("/stepper/currentPos", index, steppers[index].currentPosition());
|
|
}
|
|
}
|
|
|
|
|
|
void status_Stepper_OSC(int stepper_index) {
|
|
void status_Stepper_OSC(int stepper_index) {
|
|
@@ -108,7 +116,7 @@ void setup_OSC(){
|
|
|
|
|
|
SLIPSerial.begin(115200);
|
|
SLIPSerial.begin(115200);
|
|
// delay (100);
|
|
// delay (100);
|
|
- sendOSC("/ready", "to go");
|
|
|
|
|
|
+ sendOSC("/ready", 3, "to go");
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -147,8 +155,10 @@ void handleOSCIn() {
|
|
|
|
|
|
// //STEPPER CONTROL
|
|
// //STEPPER CONTROL
|
|
// OSCin.dispatch("/stepper/init", init_Stepper_OSC);
|
|
// OSCin.dispatch("/stepper/init", init_Stepper_OSC);
|
|
- OSCin.dispatch("/stepper/status", getStatus_stepper_OSC);
|
|
|
|
- OSCin.dispatch("/stepper/currentPos", currentPos_Stepper_OSC);
|
|
|
|
|
|
+ OSCin.dispatch("/stepper/getStatus", getStatus_stepper_OSC);
|
|
|
|
+ OSCin.dispatch("/stepper/setCurrentPosition", setCurrentPosition_Stepper_OSC);
|
|
|
|
+ OSCin.dispatch("/stepper/currentPosition", currentPos_Stepper_OSC);
|
|
|
|
+ OSCin.dispatch("/stepper/driveMode", drivingMode_Stepper_OSC);
|
|
OSCin.dispatch("/stepper/moveTo", moveTo_Stepper_OSC);
|
|
OSCin.dispatch("/stepper/moveTo", moveTo_Stepper_OSC);
|
|
OSCin.dispatch("/stepper/move", move_Stepper_OSC);
|
|
OSCin.dispatch("/stepper/move", move_Stepper_OSC);
|
|
// OSCin.dispatch("/stepper/moveTo/cm", moveToCm_Stepper_OSC);
|
|
// OSCin.dispatch("/stepper/moveTo/cm", moveToCm_Stepper_OSC);
|