Version 1.4

Reworked channel changing: now it tracks the current ch. and resets only once. This makes the program to finish faster.
Added rolltime_down and percentage values to shutter structure: now the schedule file needs to contain a percentage column after the timestamp for lowering, and a rolltime needs to be defined for each shutter in the beginning of the program. When lowering shutters, there's a calculation to sleep until the desired percentage is reached, when the shutter is stopped
The way to deactivate shutters has changed: now you need to set the percentage to 0.
This commit is contained in:
2021-08-30 18:47:21 +02:00
parent 877614b7a3
commit 6bc23c92fe
3 changed files with 12 additions and 8 deletions

View File

@@ -7,16 +7,20 @@
#include <time.h> #include <time.h>
typedef char byte;
typedef struct ido { typedef struct ido {
int tm_hour; byte tm_hour;
int tm_min; byte tm_min;
} ido; } ido;
typedef struct redony { typedef struct redony {
int ch; byte ch;
ido up; ido up;
ido down; ido down;
byte rolltime_up; //measured in seconds
byte rolltime_down; //measured in seconds
byte percentage;
} redony; } redony;
typedef enum buttons { typedef enum buttons {

View File

@@ -60,7 +60,7 @@ int find_next_day (FILE *f)
return 0; return 0;
} }
void get_timing (redony *r, FILE *schedule) void get_timing (shutter *r, FILE *schedule)
{ {
int channel = 0; int channel = 0;
while (channel != r->ch) while (channel != r->ch)
@@ -81,7 +81,7 @@ void get_timing (redony *r, FILE *schedule)
} }
buttons check_timing (redony *r) buttons check_timing (shutter *r)
{ {
if ((r->up.tm_hour == r->down.tm_hour) && (r->up.tm_min == r->down.tm_min)) if ((r->up.tm_hour == r->down.tm_hour) && (r->up.tm_min == r->down.tm_min))
return stop; return stop;

View File

@@ -4,13 +4,13 @@
#ifndef _IDOZITES_H_ #ifndef _IDOZITES_H_
#define _IDOZITES_H_ #define _IDOZITES_H_
#include "redony.h" #include "shutter.h"
#include <time.h> #include <time.h>
#include <stdio.h> #include <stdio.h>
void get_timing (redony *r, FILE *schedule); void get_timing (shutter *r, FILE *schedule);
buttons check_timing (redony *r); buttons check_timing (shutter *r);
int find_today (FILE *schedule); int find_today (FILE *schedule);