LPC5410x_Wearable_Functiona.../src/main.c

77 lines
1.8 KiB
C

#include "board.h"
#include "clock_config.h"
#include "peripherals.h"
#include "pin_mux.h"
/* Debug console */
#include "fsl_debug_console.h"
/* PPG */
#include "pixart_pah8001ei.h"
/* Sensors */
#include "imsensors/dht/dht_bme280.h"
pah_ret_t pah8001_impl_init(void *pdev);
pah_ret_t pah8001_impl_write(void *pdev, uint8_t reg, uint8_t *value, uint16_t len);
pah_ret_t pah8001_impl_read(void *pdev, uint8_t reg, uint8_t *value, uint16_t len);
ims_ret_t sensors_impl_i2c_xfer(void *pdev, uint16_t addr, ims_i2c_xfer_desc_t *xfer);
ims_ret_t sensors_impl_delay(void *pdev, uint32_t msec);
pah_t s_pah = {
.ops =
{
.init = pah8001_impl_init,
.write = pah8001_impl_write,
.read = pah8001_impl_read,
},
.pdev = NULL,
};
ims_bme280_t s_bme = {
.user_data = NULL,
.i2c_addr = 0x77,
.cb =
{
.i2c_xfer = sensors_impl_i2c_xfer,
.delay = sensors_impl_delay,
},
};
ims_bme280_t s_bmp = {
.user_data = NULL,
.i2c_addr = 0x76,
.cb = {
.i2c_xfer = sensors_impl_i2c_xfer,
.delay = sensors_impl_delay,
},
};
int main(void) {
BOARD_InitBootPins();
BOARD_BootClockRUN();
BOARD_InitBootPeripherals();
BOARD_InitDebugConsole();
PRINTF("Hello world!!\r\n");
pah8001_init(&s_pah);
ims_bme280_init(&s_bme);
ims_bme280_init(&s_bmp);
ims_bme280_config_t dht_cfg;
ims_bme280_preset_config(&dht_cfg, IMS_BME280_PRESET_WEATHER);
ims_bme280_apply_config(&s_bme, &dht_cfg);
ims_bme280_apply_config(&s_bmp, &dht_cfg);
ims_bme280_result_float_t r_bme_float;
ims_bme280_result_float_t r_bmp_float;
for (;;) {
ims_bme280_measure_float(&s_bme, &r_bme_float);
ims_bme280_measure_float(&s_bmp, &r_bmp_float);
}
}