1Mbit EEPROMを便利に使うためのライブラリ
Dependents: EEPROM_Reset_Program EEPROM_Encode_Program SWAN_IZU2019_v1 Hybrid_OB2021_eeprom ... more
EEPROM_lib.h@0:a945081a4a9e, 2019-02-11 (annotated)
- Committer:
- Sigma884
- Date:
- Mon Feb 11 15:41:56 2019 +0000
- Revision:
- 0:a945081a4a9e
- Child:
- 1:66c2c82f4b34
EEPROM library alpha
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Sigma884 | 0:a945081a4a9e | 1 | #ifndef EEPROM_LIB_H_ |
Sigma884 | 0:a945081a4a9e | 2 | #define EEPROM_LIB_H_ |
Sigma884 | 0:a945081a4a9e | 3 | |
Sigma884 | 0:a945081a4a9e | 4 | #define EEPROM_ADDR_00_0 0xA0 |
Sigma884 | 0:a945081a4a9e | 5 | #define EEPROM_ADDR_00_1 0xA8 |
Sigma884 | 0:a945081a4a9e | 6 | |
Sigma884 | 0:a945081a4a9e | 7 | #define EEPROM_ADDR_01_0 0xA2 |
Sigma884 | 0:a945081a4a9e | 8 | #define EEPROM_ADDR_01_1 0xAA |
Sigma884 | 0:a945081a4a9e | 9 | |
Sigma884 | 0:a945081a4a9e | 10 | #define EEPROM_ADDR_10_0 0xA4 |
Sigma884 | 0:a945081a4a9e | 11 | #define EEPROM_ADDR_10_1 0xAC |
Sigma884 | 0:a945081a4a9e | 12 | |
Sigma884 | 0:a945081a4a9e | 13 | #define EEPROM_ADDR_11_0 0xA6 |
Sigma884 | 0:a945081a4a9e | 14 | #define EEPROM_ADDR_11_1 0xAE |
Sigma884 | 0:a945081a4a9e | 15 | |
Sigma884 | 0:a945081a4a9e | 16 | #define EEPROM_WAIT_US 2500 |
Sigma884 | 0:a945081a4a9e | 17 | |
Sigma884 | 0:a945081a4a9e | 18 | |
Sigma884 | 0:a945081a4a9e | 19 | class EEPROM_lib{ |
Sigma884 | 0:a945081a4a9e | 20 | public: |
Sigma884 | 0:a945081a4a9e | 21 | |
Sigma884 | 0:a945081a4a9e | 22 | EEPROM_lib(I2C &user_i2c, int num); |
Sigma884 | 0:a945081a4a9e | 23 | |
Sigma884 | 0:a945081a4a9e | 24 | void writeByte(int num, int block, char ADDR_H, char ADDR_L, char DATA); |
Sigma884 | 0:a945081a4a9e | 25 | void writePage(int num, int block, char ADDR_H, char ADDR_L, char *DATA); |
Sigma884 | 0:a945081a4a9e | 26 | |
Sigma884 | 0:a945081a4a9e | 27 | void setWriteAddr(int num, int block, char ADDR_H, char ADDR_L); |
Sigma884 | 0:a945081a4a9e | 28 | |
Sigma884 | 0:a945081a4a9e | 29 | int chargeBuff(char DATA); |
Sigma884 | 0:a945081a4a9e | 30 | int chargeBuff(bool DATA); |
Sigma884 | 0:a945081a4a9e | 31 | int chargeBuff(int DATA); |
Sigma884 | 0:a945081a4a9e | 32 | int chargeBuff(short DATA); |
Sigma884 | 0:a945081a4a9e | 33 | int chargeBuff(long long DATA); |
Sigma884 | 0:a945081a4a9e | 34 | int chargeBuff(float DATA); |
Sigma884 | 0:a945081a4a9e | 35 | int chargeBuff(double DATA); |
Sigma884 | 0:a945081a4a9e | 36 | |
Sigma884 | 0:a945081a4a9e | 37 | void writeBuff(); |
Sigma884 | 0:a945081a4a9e | 38 | |
Sigma884 | 0:a945081a4a9e | 39 | int setNextPage(); |
Sigma884 | 0:a945081a4a9e | 40 | |
Sigma884 | 0:a945081a4a9e | 41 | char readByte(int num, int block, char ADDR_H, char ADDR_L); |
Sigma884 | 0:a945081a4a9e | 42 | void readMultiByte(int num, int block, char ADDR_H, char ADDR_L, char *DATA, int size); |
Sigma884 | 0:a945081a4a9e | 43 | |
Sigma884 | 0:a945081a4a9e | 44 | |
Sigma884 | 0:a945081a4a9e | 45 | private: |
Sigma884 | 0:a945081a4a9e | 46 | I2C *i2c; |
Sigma884 | 0:a945081a4a9e | 47 | char slave; |
Sigma884 | 0:a945081a4a9e | 48 | |
Sigma884 | 0:a945081a4a9e | 49 | union EEPROM_CAST{ |
Sigma884 | 0:a945081a4a9e | 50 | long long ll; |
Sigma884 | 0:a945081a4a9e | 51 | int i; |
Sigma884 | 0:a945081a4a9e | 52 | short s; |
Sigma884 | 0:a945081a4a9e | 53 | float f; |
Sigma884 | 0:a945081a4a9e | 54 | double d; |
Sigma884 | 0:a945081a4a9e | 55 | char c; |
Sigma884 | 0:a945081a4a9e | 56 | bool b; |
Sigma884 | 0:a945081a4a9e | 57 | char cast[8]; |
Sigma884 | 0:a945081a4a9e | 58 | }; |
Sigma884 | 0:a945081a4a9e | 59 | union EEPROM_CAST EEPROM_cast; |
Sigma884 | 0:a945081a4a9e | 60 | |
Sigma884 | 0:a945081a4a9e | 61 | char cmd[130]; //I2C通信用コマンド配列 |
Sigma884 | 0:a945081a4a9e | 62 | //int max_ptr; //最大どこまで書き込めるか |
Sigma884 | 0:a945081a4a9e | 63 | int max_num; |
Sigma884 | 0:a945081a4a9e | 64 | |
Sigma884 | 0:a945081a4a9e | 65 | int buff_ptr; //バッファの何個目まで入っているか |
Sigma884 | 0:a945081a4a9e | 66 | //int eeprom_ptr; //いまどこまで書き込んでいるか |
Sigma884 | 0:a945081a4a9e | 67 | |
Sigma884 | 0:a945081a4a9e | 68 | char ptr[4]; |
Sigma884 | 0:a945081a4a9e | 69 | }; |
Sigma884 | 0:a945081a4a9e | 70 | |
Sigma884 | 0:a945081a4a9e | 71 | #endif |