add: save/load for uuid and name
This commit is contained in:
parent
270c87e0bc
commit
db7a377250
11 changed files with 208 additions and 82 deletions
15
include/config.h
Normal file
15
include/config.h
Normal file
|
@ -0,0 +1,15 @@
|
|||
#ifndef CONTROLLER_CONFIG_H
|
||||
#define CONTROLLER_CONFIG_H
|
||||
|
||||
#define CONTROLLER_FILE_NAME "emgauwa-controller.dat"
|
||||
#define CONTROLLER_FILE_VERSION 1
|
||||
#define CONTROLLER_FILE_HEADER_SIZE 4
|
||||
|
||||
#define CONTROLLER_NAME_LENGTH 128
|
||||
|
||||
#define MDB_MAXDBS 8
|
||||
|
||||
#define TEST_KEY "blubb"
|
||||
#define TEST_VALUE "bla bla bla"
|
||||
|
||||
#endif //CONTROLLER_CONFIG_H
|
4
include/display.h
Normal file
4
include/display.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
#include <stdint.h>
|
||||
|
||||
void
|
||||
display_setup(void);
|
6
include/macros.h
Normal file
6
include/macros.h
Normal file
|
@ -0,0 +1,6 @@
|
|||
#ifndef CONTROLLER_MACROS_H
|
||||
#define CONTROLLER_MACROS_H
|
||||
|
||||
#define LOG_ERROR(msg) printf("ERROR: \"%s\" in function %s in file %s:%d\n", msg, __func__, __FILE__, __LINE__)
|
||||
|
||||
#endif //CONTROLLER_MACROS_H
|
42
include/models/controller.h
Normal file
42
include/models/controller.h
Normal file
|
@ -0,0 +1,42 @@
|
|||
#ifndef CONTROLLER_CONTROLLER_H
|
||||
#define CONTROLLER_CONTROLLER_H
|
||||
|
||||
#include <uuid/uuid.h>
|
||||
#include <stdint.h>
|
||||
#include <lmdb.h>
|
||||
|
||||
#include <config.h>
|
||||
#include <models/relay.h>
|
||||
|
||||
typedef struct controller
|
||||
{
|
||||
uuid_t uuid;
|
||||
char name[CONTROLLER_NAME_LENGTH + 1];
|
||||
uint16_t port;
|
||||
uint8_t relay_count;
|
||||
relay **relays;
|
||||
|
||||
} controller;
|
||||
|
||||
typedef enum controller_db_key
|
||||
{
|
||||
KEY_META_UUID,
|
||||
KEY_META_NAME,
|
||||
KEY_META_PORT,
|
||||
KEY_META_RELAY_COUNT,
|
||||
KEY_META_RELAYS
|
||||
} controller_db_key;
|
||||
|
||||
controller*
|
||||
controller_create(void);
|
||||
|
||||
controller*
|
||||
controller_read(MDB_env *mdb_env);
|
||||
|
||||
int
|
||||
controller_save(controller *cntrlr, MDB_env *mdb_env);
|
||||
|
||||
void
|
||||
controller_debug(controller *cntrlr);
|
||||
|
||||
#endif //CONTROLLER_CONTROLLER_H
|
17
include/models/relay.h
Normal file
17
include/models/relay.h
Normal file
|
@ -0,0 +1,17 @@
|
|||
#ifndef CONTROLLER_RELAY_H
|
||||
#define CONTROLLER_RELAY_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <config.h>
|
||||
|
||||
typedef struct relay {
|
||||
uint8_t index;
|
||||
char name[128];
|
||||
uint16_t *schedule;
|
||||
} relay;
|
||||
|
||||
relay*
|
||||
relay_init(uint8_t index);
|
||||
|
||||
#endif //CONTROLLER_RELAY_H
|
7
include/wiring_debug.h
Normal file
7
include/wiring_debug.h
Normal file
|
@ -0,0 +1,7 @@
|
|||
#ifdef WIRING_PI_DEBUG
|
||||
|
||||
#define wiringPiSetup() printf("Setting up wiringPi....\n")
|
||||
#define pinMode(x,y) printf("pinMode(%d, %d)\n",x,y)
|
||||
#define digitalWrite(x,y) printf("digitalWrite(%d, %d)\n",x,y)
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue