X2D lib first commit

X2D.h

Committer:
sev2000
Date:
2019-11-11
Revision:
7:eaa973daaf58
Parent:
4:844c00dd0366
Child:
10:65fd918fc224

File content as of revision 7:eaa973daaf58:

#include "mbed.h" 

extern Serial pc;

#define __DEBUG__
#define Level 3
#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 -1
    Conf2  = 2, // Confort -2
    Sun    = 3,
    HG     = 7,
    OFF     = 8
}h_mode;  //Heater mode
// mode | 0x80 => OFF
// mode | 0x40 => Abs

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

typedef struct {
    char zone;
    h_mode mode;
}info_t;

void Init_X2D(void);
int detectPreamble(info_t *message);
void SendCmd(int prog, int zone);
void write_ctrl_reg(unsigned long write_data);
unsigned long read_ctrl_reg(void);