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: DriveMotor mbed SteerMotor SwerveDrive SwerveModule
steer_motor_test.txt@5:164c27f5399b, 2022-04-29 (annotated)
- 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?
| User | Revision | Line number | New 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 |
