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: mbed mbed-rtos 4DGL-uLCD-SE SDFileSystem ATParser
Revision 4:0a11aa484a67, committed 2020-04-24
- Comitter:
- bleverett3
- Date:
- Fri Apr 24 21:06:06 2020 +0000
- Parent:
- 3:2a4bee05d0c1
- Child:
- 5:53a86492622d
- Commit message:
- Ben with semaphore test 1
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Fri Apr 24 20:46:56 2020 +0000
+++ b/main.cpp Fri Apr 24 21:06:06 2020 +0000
@@ -19,6 +19,8 @@
DigitalOut redLED(p26);
uLCD_4DGL uLCD(p28,p27,p30);
SDFileSystem sd(p5, p6, p7, p8, "sd");
+
+Semaphore sem(0);
//Speaker mySpeaker(p21);
//AT command data handlers
@@ -30,6 +32,7 @@
ATParser at(ble, delimiter, buffer_size, timeout, debug);
char buffer[10];
volatile int risk_level = 0;
+int temp_risk = -1;
//RTOS Mutex Lock
Mutex mutex_lock;
@@ -55,7 +58,7 @@
mutex_lock.lock();
at.send("AT+BLEGETRSSI") && at.read(buffer, 10);
if(buffer[0] == '-') {
- datalogged = 1;
+ //datalogged = 1;
pc.printf("RSSI: ");
pc.putc(buffer[1]);
pc.putc(buffer[2]);
@@ -71,13 +74,17 @@
averageCount = 0;
int average = calculate_average(RSSI_array, 15);
if(average < 55) {
- risk_level = 3;
+ temp_risk = 3;
} else if(average > 55 && average < 70) {
- risk_level = 2;
+ temp_risk = 2;
} else if(average > 70 && average < 90) {
- risk_level = 1;
+ temp_risk = 1;
} else {
- risk_level = 0;
+ temp_risk = 0;
+ }
+ if(risk_level != temp_risk) {
+ sem.release();
+ risk_level = temp_risk;
}
}
pc.printf("Risk level: ");
@@ -138,6 +145,7 @@
uLCD.color(WHITE);
mutex_lock.unlock();
while(1){
+ sem.wait();
mutex_lock.lock();
if(risk_level <= 1 && datalogged){
uLCD.cls();