RX8025 library
Dependents: mbed_RX8025 MAPLEminiA MAPLEminiA
See https://developer.mbed.org/users/yasuyuki/notebook/RX8025/
RX8025.h@0:6da3d94a7774, 2014-11-08 (annotated)
- Committer:
- yasuyuki
- Date:
- Sat Nov 08 12:19:28 2014 +0000
- Revision:
- 0:6da3d94a7774
release
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yasuyuki | 0:6da3d94a7774 | 1 | //********************** |
yasuyuki | 0:6da3d94a7774 | 2 | // RX8025.h for mbed |
yasuyuki | 0:6da3d94a7774 | 3 | // |
yasuyuki | 0:6da3d94a7774 | 4 | // (C)Copyright 2014 All rights reserved by Y.Onodera |
yasuyuki | 0:6da3d94a7774 | 5 | // http://einstlab.web.fc2.com |
yasuyuki | 0:6da3d94a7774 | 6 | //********************** |
yasuyuki | 0:6da3d94a7774 | 7 | |
yasuyuki | 0:6da3d94a7774 | 8 | #ifndef RX8025_H_ |
yasuyuki | 0:6da3d94a7774 | 9 | #define RX8025_H_ |
yasuyuki | 0:6da3d94a7774 | 10 | |
yasuyuki | 0:6da3d94a7774 | 11 | #define RX8025_ADDR 0x64 |
yasuyuki | 0:6da3d94a7774 | 12 | #define RX8025_SECONDS 0x00 |
yasuyuki | 0:6da3d94a7774 | 13 | #define RX8025_MINUTES 0x10 |
yasuyuki | 0:6da3d94a7774 | 14 | #define RX8025_HOURS 0x20 |
yasuyuki | 0:6da3d94a7774 | 15 | #define RX8025_WEEKDAYS 0x30 |
yasuyuki | 0:6da3d94a7774 | 16 | #define RX8025_DAYS 0x40 |
yasuyuki | 0:6da3d94a7774 | 17 | #define RX8025_MONTHS 0x50 |
yasuyuki | 0:6da3d94a7774 | 18 | #define RX8025_YEARS 0x60 |
yasuyuki | 0:6da3d94a7774 | 19 | #define RX8025_OFFSET 0x70 |
yasuyuki | 0:6da3d94a7774 | 20 | #define RX8025_ALARM_W_M 0x80 |
yasuyuki | 0:6da3d94a7774 | 21 | #define RX8025_ALARM_W_H 0x90 |
yasuyuki | 0:6da3d94a7774 | 22 | #define RX8025_ALARM_W_W 0xA0 |
yasuyuki | 0:6da3d94a7774 | 23 | #define RX8025_ALARM_D_M 0xB0 |
yasuyuki | 0:6da3d94a7774 | 24 | #define RX8025_ALARM_D_H 0xC0 |
yasuyuki | 0:6da3d94a7774 | 25 | #define RX8025_CONTROL1 0xE0 |
yasuyuki | 0:6da3d94a7774 | 26 | #define RX8025_CONTROL2 0xF0 |
yasuyuki | 0:6da3d94a7774 | 27 | |
yasuyuki | 0:6da3d94a7774 | 28 | #include "mbed.h" |
yasuyuki | 0:6da3d94a7774 | 29 | |
yasuyuki | 0:6da3d94a7774 | 30 | typedef struct { |
yasuyuki | 0:6da3d94a7774 | 31 | unsigned char seconds; |
yasuyuki | 0:6da3d94a7774 | 32 | unsigned char minutes; |
yasuyuki | 0:6da3d94a7774 | 33 | unsigned char hours; |
yasuyuki | 0:6da3d94a7774 | 34 | unsigned char weekdays; |
yasuyuki | 0:6da3d94a7774 | 35 | unsigned char days; |
yasuyuki | 0:6da3d94a7774 | 36 | unsigned char months; |
yasuyuki | 0:6da3d94a7774 | 37 | unsigned char years; |
yasuyuki | 0:6da3d94a7774 | 38 | }Times; |
yasuyuki | 0:6da3d94a7774 | 39 | |
yasuyuki | 0:6da3d94a7774 | 40 | |
yasuyuki | 0:6da3d94a7774 | 41 | typedef struct { |
yasuyuki | 0:6da3d94a7774 | 42 | unsigned char minute; |
yasuyuki | 0:6da3d94a7774 | 43 | unsigned char hour; |
yasuyuki | 0:6da3d94a7774 | 44 | unsigned char weekday; |
yasuyuki | 0:6da3d94a7774 | 45 | }Alarmw; |
yasuyuki | 0:6da3d94a7774 | 46 | |
yasuyuki | 0:6da3d94a7774 | 47 | |
yasuyuki | 0:6da3d94a7774 | 48 | typedef struct{ |
yasuyuki | 0:6da3d94a7774 | 49 | unsigned char minute; |
yasuyuki | 0:6da3d94a7774 | 50 | unsigned char hour; |
yasuyuki | 0:6da3d94a7774 | 51 | }Alarmd; |
yasuyuki | 0:6da3d94a7774 | 52 | |
yasuyuki | 0:6da3d94a7774 | 53 | |
yasuyuki | 0:6da3d94a7774 | 54 | typedef struct{ |
yasuyuki | 0:6da3d94a7774 | 55 | unsigned char control1; |
yasuyuki | 0:6da3d94a7774 | 56 | unsigned char control2; |
yasuyuki | 0:6da3d94a7774 | 57 | unsigned char offset; |
yasuyuki | 0:6da3d94a7774 | 58 | }Control; |
yasuyuki | 0:6da3d94a7774 | 59 | |
yasuyuki | 0:6da3d94a7774 | 60 | |
yasuyuki | 0:6da3d94a7774 | 61 | class RX8025{ |
yasuyuki | 0:6da3d94a7774 | 62 | public: |
yasuyuki | 0:6da3d94a7774 | 63 | RX8025 (PinName sda, PinName scl); |
yasuyuki | 0:6da3d94a7774 | 64 | RX8025 (I2C& p_i2c); |
yasuyuki | 0:6da3d94a7774 | 65 | void init(); |
yasuyuki | 0:6da3d94a7774 | 66 | |
yasuyuki | 0:6da3d94a7774 | 67 | void put(unsigned char a, unsigned char b); |
yasuyuki | 0:6da3d94a7774 | 68 | void get(unsigned char a); |
yasuyuki | 0:6da3d94a7774 | 69 | Times getTIME(); |
yasuyuki | 0:6da3d94a7774 | 70 | void setTIME(Times t); |
yasuyuki | 0:6da3d94a7774 | 71 | Alarmw getALARMw(); |
yasuyuki | 0:6da3d94a7774 | 72 | void setALARMw(Alarmw a); |
yasuyuki | 0:6da3d94a7774 | 73 | Alarmd getALARMd(); |
yasuyuki | 0:6da3d94a7774 | 74 | void setALARMd(Alarmd a); |
yasuyuki | 0:6da3d94a7774 | 75 | Control getCONTROL(); |
yasuyuki | 0:6da3d94a7774 | 76 | void setCONTROL(Control c); |
yasuyuki | 0:6da3d94a7774 | 77 | |
yasuyuki | 0:6da3d94a7774 | 78 | protected: |
yasuyuki | 0:6da3d94a7774 | 79 | |
yasuyuki | 0:6da3d94a7774 | 80 | I2C _i2c; |
yasuyuki | 0:6da3d94a7774 | 81 | |
yasuyuki | 0:6da3d94a7774 | 82 | Times time; |
yasuyuki | 0:6da3d94a7774 | 83 | Alarmw alarmw; |
yasuyuki | 0:6da3d94a7774 | 84 | Alarmd alarmd; |
yasuyuki | 0:6da3d94a7774 | 85 | Control control; |
yasuyuki | 0:6da3d94a7774 | 86 | char buf[2]; |
yasuyuki | 0:6da3d94a7774 | 87 | |
yasuyuki | 0:6da3d94a7774 | 88 | }; |
yasuyuki | 0:6da3d94a7774 | 89 | |
yasuyuki | 0:6da3d94a7774 | 90 | #endif /* RX8025_H_ */ |
yasuyuki | 0:6da3d94a7774 | 91 | |
yasuyuki | 0:6da3d94a7774 | 92 |