Hello world for bm1383glv on mbed classic. Sets up treshold interrupts and makes measurements. Depends on rohm-sensor-hal and rohm-bm1383-glv.
Dependencies: mbed rohm-bm1383-glv rohm-sensor-hal
Hello world for mbed classic + Rohm BM1383 glv barometer sensor.
Diff: main_classic.cpp
- Revision:
- 1:6f7979f79aa4
- Parent:
- 0:9fb407c1232e
--- a/main_classic.cpp Tue Apr 12 12:56:38 2016 +0000
+++ b/main_classic.cpp Tue Apr 12 13:13:41 2016 +0000
@@ -40,7 +40,7 @@
}
-void use_treshold_interrupts_to_find_treshold_matching_current_pressure(){
+void bm1383_init_and_setup(){
pc.printf("\nBM1383 library test program.\n\r");
I2CCommonBegin();
@@ -56,36 +56,35 @@
//bm1383_disable_interrupt_pullup(); //Pullup doesn't work on Japan-shield? Int line stays low(triggered).
bm1383_enable_treshold_interrupts();
bm1383_clear_interrupt();
-
- while(1) {
- float pressure;
- static uint16_t treshold = 1000;
-
- pc.printf("\nStart meas. - ");
-
- bm1383_set_high_treshold(treshold);
- pc.printf("Treshold: %d \n\r", treshold);
-
- bm1383_start_measurement_oneshot();
+}
- wait(0.5);
- //waitActiveLowInterrupt(INTPIN);
- printTreshodRegStatus();
-
- pressure = bm1383_read_pressure();
- pc.printf("Pressure: %f\n\r", pressure);
-
- pc.printf("Clear int command\n\r");
- bm1383_clear_interrupt();
- //waitActiveLowInterruptClear(INTPIN);
-
- treshold = treshold + 1000;
-
- }
+void bm1383_read_previous_measurement_and_start_new_one(){
+ float pressure;
+ static uint16_t treshold = 0;
+
+ //waitActiveLowInterrupt(INTPIN);
+
+ pressure = bm1383_read_pressure();
+ pc.printf("Pressure: %f\n\r", pressure);
+
+ printTreshodRegStatus();
+ pc.printf("Clear int command\n\r");
+ pc.printf("\r\n");
+ bm1383_clear_interrupt();
+ //waitActiveLowInterruptClear(INTPIN);
+
+ treshold = treshold + 1000;
+ pc.printf("Treshold: %d \n\r", treshold);
+ pc.printf("Start meas. - ");
+ bm1383_set_high_treshold(treshold);
+ bm1383_start_measurement_oneshot();
}
int main() {
- use_treshold_interrupts_to_find_treshold_matching_current_pressure();
+ while(1){
+ bm1383_read_previous_measurement_and_start_new_one();
+ wait(0.5);
+ }
}