Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mantis_comms-2 mantis_stepper mbed
main.cpp
00001 #include <string.h> 00002 #include "mbed.h" 00003 #include "mantis_comms.h" 00004 #include "commands.h" 00005 #include "mantis_stepper.h" 00006 00007 #define PUBLIC /* empty */ 00008 #define PRIVATE static 00009 00010 PRIVATE char buffer[64]; 00011 00012 PRIVATE char* dtos(double var) { 00013 sprintf(buffer, "%g", var); 00014 return buffer; // returns a pointer to buffer. 00015 } 00016 00017 PRIVATE Timer timer1; 00018 00019 00020 MantisComms *TitaniumLink; 00021 PRIVATE mantis_stepper *Stepper; 00022 00023 void SetPosition(long index,long pos) 00024 { 00025 Stepper->SetTargetPosition(index,pos); 00026 } 00027 00028 00029 void SetSpeedMode(long index,long dir) 00030 { 00031 Stepper->MoveSpeedMode(0,dir); 00032 } 00033 void SetPosMode(long index) 00034 { 00035 //Stepper->SetPositionMode(index); 00036 } 00037 00038 void StepperTest(long index) 00039 { 00040 //Stepper->StopInstant(0); 00041 Stepper->StopRamped(0); 00042 return; 00043 00044 Stepper->SetTargetPosition(index,0); 00045 wait(1.5); 00046 00047 Stepper->SetTargetPosition(index,3000); 00048 wait(0.7); 00049 TitaniumLink->serialSend(dtos(Stepper->GetAbsPosition(0)),1); 00050 00051 Stepper->SetTargetPosition(index,1200); 00052 00053 return; 00054 00055 Stepper->SetTargetPosition(index,0); 00056 wait(1); 00057 00058 Stepper->SetTargetPosition(index,300); 00059 wait(0.21); 00060 Stepper->SetTargetPosition(index,1300); 00061 wait(0.25); 00062 TitaniumLink->serialSend(dtos(Stepper->GetAbsPosition(0)),1); 00063 00064 Stepper->SetTargetPosition(index,520); 00065 00066 00067 } 00068 00069 00070 int main() { 00071 wait(0.1); 00072 timer1.start(); 00073 long speed=100000L; 00074 TitaniumLink=new MantisComms(&runTitaniumCommand,PA_2,PA_3); 00075 00076 Stepper= new mantis_stepper(speed,1,PC_3); 00077 Stepper->AddMotor(PD_2,PA_0,50000,5000); 00078 // Stepper->AddMotor(PD_2,PA_0,10000,5000); 00079 00080 /* 00081 Stepper->AddMotor(PC_9,PA_12,speed,speed); 00082 Stepper->AddMotor(PC_9,PA_12,speed,speed); 00083 Stepper->AddMotor(PC_9,PA_12,speed,speed); 00084 Stepper->AddMotor(PC_9,PA_12,speed,speed); 00085 00086 Stepper->AddMotor(PC_9,PA_12,speed,speed); 00087 Stepper->AddMotor(PC_9,PA_12,speed,speed); 00088 Stepper->AddMotor(PC_9,PA_12,speed,speed); 00089 00090 Stepper->SetSpeedMode(1,10); 00091 Stepper->SetSpeedMode(2,10); 00092 Stepper->SetSpeedMode(3,10); 00093 Stepper->SetSpeedMode(4,10); 00094 Stepper->SetSpeedMode(5,10); 00095 Stepper->SetSpeedMode(6,10); 00096 Stepper->SetSpeedMode(7,10); 00097 */ 00098 00099 // Stepper->AddMotor(PD_2,PA_0,50000L,50000L); 00100 // Stepper->AddMotor(PD_2,PA_0,50L,20L); 00101 Stepper->ZeroHome(0); 00102 // Stepper->SetTargetPosition(0,100000L); 00103 00104 while(1) 00105 { 00106 if(timer1.read_ms()>10)// 00107 { 00108 timer1.reset(); 00109 TitaniumLink->processComms();// parses the incomming commands from Titanium and calls runTitaniumCommand 00110 } 00111 } 00112 } 00113
Generated on Wed Aug 3 2022 00:43:41 by
