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 MMA8452Q MS5837 SDFileSystem SCI_SENSOR
Diff: main.cpp
- Revision:
- 12:54b498af39df
- Parent:
- 11:fc58334fd36b
- Parent:
- 10:b2fe6d1dee81
- Child:
- 13:c886dcc0ea41
--- a/main.cpp Thu Dec 02 14:31:52 2021 +0000
+++ b/main.cpp Thu Dec 02 14:34:09 2021 +0000
@@ -43,10 +43,18 @@
//functions
void welcome();
void log_data();
+
//IMU related
void accel_update(); //update accelerometer related variables. we use imu_ticker to call this function
+
+//Control Parameters
+float tim =5; //define thruster on time
+float percent = 1.2; //user defined percent of thrust power
+
//Control related functions
void thrust_on(float pw, float on_time); //input is pulse width
+//void thrust_off(float pw, float on_time); // turn off pulse width
+
//global variables
@@ -58,17 +66,20 @@
//inital set the thruster esc to 1ms duty cycle
thruster.period(0.002); // 2 ms period
thruster.pulsewidth(1.0/1000.000);
+
//Initialize accelerometer:
accel.init();
led1=1;
+
//initialize pressure sensor
pc.printf("setting the pressure sensor\r\n");
p_sensor.MS5837Reset();
p_sensor.MS5837Init();
- pc.printf("settting the tickers\r\n");
+ pc.printf("setting the tickers\r\n");
t.start();
led2=1;
welcome();
+
//-----setup ticker-------//
//setup ticker to separate log and IMU data update.
//so we could have all our control code in the while loop
@@ -76,9 +87,13 @@
accel_ticker.attach(&accel_update,0.1); //10Hz
log_ticker.attach(&log_data,0.5);
wait(1);
+
while(1)
{
- // put your main control code here
+ float pw= percent;
+ float on_time =tim;
+ thrust_on(pw, on_time); //turn thruster on for 5 seconds
+ return 0;
}
}
@@ -165,6 +180,7 @@
//// on_time-> thruster on time.
void thrust_on(float pw, float on_time) //input is pulse width
{
+
float pw_max=2.0;
if(pw>pw_max)
{
@@ -180,6 +196,8 @@
//PWM will be kept until time out
while(tt.read()<=on_time)
{
+
+ pc.printf("thruster on?...mack is cool\r\n"); //print check
}
//stop the timer
tt.stop();
@@ -189,3 +207,5 @@
}
+///void thrust_off(float pw, float on_time) //input is pulse width
+//
\ No newline at end of file
