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 0:bf289fbff1dd, committed 2018-10-09
- Comitter:
- abraha2d
- Date:
- Tue Oct 09 00:34:03 2018 +0000
- Commit message:
- Save point
Changed in this revision
diff -r 000000000000 -r bf289fbff1dd PinDetect.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PinDetect.lib Tue Oct 09 00:34:03 2018 +0000 @@ -0,0 +1,1 @@ +http://os.mbed.com/users/AjK/code/PinDetect/#cb3afc45028b
diff -r 000000000000 -r bf289fbff1dd main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Tue Oct 09 00:34:03 2018 +0000
@@ -0,0 +1,73 @@
+#include "mbed.h"
+
+BusOut mbedleds(LED1,LED2,LED3,LED4);
+//BusOut/In is faster than multiple DigitalOut/Ins
+
+class Nav_Switch
+{
+public:
+ Nav_Switch(PinName up,PinName down,PinName left,PinName right,PinName fire);
+ int read();
+//boolean functions to test each switch
+ bool up();
+ bool down();
+ bool left();
+ bool right();
+ bool fire();
+//automatic read on RHS
+ operator int ();
+//index to any switch array style
+ bool operator[](int index) {
+ return _pins[index];
+ };
+private:
+ BusIn _pins;
+
+};
+Nav_Switch::Nav_Switch (PinName up,PinName down,PinName left,PinName right,PinName fire):
+ _pins(up, down, left, right, fire)
+{
+ _pins.mode(PullUp); //needed if pullups not on board or a bare nav switch is used - delete otherwise
+ wait(0.001); //delays just a bit for pullups to pull inputs high
+}
+inline bool Nav_Switch::up()
+{
+ return !(_pins[0]);
+}
+inline bool Nav_Switch::down()
+{
+ return !(_pins[1]);
+}
+inline bool Nav_Switch::left()
+{
+ return !(_pins[2]);
+}
+inline bool Nav_Switch::right()
+{
+ return !(_pins[3]);
+}
+inline bool Nav_Switch::fire()
+{
+ return !(_pins[4]);
+}
+inline int Nav_Switch::read()
+{
+ return _pins.read();
+}
+inline Nav_Switch::operator int ()
+{
+ return _pins.read();
+}
+
+Nav_Switch myNav( p9, p6, p7, p5, p8); //pin order on Sparkfun breakout
+
+int main()
+{
+ while(1) {
+ //with pullups a button hit is a "0" - "~" inverts data to leds
+ mbedleds = ~(myNav & 0x0F); //update leds with nav switch direction inputs
+ if(myNav.fire()) mbedleds = 0x0F; //special all leds on case for fire (center button)
+ //or use - if(myNav[4]==0) mbedleds = 0x0F; //can index a switch bit like this
+ wait(0.02);
+ }
+}
diff -r 000000000000 -r bf289fbff1dd mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Oct 09 00:34:03 2018 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/e95d10626187 \ No newline at end of file