lib/mbselib.h

Fri, 02 May 2014 23:14:50 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 02 May 2014 23:14:50 +0200
changeset 17
b802305046dc
parent 16
f4cbe008da72
child 18
3f4823083b9d
permissions
-rw-r--r--

Tests for wiringPi are now not fatal

7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 #ifndef _MBSELIB_H
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 #define _MBSELIB_H
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 #include "../config.h"
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 #include <stdlib.h>
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 #include <stdio.h>
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 #include <string.h>
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 #include <ctype.h>
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 #include <sys/types.h>
12
102c44bb8c9d Deamon code added
Michiel Broek <mbroek@mbse.eu>
parents: 9
diff changeset
11 #include <sys/stat.h>
102c44bb8c9d Deamon code added
Michiel Broek <mbroek@mbse.eu>
parents: 9
diff changeset
12 #include <fcntl.h>
8
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
13 #include <syslog.h>
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
14 #include <unistd.h>
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
15 #include <errno.h>
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
16 #include <signal.h>
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
17 #include <getopt.h>
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
18
16
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
19 /* mosquitto */
8
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
20 #include <mosquitto.h>
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
21
16
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
22 /* wiringPi */
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
23 #include <wiringPi.h>
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
24 #include <pcf8574.h>
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
25 #include <lcd.h>
7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 #define TRUE 1
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 #define FALSE 0
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29
8
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
30 #define MBSE_SS(x) (x)?(x):"(null)"
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
31
7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 /* rdconfig.c */
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 typedef struct _key_list {
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34 char *key;
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 int (*prc)(char **);
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 char **dest;
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 } key_list;
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38
9
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
39 typedef struct _w1_therm {
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
40 struct _w1_therm *next;
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
41 char *master; /* Master for this device */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
42 int bus; /* Reserved for ds2482-800 */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
43 char *name; /* Name of this device */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
44 char *alias; /* Friendly name */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
45 int present; /* 1=present, 0=absent */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
46 int lastval; /* Last valid value */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
47 } w1_therm;
7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 typedef struct _sys_config {
9
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
50 char *name; /* Configuration name */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
51 char *mosq_host; /* mosquitto server hostname */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
52 int mosq_port; /* mosquitto server port */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
53 w1_therm *w1therms; /* 1-wire temp sensors */
17
b802305046dc Tests for wiringPi are now not fatal
Michiel Broek <mbroek@mbse.eu>
parents: 16
diff changeset
54 #ifdef HAVE_WIRINGPI_H
b802305046dc Tests for wiringPi are now not fatal
Michiel Broek <mbroek@mbse.eu>
parents: 16
diff changeset
55 int lcd_cols; /* LCD display columns */
b802305046dc Tests for wiringPi are now not fatal
Michiel Broek <mbroek@mbse.eu>
parents: 16
diff changeset
56 int lcd_rows; /* LCD display rows */
b802305046dc Tests for wiringPi are now not fatal
Michiel Broek <mbroek@mbse.eu>
parents: 16
diff changeset
57 #endif
7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 } sys_config;
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60
9
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
61
7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 void killconfig(void);
8
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
63 int rdconfig(void);
7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
64
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
65
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
66 /* xutil.c */
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
67 char *xmalloc(size_t);
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
68 char *xstrcpy(char *);
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
69 char *xstrcat(char *, char *);
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
70
16
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
71
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
72 /* lcd-pcf8574.c */
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
73 // Defines for the pcf8574 Pi LCD interface board
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
74
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
75 #define AF_BASE 100
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
76
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
77 #define AF_RS (AF_BASE + 0)
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
78 #define AF_RW (AF_BASE + 1)
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
79 #define AF_E (AF_BASE + 2)
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
80 #define AF_BACKLIGHT (AF_BASE + 3)
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
81 #define AF_DB4 (AF_BASE + 4)
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
82 #define AF_DB5 (AF_BASE + 5)
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
83 #define AF_DB6 (AF_BASE + 6)
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
84 #define AF_DB7 (AF_BASE + 7)
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
85
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
86 void setBacklight (int);
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
87 int initLCD (int, int);
f4cbe008da72 Version 0.0.2. Added LCD display using wiringPi library. The display is connected via a LCM1602 IIC board.
Michiel Broek <mbroek@mbse.eu>
parents: 12
diff changeset
88
7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 #endif
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
90

mercurial