#include <zephyr.h>
#include <device.h>
#include <drivers/gpio.h>
#include <drivers/sensor.h>
#define LED_PIN 13
#define PRESSURE_THRESHOLD 1000 // in kPa
void main(void)
{
const struct device *led_dev = device_get_binding("GPIO_0");
if (led_dev == NULL) {
printk("Failed to bind to LED GPIO device\n");
return;
}
gpio_pin_configure(led_dev, LED_PIN, GPIO_OUTPUT);
const struct device *bmp280 = device_get_binding(DT_LABEL(DT_INST(0, bosch_bmp280)));
struct sensor_value pressure;
while (1) {
sensor_sample_fetch(bmp280);
sensor_channel_get(bmp280, SENSOR_CHAN_PRESS, &pressure);
if (pressure.val1 > PRESSURE_THRESHOLD) {
gpio_pin_set(led_dev, LED_PIN, 1); // Turn on LED
} else {
gpio_pin_set(led_dev, LED_PIN, 0); // Turn off LED
}
k_sleep(K_SECONDS(1));
}
}
#include <zephyr.h>
#include <device.h>
#include <drivers/gpio.h>
#include <drivers/sensor.h>
#define LED_PIN 13
#define PRESSURE_THRESHOLD 1000 // in kPa
void main(void)
{
const struct device *led_dev = device_get_binding("GPIO_0");
if (led_dev == NULL) {
printk("Failed to bind to LED GPIO device\n");
return;
}
gpio_pin_configure(led_dev, LED_PIN, GPIO_OUTPUT);
const struct device *bmp280 = device_get_binding(DT_LABEL(DT_INST(0, bosch_bmp280)));
struct sensor_value pressure;
while (1) {
sensor_sample_fetch(bmp280);
sensor_channel_get(bmp280, SENSOR_CHAN_PRESS, &pressure);
if (pressure.val1 > PRESSURE_THRESHOLD) {
gpio_pin_set(led_dev, LED_PIN, 1); // Turn on LED
} else {
gpio_pin_set(led_dev, LED_PIN, 0); // Turn off LED
}
k_sleep(K_SECONDS(1));
}
}