-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathoutputs.h
More file actions
59 lines (51 loc) · 1.34 KB
/
Copy pathoutputs.h
File metadata and controls
59 lines (51 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#pragma once
#include "GrowduinoFirmware.h"
#include "RingBuffer.h"
#include <aJSON.h>
class Output
{
public:
Output();
Output(aJsonObject * json);
int get(int slot);
int hw_get(int slot);
//int set(int slot, int state);
//int set_delayed(int slot, int state);
int flip(int slot);
int save();
void load();
bool match(const char * request);
char name[9];
// aJsonObject * json(aJsonObject *msg);
// aJsonObject * json();
void json(Stream * msg);
void log();
int hw_update(int slot);
time_t uptime(int slot);
char * dir_name(char * dirname);
char * file_name(char * filename);
int set(int slot, int val, int trigger);
int breakme(int slot, int val, int trigger);
int is_broken(int slot);
void kill(int slot, int trigger);
void revive(int slot, int trigger);
void common_init();
private:
unsigned char sensor_state;
long state[OUTPUTS];
long broken[OUTPUTS];
long broken2[OUTPUTS];
int hw_state[OUTPUTS];
time_t ctimes[OUTPUTS];
int log_states[LOGSIZE];
time_t log_times[LOGSIZE];
int initial;
int new_initial;
int log_index;
int log_file_index;
int last_save_daymin;
int pack_states();
int bitget(int value, int slot);
long bitset(int value, int slot);
long bitclr(int value, int slot);
};