Compare commits
4 commits
testing-v0
...
main
Author | SHA1 | Date | |
---|---|---|---|
5afff53301 | |||
25eab5d38e | |||
d82a6219f0 | |||
14f93e44ce |
7 changed files with 16 additions and 20 deletions
|
@ -1,6 +1,6 @@
|
||||||
cmake_minimum_required (VERSION 3.7)
|
cmake_minimum_required (VERSION 3.7)
|
||||||
project(controller
|
project(controller
|
||||||
VERSION 0.3.4
|
VERSION 0.3.7
|
||||||
LANGUAGES C)
|
LANGUAGES C)
|
||||||
|
|
||||||
add_executable(controller src/main.c)
|
add_executable(controller src/main.c)
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
#include <uuid/uuid.h>
|
#include <uuid/uuid.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <lmdb.h>
|
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <models/relay.h>
|
#include <models/relay.h>
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <lmdb.h>
|
|
||||||
|
|
||||||
#include <constants.h>
|
#include <constants.h>
|
||||||
#include <models/schedule.h>
|
#include <models/schedule.h>
|
||||||
|
@ -13,7 +12,6 @@ typedef struct
|
||||||
int id;
|
int id;
|
||||||
uint8_t number;
|
uint8_t number;
|
||||||
int is_on;
|
int is_on;
|
||||||
int is_on_schedule;
|
|
||||||
int pulse_timer;
|
int pulse_timer;
|
||||||
int sent_to_broker;
|
int sent_to_broker;
|
||||||
char name[MAX_NAME_LENGTH + 1];
|
char name[MAX_NAME_LENGTH + 1];
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <uuid/uuid.h>
|
#include <uuid/uuid.h>
|
||||||
#include <lmdb.h>
|
|
||||||
|
|
||||||
#include <models/period.h>
|
#include <models/period.h>
|
||||||
|
|
||||||
|
|
|
@ -34,21 +34,25 @@ handler_loop(struct mg_connection *c_mqtt)
|
||||||
int is_on = 0;
|
int is_on = 0;
|
||||||
|
|
||||||
int is_on_schedule = relay_is_on_schedule(relay, &time_now);
|
int is_on_schedule = relay_is_on_schedule(relay, &time_now);
|
||||||
|
int pulse_relay = global_config.relay_configs[i].pulse_duration;
|
||||||
|
|
||||||
if(relay->is_on_schedule != is_on_schedule && relay->is_on_schedule != -1)
|
if(is_on_schedule)
|
||||||
{
|
{
|
||||||
relay->pulse_timer = global_config.relay_configs[i].pulse_duration;
|
if(!pulse_relay)
|
||||||
|
{
|
||||||
|
is_on = 1;
|
||||||
|
LOGGER_DEBUG("relay %d is active\n", i);
|
||||||
|
}
|
||||||
|
if(pulse_relay && relay->pulse_timer)
|
||||||
|
{
|
||||||
|
is_on = 1;
|
||||||
|
--relay->pulse_timer;
|
||||||
|
LOGGER_DEBUG("relay %d is pulsing for %d more seconds\n", i, relay->pulse_timer);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(is_on_schedule && !global_config.relay_configs[i].pulse_duration)
|
else
|
||||||
{
|
{
|
||||||
is_on = 1;
|
relay->pulse_timer = 0;
|
||||||
LOGGER_DEBUG("relay %d is active\n", i);
|
|
||||||
}
|
|
||||||
if(relay->pulse_timer > 0)
|
|
||||||
{
|
|
||||||
is_on = 1;
|
|
||||||
--relay->pulse_timer;
|
|
||||||
LOGGER_DEBUG("relay %d is pulsing for %d more seconds\n", i, relay->pulse_timer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(relay->is_on != is_on)
|
if(relay->is_on != is_on)
|
||||||
|
@ -68,7 +72,6 @@ handler_loop(struct mg_connection *c_mqtt)
|
||||||
--relay->sent_to_broker;
|
--relay->sent_to_broker;
|
||||||
}
|
}
|
||||||
relay->is_on = is_on;
|
relay->is_on = is_on;
|
||||||
relay->is_on_schedule = is_on_schedule;
|
|
||||||
|
|
||||||
if(global_config.relay_configs[i].inverted)
|
if(global_config.relay_configs[i].inverted)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <lmdb.h>
|
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,6 @@ relay_db_select_mapper(sqlite3_stmt *stmt)
|
||||||
relay_reload_schedules(new_relay);
|
relay_reload_schedules(new_relay);
|
||||||
|
|
||||||
new_relay->is_on = -1;
|
new_relay->is_on = -1;
|
||||||
new_relay->is_on_schedule = -1;
|
|
||||||
new_relay->pulse_timer = 0;
|
new_relay->pulse_timer = 0;
|
||||||
new_relay->sent_to_broker = 0;
|
new_relay->sent_to_broker = 0;
|
||||||
|
|
||||||
|
@ -177,7 +176,6 @@ relay_create(uint8_t number)
|
||||||
new_relay->name[0] = '\0';
|
new_relay->name[0] = '\0';
|
||||||
|
|
||||||
new_relay->is_on = -1;
|
new_relay->is_on = -1;
|
||||||
new_relay->is_on_schedule = -1;
|
|
||||||
new_relay->pulse_timer = 0;
|
new_relay->pulse_timer = 0;
|
||||||
new_relay->sent_to_broker = 0;
|
new_relay->sent_to_broker = 0;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue