Added TVOC task skeleton, fixed config template.
This commit is contained in:
parent
bc58bec619
commit
d9b94256fd
|
@ -20,6 +20,7 @@ set(C_SOURCES
|
|||
"src/tasks/user_lvgl_task.c"
|
||||
"src/tasks/user_clock_task.c"
|
||||
"src/tasks/user_dht_task.c"
|
||||
"src/tasks/user_tvoc_task.c"
|
||||
"src/tasks/user_base_task.c"
|
||||
"src/utils/user_log_util.c"
|
||||
"src/assets/encode_sans_sc_light_24.c"
|
||||
|
|
|
@ -13,4 +13,7 @@ int user_dht_task_deinit(void);
|
|||
int user_base_task_init(void);
|
||||
int user_base_task_deinit(void);
|
||||
|
||||
int user_tvoc_task_init(void);
|
||||
int user_tvoc_task_deinit(void);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -23,8 +23,6 @@ agent: {
|
|||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
lcd: {
|
||||
spi: {
|
||||
path = "/dev/spidev0.1";
|
||||
|
|
|
@ -23,8 +23,6 @@ agent: {
|
|||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
lcd: {
|
||||
spi: {
|
||||
path = "/dev/spidev0.1";
|
||||
|
|
16
src/main.c
16
src/main.c
|
@ -4,6 +4,7 @@
|
|||
#include <unistd.h>
|
||||
#include <pthread.h>
|
||||
#include <signal.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "drivers/user_config_driver.h"
|
||||
#include "drivers/user_spi_driver.h"
|
||||
|
@ -15,18 +16,21 @@ uint8_t g_running = 1;
|
|||
user_config_t g_config;
|
||||
|
||||
static void signal_handler(int signo) {
|
||||
if(signo == SIGINT) {
|
||||
if(signo == SIGINT || signo == SIGTERM) {
|
||||
g_running = 0;
|
||||
}
|
||||
USER_LOG(USER_LOG_INFO, "Signal %d captured, stopping.", signo);
|
||||
USER_LOG(USER_LOG_INFO, "Signal [%s] captured, stopping.", strsignal(signo));
|
||||
}
|
||||
|
||||
int main(int argc, const char *argv[]) {
|
||||
USER_LOG(USER_LOG_INFO, "Application started.");
|
||||
|
||||
if(signal(SIGINT, signal_handler) == SIG_ERR) {
|
||||
USER_LOG(USER_LOG_FATAL, "Cannot register signal handler.");
|
||||
return -1;
|
||||
int signal_arr[] = { SIGINT, SIGTERM };
|
||||
for(uint8_t i = 0; i < sizeof(signal_arr) / sizeof(int); i++) {
|
||||
if(signal(signal_arr[i], signal_handler) == SIG_ERR) {
|
||||
USER_LOG(USER_LOG_FATAL, "Cannot register signal handler %s.", strsignal(signal_arr[i]));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
if(user_config_init(&g_config, "config.cfg") != 0) {
|
||||
|
@ -42,12 +46,14 @@ int main(int argc, const char *argv[]) {
|
|||
user_base_task_init();
|
||||
user_clock_task_init();
|
||||
user_dht_task_init();
|
||||
user_tvoc_task_init();
|
||||
|
||||
USER_LOG(USER_LOG_INFO, "Initialized, main thread sleeping.");
|
||||
while(g_running) {
|
||||
sleep(1);
|
||||
}
|
||||
|
||||
user_tvoc_task_deinit();
|
||||
user_dht_task_deinit();
|
||||
user_clock_task_deinit();
|
||||
user_base_task_deinit();
|
||||
|
|
|
@ -12,6 +12,8 @@ int user_dht_task_init(void) {
|
|||
|
||||
ret = pthread_create(&user_dht_task_thread, NULL, user_dht_task, NULL);
|
||||
if(ret) return ret;
|
||||
|
||||
pthread_setname_np(user_dht_task_thread, "DHT");
|
||||
}
|
||||
|
||||
int user_dht_task_deinit(void) {
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
#include <stdint.h>
|
||||
|
||||
#include "impl/user_ccs811_impl.h"
|
||||
|
||||
#include "tasks/user_task_lvgl_common.h"
|
||||
|
||||
void *user_tvoc_task(void *arguments);
|
||||
pthread_t user_tvoc_task_thread;
|
||||
|
||||
int user_tvoc_task_init(void) {
|
||||
int ret;
|
||||
|
||||
ret = pthread_create(&user_tvoc_task_thread, NULL, user_tvoc_task, NULL);
|
||||
if(ret) return ret;
|
||||
|
||||
pthread_setname_np(user_tvoc_task_thread, "TVOC");
|
||||
}
|
||||
|
||||
int user_tvoc_task_deinit(void) {
|
||||
pthread_join(user_tvoc_task_thread, NULL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void *user_tvoc_task(void *arguments) {
|
||||
while(g_running && !g_lvgl_ready) {
|
||||
sleep(1);
|
||||
}
|
||||
|
||||
while(g_running) {
|
||||
sleep(1);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue