#include <zephyr.h>
#include <device.h>
#include <drivers/i2c.h>
#include <drivers/sensor.h>
#include <display/cfb.h>
#define OLED_I2C_DEV "I2C_0"
void main(void)
{
const struct device *oled_dev = device_get_binding(OLED_I2C_DEV);
struct sensor_value pressure;
if (oled_dev == NULL) {
printk("Failed to bind to OLED I2C device\n");
return;
}
const struct device *bmp280 = device_get_binding(DT_LABEL(DT_INST(0, bosch_bmp280)));
while (1) {
sensor_sample_fetch(bmp280);
sensor_channel_get(bmp280, SENSOR_CHAN_PRESS, &pressure);
char buffer[20];
snprintf(buffer, sizeof(buffer), "Pressure: %d kPa", pressure.val1);
cfb_print(oled_dev, buffer, 0, 0);
cfb_framebuffer_finalize(oled_dev);
k_sleep(K_SECONDS(2));
}
}
#include <zephyr.h>
#include <device.h>
#include <drivers/i2c.h>
#include <drivers/sensor.h>
#include <display/cfb.h>
#define OLED_I2C_DEV "I2C_0"
void main(void)
{
const struct device *oled_dev = device_get_binding(OLED_I2C_DEV);
struct sensor_value pressure;
if (oled_dev == NULL) {
printk("Failed to bind to OLED I2C device\n");
return;
}
const struct device *bmp280 = device_get_binding(DT_LABEL(DT_INST(0, bosch_bmp280)));
while (1) {
sensor_sample_fetch(bmp280);
sensor_channel_get(bmp280, SENSOR_CHAN_PRESS, &pressure);
char buffer[20];
snprintf(buffer, sizeof(buffer), "Pressure: %d kPa", pressure.val1);
cfb_print(oled_dev, buffer, 0, 0);
cfb_framebuffer_finalize(oled_dev);
k_sleep(K_SECONDS(2));
}
}