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.
run_modes.cpp@0:7a97ebb833eb, 2019-05-05 (annotated)
- Committer:
- rzalog
- Date:
- Sun May 05 00:02:11 2019 +0000
- Revision:
- 0:7a97ebb833eb
test commit;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| rzalog | 0:7a97ebb833eb | 1 | #include "globals.h" |
| rzalog | 0:7a97ebb833eb | 2 | #include "pins.h" |
| rzalog | 0:7a97ebb833eb | 3 | #include "beep.h" |
| rzalog | 0:7a97ebb833eb | 4 | |
| rzalog | 0:7a97ebb833eb | 5 | /*** |
| rzalog | 0:7a97ebb833eb | 6 | * Driving stuff |
| rzalog | 0:7a97ebb833eb | 7 | ***/ |
| rzalog | 0:7a97ebb833eb | 8 | void test_drive_straight() { |
| rzalog | 0:7a97ebb833eb | 9 | systick.start(); |
| rzalog | 0:7a97ebb833eb | 10 | //motors.setRightPwm(0.1f); |
| rzalog | 0:7a97ebb833eb | 11 | //motors.setLeftPwm(0.1f); |
| rzalog | 0:7a97ebb833eb | 12 | while(1) { |
| rzalog | 0:7a97ebb833eb | 13 | mainController.moveCells(100); |
| rzalog | 0:7a97ebb833eb | 14 | } |
| rzalog | 0:7a97ebb833eb | 15 | } |
| rzalog | 0:7a97ebb833eb | 16 | |
| rzalog | 0:7a97ebb833eb | 17 | /*** |
| rzalog | 0:7a97ebb833eb | 18 | * Assignment 2 |
| rzalog | 0:7a97ebb833eb | 19 | ***/ |
| rzalog | 0:7a97ebb833eb | 20 | |
| rzalog | 0:7a97ebb833eb | 21 | void basic_motor_movement() { |
| rzalog | 0:7a97ebb833eb | 22 | motors.setRightPwm(0.15f); |
| rzalog | 0:7a97ebb833eb | 23 | motors.setLeftPwm(0.15f); |
| rzalog | 0:7a97ebb833eb | 24 | |
| rzalog | 0:7a97ebb833eb | 25 | wait(3); |
| rzalog | 0:7a97ebb833eb | 26 | |
| rzalog | 0:7a97ebb833eb | 27 | motors.stop(); |
| rzalog | 0:7a97ebb833eb | 28 | |
| rzalog | 0:7a97ebb833eb | 29 | wait(1); |
| rzalog | 0:7a97ebb833eb | 30 | |
| rzalog | 0:7a97ebb833eb | 31 | motors.stop(); |
| rzalog | 0:7a97ebb833eb | 32 | pc.printf("right: %d, left: %d\n", encoders.right(), encoders.left()); |
| rzalog | 0:7a97ebb833eb | 33 | |
| rzalog | 0:7a97ebb833eb | 34 | |
| rzalog | 0:7a97ebb833eb | 35 | motors.setRightPwm(-0.2f); |
| rzalog | 0:7a97ebb833eb | 36 | motors.setLeftPwm(-0.2f); |
| rzalog | 0:7a97ebb833eb | 37 | |
| rzalog | 0:7a97ebb833eb | 38 | wait(3); |
| rzalog | 0:7a97ebb833eb | 39 | motors.stop(); |
| rzalog | 0:7a97ebb833eb | 40 | |
| rzalog | 0:7a97ebb833eb | 41 | // TODO: Turn |
| rzalog | 0:7a97ebb833eb | 42 | } |
| rzalog | 0:7a97ebb833eb | 43 | |
| rzalog | 0:7a97ebb833eb | 44 | void read_encoders() { |
| rzalog | 0:7a97ebb833eb | 45 | while (true) { |
| rzalog | 0:7a97ebb833eb | 46 | encoders.printValues(); |
| rzalog | 0:7a97ebb833eb | 47 | wait(0.5); |
| rzalog | 0:7a97ebb833eb | 48 | } |
| rzalog | 0:7a97ebb833eb | 49 | } |
| rzalog | 0:7a97ebb833eb | 50 | |
| rzalog | 0:7a97ebb833eb | 51 | void test_systick() { |
| rzalog | 0:7a97ebb833eb | 52 | systick.start(); |
| rzalog | 0:7a97ebb833eb | 53 | |
| rzalog | 0:7a97ebb833eb | 54 | while (true) { |
| rzalog | 0:7a97ebb833eb | 55 | wait(1); |
| rzalog | 0:7a97ebb833eb | 56 | pc.printf("Current time (ms): %d\n", millis); |
| rzalog | 0:7a97ebb833eb | 57 | } |
| rzalog | 0:7a97ebb833eb | 58 | } |
| rzalog | 0:7a97ebb833eb | 59 | |
| rzalog | 0:7a97ebb833eb | 60 | void test_buzzer() { |
| rzalog | 0:7a97ebb833eb | 61 | Beep buzzer(PB_14); |
| rzalog | 0:7a97ebb833eb | 62 | |
| rzalog | 0:7a97ebb833eb | 63 | for (int i=0; i < 5; i++) { |
| rzalog | 0:7a97ebb833eb | 64 | buzzer.beep(1000, 1); |
| rzalog | 0:7a97ebb833eb | 65 | wait(2); |
| rzalog | 0:7a97ebb833eb | 66 | } |
| rzalog | 0:7a97ebb833eb | 67 | } |
| rzalog | 0:7a97ebb833eb | 68 | |
| rzalog | 0:7a97ebb833eb | 69 | inline float flash(DigitalOut emit, AnalogIn recv) { |
| rzalog | 0:7a97ebb833eb | 70 | float val; |
| rzalog | 0:7a97ebb833eb | 71 | emit = 1; |
| rzalog | 0:7a97ebb833eb | 72 | wait_us(60); |
| rzalog | 0:7a97ebb833eb | 73 | val = recv.read(); |
| rzalog | 0:7a97ebb833eb | 74 | emit = 0; |
| rzalog | 0:7a97ebb833eb | 75 | wait_us(60); |
| rzalog | 0:7a97ebb833eb | 76 | |
| rzalog | 0:7a97ebb833eb | 77 | return val; |
| rzalog | 0:7a97ebb833eb | 78 | } |
| rzalog | 0:7a97ebb833eb | 79 | |
| rzalog | 0:7a97ebb833eb | 80 | void test_ir() { |
| rzalog | 0:7a97ebb833eb | 81 | |
| rzalog | 0:7a97ebb833eb | 82 | pc.printf("Testing IRs.\n"); |
| rzalog | 0:7a97ebb833eb | 83 | |
| rzalog | 0:7a97ebb833eb | 84 | systick.start(); |
| rzalog | 0:7a97ebb833eb | 85 | |
| rzalog | 0:7a97ebb833eb | 86 | while(1) { |
| rzalog | 0:7a97ebb833eb | 87 | //ir.update(); |
| rzalog | 0:7a97ebb833eb | 88 | pc.printf("millis: %d\t", millis); |
| rzalog | 0:7a97ebb833eb | 89 | ir.printValues(); |
| rzalog | 0:7a97ebb833eb | 90 | |
| rzalog | 0:7a97ebb833eb | 91 | wait(0.3); |
| rzalog | 0:7a97ebb833eb | 92 | } |
| rzalog | 0:7a97ebb833eb | 93 | } |