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.
Fork of HelloWorld - QW Development kit by
Revision 0:49858c4c3500, committed 2015-10-30
- Comitter:
- quicksand
- Date:
- Fri Oct 30 14:10:26 2015 +0000
- Child:
- 1:18afd4c75c6e
- Commit message:
- First version of a simple code-example using the QW GPS Shield
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 |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Fri Oct 30 14:10:26 2015 +0000
@@ -0,0 +1,84 @@
+#include "mbed.h"
+
+DigitalOut LED_0 (PB_6);
+DigitalOut LED_1 (PA_7);
+DigitalOut LED_2 (PA_6);
+DigitalOut LED_3 (PA_5);
+InterruptIn SW1(PB_10);
+InterruptIn SW2(PA_8);
+
+Ticker hartbeat;
+
+typedef struct{
+ bool busy;
+ char button;
+} TX_BUTTON;
+
+TX_BUTTON Button_tx;
+
+void beat() {
+ LED_0 = !LED_0;
+}
+
+//Virtual serial port over USB
+Serial pc(USBTX, USBRX);
+Serial modem(PA_9, PA_10);
+
+void sw1interrupt(){
+ pc.printf("Button 1 pressed, sending sigfox message (command is AT$SF=42 55 54 54 4f 4e 20 31 00 00 00 00,2,0)\n");
+ modem.printf("AT$SF=42 55 54 54 4f 4e 20 31 00 00 00 00,2,0\n");
+ LED_1 = 0;
+ wait(0.25);
+ // Flush the echo of the command:
+ while(modem.readable()) modem.getc();
+ Button_tx.busy = true;
+ Button_tx.button = 1;
+}
+
+void sw2interrupt(){
+ pc.printf("Button 2 pressed, sending sigfox message (command is AT$SF=42 55 54 54 4f 4e 20 32 00 00 00 00,2,0)\n");
+ modem.printf("AT$SF=42 55 54 54 4f 4e 20 32 00 00 00 00,2,0\n");
+ LED_2 = 0;
+ wait(0.25);
+ // Flush the echo of the command:
+ while(modem.readable()) modem.getc();
+ Button_tx.busy = true;
+ Button_tx.button = 2;
+}
+
+int main() {
+
+ LED_0 = 1;
+ LED_1 = 1;
+ LED_2 = 1;
+ LED_3 = 1;
+ hartbeat.attach(&beat, 0.5);
+ Button_tx.busy = false;
+ Button_tx.button = 0;
+ SW2.fall(&sw1interrupt);
+ SW1.fall(&sw2interrupt);
+ char responsebuffer[2];
+ char c;
+ while(1) {
+ if(pc.readable()) {
+ modem.putc(pc.getc());
+ }
+
+ if(modem.readable()) {
+ c = modem.getc();
+ responsebuffer[0] = responsebuffer[1];
+ responsebuffer[1] = c;
+ if(Button_tx.busy)
+ {
+ if(responsebuffer[0] == 'O' && responsebuffer[1] == 'K' )
+ {
+ // Everything went fine, turn off the LED
+ Button_tx.busy = false;
+ if(Button_tx.button == 1) LED_1 = 1;
+ if(Button_tx.button == 2) LED_2 = 1;
+ }
+ }
+ pc.putc(c);
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Oct 30 14:10:26 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/9296ab0bfc11 \ No newline at end of file
