RX8025 library
Dependents: mbed_RX8025 MAPLEminiA MAPLEminiA
See https://developer.mbed.org/users/yasuyuki/notebook/RX8025/
RX8025.h
- Committer:
- yasuyuki
- Date:
- 2014-11-08
- Revision:
- 0:6da3d94a7774
File content as of revision 0:6da3d94a7774:
//********************** // RX8025.h for mbed // // (C)Copyright 2014 All rights reserved by Y.Onodera // http://einstlab.web.fc2.com //********************** #ifndef RX8025_H_ #define RX8025_H_ #define RX8025_ADDR 0x64 #define RX8025_SECONDS 0x00 #define RX8025_MINUTES 0x10 #define RX8025_HOURS 0x20 #define RX8025_WEEKDAYS 0x30 #define RX8025_DAYS 0x40 #define RX8025_MONTHS 0x50 #define RX8025_YEARS 0x60 #define RX8025_OFFSET 0x70 #define RX8025_ALARM_W_M 0x80 #define RX8025_ALARM_W_H 0x90 #define RX8025_ALARM_W_W 0xA0 #define RX8025_ALARM_D_M 0xB0 #define RX8025_ALARM_D_H 0xC0 #define RX8025_CONTROL1 0xE0 #define RX8025_CONTROL2 0xF0 #include "mbed.h" typedef struct { unsigned char seconds; unsigned char minutes; unsigned char hours; unsigned char weekdays; unsigned char days; unsigned char months; unsigned char years; }Times; typedef struct { unsigned char minute; unsigned char hour; unsigned char weekday; }Alarmw; typedef struct{ unsigned char minute; unsigned char hour; }Alarmd; typedef struct{ unsigned char control1; unsigned char control2; unsigned char offset; }Control; class RX8025{ public: RX8025 (PinName sda, PinName scl); RX8025 (I2C& p_i2c); void init(); void put(unsigned char a, unsigned char b); void get(unsigned char a); Times getTIME(); void setTIME(Times t); Alarmw getALARMw(); void setALARMw(Alarmw a); Alarmd getALARMd(); void setALARMd(Alarmd a); Control getCONTROL(); void setCONTROL(Control c); protected: I2C _i2c; Times time; Alarmw alarmw; Alarmd alarmd; Control control; char buf[2]; }; #endif /* RX8025_H_ */