X2D lib first commit

X2D.h

Committer:
sev2000
Date:
2019-12-22
Revision:
17:2a9e02dccd88
Parent:
16:fc4796efd10b
Child:
18:8bf5e7534c05

File content as of revision 17:2a9e02dccd88:

#include "mbed.h" 

extern Serial pc;

#define __DEBUG__
#define Level 2
#define DBG(x, ...) if (Level>=3) pc.printf("[DBG]"x"\r\n", ##__VA_ARGS__); 
#define WARN(x, ...) if (Level>=2) pc.printf("[WARN]"x"\r\n", ##__VA_ARGS__); 
#define ERR(x, ...) if (Level>=1) pc.printf("[ERR]"x"\r\n", ##__VA_ARGS__); 

typedef enum {
    Moon   = 0,
    Conf1  = 1, // Confort -2
    Conf2  = 2, // Confort -1
    Sun    = 3,
    ABS    = 4,
    HG     = 7, // Abs with prog = Sun
    OFF    = 8,
    OFF2   = 0x0B // Off with prog = Sun
}h_mode;  //Heater mode
// mode | 0x08 => OFF
// mode | 0x04 => Abs

typedef struct {
    long v;
    bool pin;
}pulse_t;

typedef struct {
    unsigned char data[14];
    int lenght;
}msg_t;

typedef struct {
    char name[32];
    h_mode mode;
    bool fixed;
    unsigned char associated[3];
}zone_t;



void Init_X2D(void);
//void TASK_RcvMessages(info_t *message);
void SendCmd(int zone, h_mode prog);
void SendAssoc(int zone, int delest);
void write_ctrl_reg(unsigned long write_data);
unsigned long read_ctrl_reg(void);