b-parasite-esp32/code/nrf-connect/samples/ble/src/main.c
2023-07-23 18:30:23 +02:00

42 lines
1 KiB
C

#include <prstlib/adc.h>
#include <prstlib/button.h>
#include <prstlib/led.h>
#include <prstlib/macros.h>
#include <prstlib/sensors.h>
#include <prstlib/shtc3.h>
#include <zephyr/kernel.h>
#include <zephyr/logging/log.h>
#include <zephyr/pm/device.h>
#include <zephyr/pm/pm.h>
#include <zephyr/pm/policy.h>
#include "ble.h"
LOG_MODULE_REGISTER(main, LOG_LEVEL_DBG);
static int prst_init() {
RET_IF_ERR(prst_adc_init());
RET_IF_ERR(prst_led_init());
RET_IF_ERR(prst_button_init());
RET_IF_ERR(prst_ble_init());
return 0;
}
static int prst_loop(prst_sensors_t *sensors) {
RET_IF_ERR(prst_sensors_read_all(sensors));
RET_IF_ERR(prst_ble_adv_set_data(sensors));
RET_IF_ERR(prst_ble_adv_start());
k_sleep(K_SECONDS(CONFIG_PRST_BLE_ADV_DURATION_SEC));
RET_IF_ERR(prst_ble_adv_stop());
return 0;
}
int main(void) {
__ASSERT(!prst_init(), "Error in prst_init()");
prst_led_flash(2);
prst_sensors_t sensors;
while (true) {
__ASSERT(!prst_loop(&sensors), "Error in prst_loop()");
k_sleep(K_SECONDS(CONFIG_PRST_SLEEP_DURATION_SEC));
}
}