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

#ifndef	_MBSELIB_H
#define	_MBSELIB_H

#include "../config.h"

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <syslog.h>
#include <unistd.h>
#include <errno.h>
#include <signal.h>
#include <getopt.h>

/* mosquitto */
#include <mosquitto.h>

/* wiringPi */
#include <wiringPi.h>
#include <pcf8574.h>
#include <lcd.h>

#define TRUE 1
#define FALSE 0

#define MBSE_SS(x) (x)?(x):"(null)"

/* rdconfig.c */
typedef struct _key_list {
    char	*key;
    int		(*prc)(char **);
    char	**dest;
} key_list;

typedef struct _w1_therm {
    struct _w1_therm    *next;
    char                *master;                /* Master for this device       */
    int                 bus;                    /* Reserved for ds2482-800      */
    char                *name;                  /* Name of this device          */
    char                *alias;                 /* Friendly name                */
    int                 present;                /* 1=present, 0=absent          */
    int                 lastval;                /* Last valid value             */
} w1_therm;

typedef struct _sys_config {
    char		*name;			/* Configuration name		*/
    char		*mosq_host;		/* mosquitto server hostname	*/
    int			mosq_port;		/* mosquitto server port	*/
    w1_therm		*w1therms;		/* 1-wire temp sensors		*/
#ifdef HAVE_WIRINGPI_H
    int			lcd_cols;		/* LCD display columns		*/
    int			lcd_rows;		/* LCD display rows		*/
#endif
} sys_config;



void killconfig(void);
int  rdconfig(void);


/* xutil.c */
char *xmalloc(size_t);
char *xstrcpy(char *);
char *xstrcat(char *, char *);


/* lcd-pcf8574.c */
// Defines for the pcf8574 Pi LCD interface board

#define AF_BASE         100

#define AF_RS           (AF_BASE + 0)
#define AF_RW           (AF_BASE + 1)
#define AF_E            (AF_BASE + 2)
#define AF_BACKLIGHT    (AF_BASE + 3)
#define AF_DB4          (AF_BASE + 4)
#define AF_DB5          (AF_BASE + 5)
#define AF_DB6          (AF_BASE + 6)
#define AF_DB7          (AF_BASE + 7)

void setBacklight (int);
int  initLCD (int, int);

#endif

mercurial