From 5ceccfafcc7aec203c7265407a671c8806b6ea00 Mon Sep 17 00:00:00 2001 From: rbaron Date: Sun, 27 Nov 2022 18:37:42 +0100 Subject: [PATCH] Extracts prstlib Moves ble sample to code/nrf-connect/samples --- code/nrf-connect/.gitignore | 2 - code/nrf-connect/CMakeLists.txt | 17 ------- code/nrf-connect/prstlib/CMakeLists.txt | 14 ++++++ .../prst => prstlib/include/prstlib}/adc.h | 0 .../prst => prstlib/include/prstlib}/button.h | 0 .../prst => prstlib/include/prstlib}/led.h | 2 +- .../prst => prstlib/include/prstlib}/macros.h | 0 .../include/prstlib/sensors.h} | 6 ++- .../prst => prstlib/include/prstlib}/shtc3.h | 0 .../{src/prst => prstlib/src}/adc.c | 4 +- .../{src/prst => prstlib/src}/button.c | 6 +-- .../{src/prst => prstlib/src}/led.c | 4 +- code/nrf-connect/prstlib/src/sensors.c | 27 ++++++++++ .../{src/prst => prstlib/src}/shtc3.c | 4 +- code/nrf-connect/samples/ble/.gitignore | 3 ++ code/nrf-connect/samples/ble/CMakeLists.txt | 17 +++++++ code/nrf-connect/{ => samples/ble}/Kconfig | 0 .../boards/arm/bparasite_nrf52840/Kconfig | 0 .../arm/bparasite_nrf52840/Kconfig.board | 0 .../arm/bparasite_nrf52840/Kconfig.defconfig | 0 .../boards/arm/bparasite_nrf52840/board.cmake | 0 .../bparasite_nrf52840-pinctrl.dtsi | 0 .../bparasite_nrf52840/bparasite_nrf52840.dts | 0 .../bparasite_nrf52840_defconfig | 0 .../arm/bparasite_nrf52840/pre_dt_board.cmake | 0 .../ble}/dts/bindings/pwm-fixed.yaml | 0 .../ble}/nrf52840dk_nrf52840.overlay | 0 code/nrf-connect/{ => samples/ble}/prj.conf | 4 +- .../{src/prst/ble => samples/ble/src}/ble.c | 4 +- .../{src/prst/ble => samples/ble/src}/ble.h | 2 +- .../prst/ble => samples/ble/src}/encoding.c | 5 +- .../prst/ble => samples/ble/src}/encoding.h | 3 +- code/nrf-connect/samples/ble/src/main.c | 38 ++++++++++++++ code/nrf-connect/src/main.c | 50 ------------------- 34 files changed, 122 insertions(+), 90 deletions(-) delete mode 100644 code/nrf-connect/.gitignore delete mode 100644 code/nrf-connect/CMakeLists.txt create mode 100644 code/nrf-connect/prstlib/CMakeLists.txt rename code/nrf-connect/{src/prst => prstlib/include/prstlib}/adc.h (100%) rename code/nrf-connect/{src/prst => prstlib/include/prstlib}/button.h (100%) rename code/nrf-connect/{src/prst => prstlib/include/prstlib}/led.h (96%) rename code/nrf-connect/{src/prst => prstlib/include/prstlib}/macros.h (100%) rename code/nrf-connect/{src/prst/data.h => prstlib/include/prstlib/sensors.h} (68%) rename code/nrf-connect/{src/prst => prstlib/include/prstlib}/shtc3.h (100%) rename code/nrf-connect/{src/prst => prstlib/src}/adc.c (98%) rename code/nrf-connect/{src/prst => prstlib/src}/button.c (90%) rename code/nrf-connect/{src/prst => prstlib/src}/led.c (83%) create mode 100644 code/nrf-connect/prstlib/src/sensors.c rename code/nrf-connect/{src/prst => prstlib/src}/shtc3.c (96%) create mode 100644 code/nrf-connect/samples/ble/.gitignore create mode 100644 code/nrf-connect/samples/ble/CMakeLists.txt rename code/nrf-connect/{ => samples/ble}/Kconfig (100%) rename code/nrf-connect/{ => samples/ble}/boards/arm/bparasite_nrf52840/Kconfig (100%) rename code/nrf-connect/{ => samples/ble}/boards/arm/bparasite_nrf52840/Kconfig.board (100%) rename code/nrf-connect/{ => samples/ble}/boards/arm/bparasite_nrf52840/Kconfig.defconfig (100%) rename code/nrf-connect/{ => samples/ble}/boards/arm/bparasite_nrf52840/board.cmake (100%) rename code/nrf-connect/{ => samples/ble}/boards/arm/bparasite_nrf52840/bparasite_nrf52840-pinctrl.dtsi (100%) rename code/nrf-connect/{ => samples/ble}/boards/arm/bparasite_nrf52840/bparasite_nrf52840.dts (100%) rename code/nrf-connect/{ => samples/ble}/boards/arm/bparasite_nrf52840/bparasite_nrf52840_defconfig (100%) rename code/nrf-connect/{ => samples/ble}/boards/arm/bparasite_nrf52840/pre_dt_board.cmake (100%) rename code/nrf-connect/{ => samples/ble}/dts/bindings/pwm-fixed.yaml (100%) rename code/nrf-connect/{ => samples/ble}/nrf52840dk_nrf52840.overlay (100%) rename code/nrf-connect/{ => samples/ble}/prj.conf (90%) rename code/nrf-connect/{src/prst/ble => samples/ble/src}/ble.c (96%) rename code/nrf-connect/{src/prst/ble => samples/ble/src}/ble.h (87%) rename code/nrf-connect/{src/prst/ble => samples/ble/src}/encoding.c (96%) rename code/nrf-connect/{src/prst/ble => samples/ble/src}/encoding.h (91%) create mode 100644 code/nrf-connect/samples/ble/src/main.c delete mode 100644 code/nrf-connect/src/main.c diff --git a/code/nrf-connect/.gitignore b/code/nrf-connect/.gitignore deleted file mode 100644 index 15c2474..0000000 --- a/code/nrf-connect/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -build_* \ No newline at end of file diff --git a/code/nrf-connect/CMakeLists.txt b/code/nrf-connect/CMakeLists.txt deleted file mode 100644 index 7638357..0000000 --- a/code/nrf-connect/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ -cmake_minimum_required(VERSION 3.20.0) - -find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) - -project(b_parasite) - -include_directories(src) - -target_sources(app PRIVATE - src/main.c - src/prst/shtc3.c - src/prst/adc.c - src/prst/led.c - src/prst/button.c - src/prst/ble/ble.c - src/prst/ble/encoding.c -) diff --git a/code/nrf-connect/prstlib/CMakeLists.txt b/code/nrf-connect/prstlib/CMakeLists.txt new file mode 100644 index 0000000..518151a --- /dev/null +++ b/code/nrf-connect/prstlib/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.20.0) + +find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) + +add_library(prstlib STATIC + src/adc.c + src/button.c + src/led.c + src/sensors.c + src/shtc3.c +) + +target_include_directories(prstlib PRIVATE include) +target_link_libraries(prstlib PUBLIC zephyr_interface) \ No newline at end of file diff --git a/code/nrf-connect/src/prst/adc.h b/code/nrf-connect/prstlib/include/prstlib/adc.h similarity index 100% rename from code/nrf-connect/src/prst/adc.h rename to code/nrf-connect/prstlib/include/prstlib/adc.h diff --git a/code/nrf-connect/src/prst/button.h b/code/nrf-connect/prstlib/include/prstlib/button.h similarity index 100% rename from code/nrf-connect/src/prst/button.h rename to code/nrf-connect/prstlib/include/prstlib/button.h diff --git a/code/nrf-connect/src/prst/led.h b/code/nrf-connect/prstlib/include/prstlib/led.h similarity index 96% rename from code/nrf-connect/src/prst/led.h rename to code/nrf-connect/prstlib/include/prstlib/led.h index 11c7301..ec81070 100644 --- a/code/nrf-connect/src/prst/led.h +++ b/code/nrf-connect/prstlib/include/prstlib/led.h @@ -4,7 +4,7 @@ #include #include -#include "macros.h" +#include "prstlib/macros.h" #define PRST_LED_FLASH_PERIOD_MS 400 diff --git a/code/nrf-connect/src/prst/macros.h b/code/nrf-connect/prstlib/include/prstlib/macros.h similarity index 100% rename from code/nrf-connect/src/prst/macros.h rename to code/nrf-connect/prstlib/include/prstlib/macros.h diff --git a/code/nrf-connect/src/prst/data.h b/code/nrf-connect/prstlib/include/prstlib/sensors.h similarity index 68% rename from code/nrf-connect/src/prst/data.h rename to code/nrf-connect/prstlib/include/prstlib/sensors.h index 4874501..23c1c03 100644 --- a/code/nrf-connect/src/prst/data.h +++ b/code/nrf-connect/prstlib/include/prstlib/sensors.h @@ -1,8 +1,8 @@ #ifndef _PRST_DATA_H_ #define _PRST_DATA_H_ -#include "prst/adc.h" -#include "prst/shtc3.h" +#include "prstlib/adc.h" +#include "prstlib/shtc3.h" typedef struct { prst_adc_soil_moisture_t soil; @@ -11,4 +11,6 @@ typedef struct { prst_shtc3_read_t shtc3; } prst_sensors_t; +int prst_sensors_read_all(prst_sensors_t *out); + #endif // _PRST_DATA_H_ diff --git a/code/nrf-connect/src/prst/shtc3.h b/code/nrf-connect/prstlib/include/prstlib/shtc3.h similarity index 100% rename from code/nrf-connect/src/prst/shtc3.h rename to code/nrf-connect/prstlib/include/prstlib/shtc3.h diff --git a/code/nrf-connect/src/prst/adc.c b/code/nrf-connect/prstlib/src/adc.c similarity index 98% rename from code/nrf-connect/src/prst/adc.c rename to code/nrf-connect/prstlib/src/adc.c index 9046798..249831d 100644 --- a/code/nrf-connect/src/prst/adc.c +++ b/code/nrf-connect/prstlib/src/adc.c @@ -1,4 +1,4 @@ -#include "adc.h" +#include "prstlib/adc.h" #include #include @@ -6,7 +6,7 @@ #include #include -#include "macros.h" +#include "prstlib/macros.h" LOG_MODULE_REGISTER(adc, LOG_LEVEL_DBG); diff --git a/code/nrf-connect/src/prst/button.c b/code/nrf-connect/prstlib/src/button.c similarity index 90% rename from code/nrf-connect/src/prst/button.c rename to code/nrf-connect/prstlib/src/button.c index 84c2a05..c6a28f0 100644 --- a/code/nrf-connect/src/prst/button.c +++ b/code/nrf-connect/prstlib/src/button.c @@ -1,10 +1,10 @@ -#include "button.h" +#include "prstlib/button.h" #include #include -#include "led.h" -#include "macros.h" +#include "prstlib/led.h" +#include "prstlib/macros.h" LOG_MODULE_REGISTER(button, LOG_LEVEL_DBG); diff --git a/code/nrf-connect/src/prst/led.c b/code/nrf-connect/prstlib/src/led.c similarity index 83% rename from code/nrf-connect/src/prst/led.c rename to code/nrf-connect/prstlib/src/led.c index 25b428b..cec9acc 100644 --- a/code/nrf-connect/src/prst/led.c +++ b/code/nrf-connect/prstlib/src/led.c @@ -1,8 +1,8 @@ -#include "led.h" +#include "prstlib/led.h" #include -#include "macros.h" +#include "prstlib/macros.h" LOG_MODULE_REGISTER(led, LOG_LEVEL_DBG); diff --git a/code/nrf-connect/prstlib/src/sensors.c b/code/nrf-connect/prstlib/src/sensors.c new file mode 100644 index 0000000..b352f39 --- /dev/null +++ b/code/nrf-connect/prstlib/src/sensors.c @@ -0,0 +1,27 @@ +#include "prstlib/sensors.h" + +#include + +#include "prstlib/adc.h" +#include "prstlib/led.h" +#include "prstlib/macros.h" + +LOG_MODULE_REGISTER(sensors, LOG_LEVEL_DBG); + +int prst_sensors_read_all(prst_sensors_t *sensors) { + RET_IF_ERR(prst_adc_batt_read(&sensors->batt)); + RET_IF_ERR(prst_adc_soil_read(sensors->batt.voltage, &sensors->soil)); + RET_IF_ERR(prst_adc_photo_read(sensors->batt.voltage, &sensors->photo)); + RET_IF_ERR(prst_shtc3_read(&sensors->shtc3)) + + LOG_DBG("Batt: %d mV", sensors->batt.millivolts); + LOG_DBG("Soil: %.0f %% (%.3f mV)", 100 * sensors->soil.percentage, + sensors->soil.adc_read.voltage); + LOG_DBG("Photo: %u lx (%.3f mV)", sensors->photo.brightness, + sensors->soil.adc_read.voltage); + LOG_DBG("Temp: %f oC", sensors->shtc3.temp_c); + LOG_DBG("Humi: %.0f %%", 100.0 * sensors->shtc3.rel_humi); + LOG_DBG("--------------------------------------------------"); + + return 0; +} \ No newline at end of file diff --git a/code/nrf-connect/src/prst/shtc3.c b/code/nrf-connect/prstlib/src/shtc3.c similarity index 96% rename from code/nrf-connect/src/prst/shtc3.c rename to code/nrf-connect/prstlib/src/shtc3.c index 581cf7d..56b8844 100644 --- a/code/nrf-connect/src/prst/shtc3.c +++ b/code/nrf-connect/prstlib/src/shtc3.c @@ -1,10 +1,10 @@ -#include "shtc3.h" +#include "prstlib/shtc3.h" #include #include #include -#include "prst/macros.h" +#include "prstlib/macros.h" LOG_MODULE_REGISTER(shtc3, LOG_LEVEL_INF); diff --git a/code/nrf-connect/samples/ble/.gitignore b/code/nrf-connect/samples/ble/.gitignore new file mode 100644 index 0000000..5299748 --- /dev/null +++ b/code/nrf-connect/samples/ble/.gitignore @@ -0,0 +1,3 @@ +build +build_* +*.code-workspace \ No newline at end of file diff --git a/code/nrf-connect/samples/ble/CMakeLists.txt b/code/nrf-connect/samples/ble/CMakeLists.txt new file mode 100644 index 0000000..bc83d32 --- /dev/null +++ b/code/nrf-connect/samples/ble/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.20.0) + +find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) + +project(ble) + +include_directories(src) + +target_sources(app PRIVATE + src/main.c + src/ble.c + src/encoding.c +) + +add_subdirectory(../../prstlib prstlib) +target_include_directories(app PRIVATE ../../prstlib/include) +target_link_libraries(app PUBLIC prstlib) \ No newline at end of file diff --git a/code/nrf-connect/Kconfig b/code/nrf-connect/samples/ble/Kconfig similarity index 100% rename from code/nrf-connect/Kconfig rename to code/nrf-connect/samples/ble/Kconfig diff --git a/code/nrf-connect/boards/arm/bparasite_nrf52840/Kconfig b/code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/Kconfig similarity index 100% rename from code/nrf-connect/boards/arm/bparasite_nrf52840/Kconfig rename to code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/Kconfig diff --git a/code/nrf-connect/boards/arm/bparasite_nrf52840/Kconfig.board b/code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/Kconfig.board similarity index 100% rename from code/nrf-connect/boards/arm/bparasite_nrf52840/Kconfig.board rename to code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/Kconfig.board diff --git a/code/nrf-connect/boards/arm/bparasite_nrf52840/Kconfig.defconfig b/code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/Kconfig.defconfig similarity index 100% rename from code/nrf-connect/boards/arm/bparasite_nrf52840/Kconfig.defconfig rename to code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/Kconfig.defconfig diff --git a/code/nrf-connect/boards/arm/bparasite_nrf52840/board.cmake b/code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/board.cmake similarity index 100% rename from code/nrf-connect/boards/arm/bparasite_nrf52840/board.cmake rename to code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/board.cmake diff --git a/code/nrf-connect/boards/arm/bparasite_nrf52840/bparasite_nrf52840-pinctrl.dtsi b/code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/bparasite_nrf52840-pinctrl.dtsi similarity index 100% rename from code/nrf-connect/boards/arm/bparasite_nrf52840/bparasite_nrf52840-pinctrl.dtsi rename to code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/bparasite_nrf52840-pinctrl.dtsi diff --git a/code/nrf-connect/boards/arm/bparasite_nrf52840/bparasite_nrf52840.dts b/code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/bparasite_nrf52840.dts similarity index 100% rename from code/nrf-connect/boards/arm/bparasite_nrf52840/bparasite_nrf52840.dts rename to code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/bparasite_nrf52840.dts diff --git a/code/nrf-connect/boards/arm/bparasite_nrf52840/bparasite_nrf52840_defconfig b/code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/bparasite_nrf52840_defconfig similarity index 100% rename from code/nrf-connect/boards/arm/bparasite_nrf52840/bparasite_nrf52840_defconfig rename to code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/bparasite_nrf52840_defconfig diff --git a/code/nrf-connect/boards/arm/bparasite_nrf52840/pre_dt_board.cmake b/code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/pre_dt_board.cmake similarity index 100% rename from code/nrf-connect/boards/arm/bparasite_nrf52840/pre_dt_board.cmake rename to code/nrf-connect/samples/ble/boards/arm/bparasite_nrf52840/pre_dt_board.cmake diff --git a/code/nrf-connect/dts/bindings/pwm-fixed.yaml b/code/nrf-connect/samples/ble/dts/bindings/pwm-fixed.yaml similarity index 100% rename from code/nrf-connect/dts/bindings/pwm-fixed.yaml rename to code/nrf-connect/samples/ble/dts/bindings/pwm-fixed.yaml diff --git a/code/nrf-connect/nrf52840dk_nrf52840.overlay b/code/nrf-connect/samples/ble/nrf52840dk_nrf52840.overlay similarity index 100% rename from code/nrf-connect/nrf52840dk_nrf52840.overlay rename to code/nrf-connect/samples/ble/nrf52840dk_nrf52840.overlay diff --git a/code/nrf-connect/prj.conf b/code/nrf-connect/samples/ble/prj.conf similarity index 90% rename from code/nrf-connect/prj.conf rename to code/nrf-connect/samples/ble/prj.conf index dd84d36..ce61e97 100644 --- a/code/nrf-connect/prj.conf +++ b/code/nrf-connect/samples/ble/prj.conf @@ -1,5 +1,5 @@ # Enabling log has a big impact in power consumption. Only enable it while debugging. -CONFIG_LOG=n +CONFIG_LOG=y CONFIG_PWM=y CONFIG_CBPRINTF_FP_SUPPORT=y CONFIG_I2C=y @@ -24,3 +24,5 @@ CONFIG_CONSOLE=n CONFIG_RTT_CONSOLE=n CONFIG_PINCTRL=y + +CONFIG_PRST_SLEEP_DURATION_SEC=600 \ No newline at end of file diff --git a/code/nrf-connect/src/prst/ble/ble.c b/code/nrf-connect/samples/ble/src/ble.c similarity index 96% rename from code/nrf-connect/src/prst/ble/ble.c rename to code/nrf-connect/samples/ble/src/ble.c index 2709294..2d912d2 100644 --- a/code/nrf-connect/src/prst/ble/ble.c +++ b/code/nrf-connect/samples/ble/src/ble.c @@ -1,11 +1,11 @@ #include "ble.h" #include +#include #include #include -#include "prst/ble/encoding.h" -#include "prst/macros.h" +#include "encoding.h" LOG_MODULE_REGISTER(ble, LOG_LEVEL_DBG); diff --git a/code/nrf-connect/src/prst/ble/ble.h b/code/nrf-connect/samples/ble/src/ble.h similarity index 87% rename from code/nrf-connect/src/prst/ble/ble.h rename to code/nrf-connect/samples/ble/src/ble.h index 6961c06..e684fb5 100644 --- a/code/nrf-connect/src/prst/ble/ble.h +++ b/code/nrf-connect/samples/ble/src/ble.h @@ -1,7 +1,7 @@ #ifndef _PRST_BLE_BLE_H_ #define _PRST_BLE_BLE_H_ -#include "prst/data.h" +#include int prst_ble_init(); int prst_ble_adv_start(); diff --git a/code/nrf-connect/src/prst/ble/encoding.c b/code/nrf-connect/samples/ble/src/encoding.c similarity index 96% rename from code/nrf-connect/src/prst/ble/encoding.c rename to code/nrf-connect/samples/ble/src/encoding.c index d961778..528413f 100644 --- a/code/nrf-connect/src/prst/ble/encoding.c +++ b/code/nrf-connect/samples/ble/src/encoding.c @@ -1,8 +1,7 @@ -#include "prst/ble/encoding.h" +#include "encoding.h" #include - -#include "prst/macros.h" +#include LOG_MODULE_DECLARE(ble, LOG_LEVEL_DBG); diff --git a/code/nrf-connect/src/prst/ble/encoding.h b/code/nrf-connect/samples/ble/src/encoding.h similarity index 91% rename from code/nrf-connect/src/prst/ble/encoding.h rename to code/nrf-connect/samples/ble/src/encoding.h index 3054a09..8b7fba3 100644 --- a/code/nrf-connect/src/prst/ble/encoding.h +++ b/code/nrf-connect/samples/ble/src/encoding.h @@ -1,10 +1,9 @@ #ifndef _PRST_BLE_ENCODING_H_ #define _PRST_BLE_ENCODING_H_ +#include #include -#include "prst/data.h" - int prst_ble_encode_service_data(const prst_sensors_t* sensors, const bt_addr_le_t* bt_addr, uint8_t* out, uint8_t out_len); diff --git a/code/nrf-connect/samples/ble/src/main.c b/code/nrf-connect/samples/ble/src/main.c new file mode 100644 index 0000000..ef2e770 --- /dev/null +++ b/code/nrf-connect/samples/ble/src/main.c @@ -0,0 +1,38 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "ble.h" + +LOG_MODULE_REGISTER(main, LOG_LEVEL_DBG); + +int main(void) { + RET_IF_ERR(prst_adc_init()); + RET_IF_ERR(prst_led_init()); + RET_IF_ERR(prst_button_init()); + RET_IF_ERR(prst_ble_init()); + + RET_IF_ERR(prst_led_flash(2)); + + prst_sensors_t sensors; + while (true) { + 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()); + + k_sleep(K_SECONDS(CONFIG_PRST_SLEEP_DURATION_SEC)); + } +} diff --git a/code/nrf-connect/src/main.c b/code/nrf-connect/src/main.c deleted file mode 100644 index ee7e5e3..0000000 --- a/code/nrf-connect/src/main.c +++ /dev/null @@ -1,50 +0,0 @@ -#include -#include -#include -#include -#include - -#include "prst/adc.h" -#include "prst/ble/ble.h" -#include "prst/button.h" -#include "prst/data.h" -#include "prst/led.h" -#include "prst/macros.h" -#include "prst/shtc3.h" - -LOG_MODULE_REGISTER(main, LOG_LEVEL_DBG); - -int main(void) { - RET_IF_ERR(prst_adc_init()); - RET_IF_ERR(prst_led_init()); - RET_IF_ERR(prst_button_init()); - RET_IF_ERR(prst_ble_init()); - - RET_IF_ERR(prst_led_flash(2)); - - prst_sensors_t sensors; - while (true) { - RET_IF_ERR(prst_adc_batt_read(&sensors.batt)); - RET_IF_ERR(prst_adc_soil_read(sensors.batt.voltage, &sensors.soil)); - RET_IF_ERR(prst_adc_photo_read(sensors.batt.voltage, &sensors.photo)); - RET_IF_ERR(prst_shtc3_read(&sensors.shtc3)) - - LOG_INF("Batt: %d mV", sensors.batt.millivolts); - LOG_INF("Soil: %.0f %% (%.3f mV)", 100 * sensors.soil.percentage, - sensors.soil.adc_read.voltage); - LOG_INF("Photo: %u lx (%.3f mV)", sensors.photo.brightness, - sensors.soil.adc_read.voltage); - LOG_INF("Temp: %f oC", sensors.shtc3.temp_c); - LOG_INF("Humi: %.0f %%", 100.0 * sensors.shtc3.rel_humi); - LOG_INF("--------------------------------------------------"); - - 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()); - - k_sleep(K_SECONDS(CONFIG_PRST_SLEEP_DURATION_SEC)); - } -}