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.
Revision 4:b6e9d473ce0e, committed 2020-01-24
- Comitter:
- eencae
- Date:
- Fri Jan 24 15:16:38 2020 +0000
- Parent:
- 3:818317dbe8a5
- Commit message:
- Gamepad2
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
| mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Wed Dec 20 13:06:03 2017 +0000
+++ b/main.cpp Fri Jan 24 15:16:38 2020 +0000
@@ -1,5 +1,4 @@
/*
-
2645_FSM_Puffin
Sample code from ELEC2645
@@ -7,26 +6,22 @@
Demonstrates how to implement a puffin crossing using a FSM
(c) Craig A. Evans, University of Leeds, Jan 2016
-
+Updated Janaury 2020 for Gamepad2
*/
#include "mbed.h"
-
// K64F on-board LEDs
-DigitalOut r_led(LED_RED);
-DigitalOut g_led(LED_GREEN);
-DigitalOut b_led(LED_BLUE);
+BusOut k64f_leds(LED_RED, LED_GREEN, LED_BLUE);
// LEDs to display traffic light output
-// May need to change pins depending on which order you soldered the LEDs
// LSB MSB
// car - green,amber, red pedestrian - green, red
-BusOut output(PTC2,PTA2,PTA1,PTD3,PTC3); // LED order suggested in notes
+BusOut output(PTC3,PTC2,PTA2,PTC11,PTA1);
// BusIn to read inputs simutaneously
// camera (button A) , pedestrian button (button B)
// LSB, MSB
-BusIn input(PTB9,PTD0);
+BusIn input(PTC7,PTC9);
// struct for state
struct State {
@@ -36,21 +31,18 @@
};
State fsm[4] = {
- {0x13,5.0,{...,...,...,...}}, // 0 - cars stop, pedestrian walk 5 seconds
- {...,2.0,{2,2,2,2}}, // 1 - cars get ready to go, pedestrian stop 2 seconds
- {...,10.0,{...,...,...,...}}, // 2 - cars go, pedestrian stop 10 seconds
- {...,2.0,{0,0,0,0}} // 3 - cars get ready to stop, pedestrian stop 2 seconds
+ {0x..,5.0,{..,..,..,..}}, // 0 - cars stop, pedestrian walk 5 seconds
+ {0x..,2.0,{..,..,..,..}}, // 1 - cars get ready to go, pedestrian stop 2 seconds
+ {0x..,10.0,{..,..,..,..}}, // 2 - cars go, pedestrian stop 10 seconds
+ {0x..,2.0,{..,..,..,..}} // 3 - cars get ready to stop, pedestrian stop 2 seconds
};
int main()
{
- // on-board LEDs are active-low, so set pin high to turn them off.
- r_led = 1;
- g_led = 1;
- b_led = 1;
+ k64f_leds = 0b111; // turn off K64F LEDs
- // turn on internal pull-downs for buttons A and B
- input.mode(PullDown);
+ // turn on internal pull-up for buttons A and B
+ input.mode(PullUp);
int state = 2; // start with cars green
--- a/mbed.bld Wed Dec 20 13:06:03 2017 +0000 +++ b/mbed.bld Fri Jan 24 15:16:38 2020 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/mbed/builds/e7ca05fa8600 \ No newline at end of file +https://os.mbed.com/users/mbed_official/code/mbed/builds/3a7713b1edbc \ No newline at end of file