Andrew Hellrigel / Mbed 2 deprecated SwerveDriveRobot

Dependencies:   DriveMotor mbed SteerMotor SwerveDrive SwerveModule

Committer:
andrewh33
Date:
Fri Apr 29 11:12:00 2022 +0000
Revision:
5:164c27f5399b
Parent:
4:7be1da65326d
Update: Doesn't work fully

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewh33 4:7be1da65326d 1 #include "mbed.h"
andrewh33 4:7be1da65326d 2 #include "SteerMotor.h"
andrewh33 4:7be1da65326d 3 //#include "DriveMotor.h"
andrewh33 4:7be1da65326d 4 //#include "SwerveModule.h"
andrewh33 4:7be1da65326d 5 //#include "SwerveDrive.h"
andrewh33 4:7be1da65326d 6
andrewh33 4:7be1da65326d 7 Timer t;
andrewh33 4:7be1da65326d 8
andrewh33 4:7be1da65326d 9
andrewh33 4:7be1da65326d 10 // Steer Motor Pins
andrewh33 4:7be1da65326d 11 DigitalOut bl_sdir(p10);
andrewh33 4:7be1da65326d 12 DigitalOut bl_step(p9);
andrewh33 4:7be1da65326d 13 DigitalOut br_sdir(p12);
andrewh33 4:7be1da65326d 14 DigitalOut br_step(p11);
andrewh33 4:7be1da65326d 15 DigitalOut fl_sdir(p8);
andrewh33 4:7be1da65326d 16 DigitalOut fl_step(p7);
andrewh33 4:7be1da65326d 17 DigitalOut fr_sdir(p6);
andrewh33 4:7be1da65326d 18 DigitalOut fr_step(p5);
andrewh33 4:7be1da65326d 19
andrewh33 4:7be1da65326d 20
andrewh33 4:7be1da65326d 21 // Motors
andrewh33 4:7be1da65326d 22 SteerMotor bl_steer(bl_sdir, bl_step);
andrewh33 4:7be1da65326d 23 SteerMotor br_steer(br_sdir, br_step);
andrewh33 4:7be1da65326d 24 SteerMotor fl_steer(fl_sdir, fl_step);
andrewh33 4:7be1da65326d 25 SteerMotor fr_steer(fr_sdir, fr_step);
andrewh33 4:7be1da65326d 26
andrewh33 4:7be1da65326d 27 PwmOut myled1(LED1);
andrewh33 4:7be1da65326d 28 PwmOut myled2(LED2);
andrewh33 4:7be1da65326d 29 PwmOut myled3(LED3);
andrewh33 4:7be1da65326d 30 PwmOut myled4(LED4);
andrewh33 4:7be1da65326d 31
andrewh33 4:7be1da65326d 32 uint32_t curr_time = 0; // In microseconds
andrewh33 4:7be1da65326d 33
andrewh33 4:7be1da65326d 34
andrewh33 4:7be1da65326d 35 int main() {
andrewh33 4:7be1da65326d 36
andrewh33 4:7be1da65326d 37 t.start();
andrewh33 4:7be1da65326d 38 bl_steer.zero();
andrewh33 4:7be1da65326d 39 bl_steer.zero();
andrewh33 4:7be1da65326d 40 bl_steer.zero();
andrewh33 4:7be1da65326d 41 bl_steer.zero();
andrewh33 4:7be1da65326d 42
andrewh33 4:7be1da65326d 43 while(1){
andrewh33 4:7be1da65326d 44 curr_time = t.read_us();
andrewh33 4:7be1da65326d 45 bl_steer.update(curr_time);
andrewh33 4:7be1da65326d 46 br_steer.update(curr_time);
andrewh33 4:7be1da65326d 47 fl_steer.update(curr_time);
andrewh33 4:7be1da65326d 48 fr_steer.update(curr_time);
andrewh33 4:7be1da65326d 49
andrewh33 4:7be1da65326d 50 myled1 = bl_steer.is_on_target();
andrewh33 4:7be1da65326d 51 myled2 = br_steer.is_on_target();
andrewh33 4:7be1da65326d 52 myled3 = fl_steer.is_on_target();
andrewh33 4:7be1da65326d 53 myled4 = fr_steer.is_on_target();
andrewh33 4:7be1da65326d 54
andrewh33 4:7be1da65326d 55 if (curr_time < 3000000){
andrewh33 4:7be1da65326d 56 bl_steer.set_angle(90.0);
andrewh33 4:7be1da65326d 57 br_steer.set_angle(90.0);
andrewh33 4:7be1da65326d 58 fl_steer.set_angle(90.0);
andrewh33 4:7be1da65326d 59 fr_steer.set_angle(90.0);
andrewh33 4:7be1da65326d 60 }
andrewh33 4:7be1da65326d 61 else if (curr_time < 6000000){
andrewh33 4:7be1da65326d 62 bl_steer.set_angle(30.0);
andrewh33 4:7be1da65326d 63 br_steer.set_angle(30.0);
andrewh33 4:7be1da65326d 64 fl_steer.set_angle(30.0);
andrewh33 4:7be1da65326d 65 fr_steer.set_angle(30.0);
andrewh33 4:7be1da65326d 66 }
andrewh33 4:7be1da65326d 67 else if (curr_time < 9000000){
andrewh33 4:7be1da65326d 68 bl_steer.set_angle(120.0);
andrewh33 4:7be1da65326d 69 br_steer.set_angle(120.0);
andrewh33 4:7be1da65326d 70 fl_steer.set_angle(120.0);
andrewh33 4:7be1da65326d 71 fr_steer.set_angle(120.0);
andrewh33 4:7be1da65326d 72 }
andrewh33 4:7be1da65326d 73 else if (curr_time < 12000000){
andrewh33 4:7be1da65326d 74 bl_steer.set_angle(0.0);
andrewh33 4:7be1da65326d 75 br_steer.set_angle(0.0);
andrewh33 4:7be1da65326d 76 fl_steer.set_angle(0.0);
andrewh33 4:7be1da65326d 77 fr_steer.set_angle(0.0);
andrewh33 4:7be1da65326d 78 }
andrewh33 4:7be1da65326d 79 }
andrewh33 4:7be1da65326d 80 }
andrewh33 4:7be1da65326d 81
andrewh33 4:7be1da65326d 82