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 Motor PowerControl
Revision 1:b07198832d0d, committed 2018-12-13
- Comitter:
- fyousuf3
- Date:
- Thu Dec 13 20:44:04 2018 +0000
- Parent:
- 0:500360bf256b
- Commit message:
- Something to play with
Changed in this revision
--- a/SDFileSystem.lib Mon Mar 14 20:22:02 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://developer.mbed.org/users/mbed_official/code/SDFileSystem/#7b35d1709458
--- a/main.cpp Mon Mar 14 20:22:02 2016 +0000
+++ b/main.cpp Thu Dec 13 20:44:04 2018 +0000
@@ -1,18 +1,13 @@
#include "mbed.h"
#include "Motor.h"
#include "rtos.h"
-#include "wave_player.h"
-#include "SDFileSystem.h"
+
#include "PowerControl/PowerControl.h"
#include "PowerControl/EthernetPowerControl.h"
Serial blue(p13,p14);
Motor m1(p25, p26, p27); // pwm, fwd, rev
Motor m2(p24, p30, p29); // pwm, fwd, rev
-AnalogOut DACout(p18);
-wave_player waver(&DACout);
-AnalogIn distance(p20);
-SDFileSystem sd(p5, p6, p7, p8, "sd");
DigitalOut myled1(LED1);
DigitalOut myled2(LED2);
DigitalOut myled3(LED3);
@@ -24,18 +19,11 @@
int warningCounter = 0;
int clearCounter = 0;
-int warning_flag = 0;
-#define USR_POWERDOWN (0x104)
-int semihost_powerdown()
+int main()
{
- uint32_t arg;
- return __semihost(USR_POWERDOWN, &arg);
-}
-
-void bluetooth_thread(void const *args)
-{
+ // you can set the speeds within the case statements or you can write it using functions.
while(1) {
char bnum=0;
char bhit=0;
@@ -75,50 +63,39 @@
break;
case '5': //button 5 up arrow
if (bhit=='1') {
- if (warning_flag != 1){
- m1.speed(0.5);
- m2.speed(0.55);
- } else {
- m1.speed(0.0);
- m2.speed(0.0);
- }
-
+ m1.speed(0.1);
+ myled1 = 1;
+
} else {
m1.speed(0.0);
- m2.speed(0.0);
+ myled1 = 0;
//add release code here
}
break;
case '6': //button 6 down arrow
if (bhit=='1') {
//add hit code here
- m1.speed(-0.5);
- m2.speed(-0.54);
+
} else {
- m1.speed(0.0);
- m2.speed(0.0);
+
//add release code here
}
break;
case '7': //button 7 left arrow
if (bhit=='1') {
- m1.speed(0.5);
- m2.speed(-0.54);
+
//add hit code here
} else {
- m1.speed(0.0);
- m2.speed(0.0);
+
//add release code here
}
break;
case '8': //button 8 right arrow
if (bhit=='1') {
//add hit code here
- m1.speed(-0.5);
- m2.speed(0.5);
+
} else {
- m1.speed(0.0);
- m2.speed(0.0);
+
//add release code here
}
break;
@@ -128,114 +105,9 @@
}
}
}
- Thread::wait(200);
}
-}
-
-
-
-
-
-void audio_thread(void const *args)
-{
-
-
- while(1) {
-
-
-// if (distance > 0.8f && warningFlag == 0) {
-// warningCounter += 1;
-// } else if (warningFlag == 1 && distance < 0.8f) {
-// clearCounter +=1;
-// }
-//
-// if (warningCounter >= 3) {
-// warningFlag = 1;
-// warningCounter = 0;
-// } else if (clearCounter >= 3) {
-// clearCounter = 0;
-// warningFlag = 0;
-// }
-//
- if (warning_flag == 1) {
- myled2 = 1;
- FILE *wave_file;
-
- wave_file=fopen("/sd/Warning_Beep.wav","r");
- wait(0.001);
-
- if (wave_file == NULL) {
- myled1 = 1;
- } else {
- myled1 = 0;
- waver.play(wave_file);
- fclose(wave_file);
- }
- } else {
- myled2 = 0;
- }
- Thread::wait(10);
-
- }
+
-}
-
-
-int main()
-{
-
-
- PHY_PowerDown();
- int result = semihost_powerdown();
- Thread thread1(bluetooth_thread);
- Thread thread2(audio_thread);
-
- //thread2.set_priority(osPriorityRealtime);
- //thread1.set_priority(osPriorityNormal);
-
-
- past_values[0] = 0;
- past_values[1] = 0;
- past_values[2] = 0;
-
- warning_flag = 0;
-
- while(1) {
- past_values[past_index] = distance;
- past_index = (past_index + 1) % 3;
-
- //Running average
- float running_sum = 0.0;
- for (int i = 0; i < 3; i++){
- running_sum+=past_values[i];
- }
- float average = running_sum/3.0;
-
- //Hysteresis
- if (average >= 0.6f && warning_flag == 0){
- warning_flag = 1;
- //myled2 = 1;
-
- } else if (average <= 0.4f && warning_flag == 1){
- warning_flag = 0;
- //myled2 = 0;
- }
-
-// //Set the warning state
-// if (warning_flag == 1){
-// myled2 = 1;
-// } else {
-// myled2 = 0;
-// }
-
- if (distance > 0.6f && average > 0.6f){
- myled4 = 1;
- } else {
- myled4 = 0;
- }
-
- Thread::wait(10);
- }
}
--- a/wave_player.lib Mon Mar 14 20:22:02 2016 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://mbed.org/users/sravet/code/wave_player/#acc3e18e77ad