Added TVOC task skeleton, fixed config template.

This commit is contained in:
imi415 2021-07-15 00:20:04 +08:00
parent bc58bec619
commit d9b94256fd
Signed by: imi415
GPG Key ID: 17F01E106F9F5E0A
7 changed files with 50 additions and 9 deletions

View File

@ -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"

View File

@ -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

View File

@ -23,8 +23,6 @@ agent: {
};
};
};
lcd: {
spi: {
path = "/dev/spidev0.1";

View File

@ -23,8 +23,6 @@ agent: {
};
};
};
lcd: {
spi: {
path = "/dev/spidev0.1";

View File

@ -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();

View File

@ -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) {

View File

@ -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);
}
}