MantisTeam / Mbed 2 deprecated MotionLibTest

Dependencies:   mantis_comms-2 mantis_stepper mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

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