Maxim DS1683 Total-Elapsed -Time and Event Recorder with Alarm
DS1683.h@0:7c0469e71fa2, 2017-01-18 (annotated)
- Committer:
- Rhyme
- Date:
- Wed Jan 18 23:26:24 2017 +0000
- Revision:
- 0:7c0469e71fa2
- Child:
- 1:8fa5400054bd
First working version.; A lot of clean up required.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Rhyme | 0:7c0469e71fa2 | 1 | #ifndef _DS1683_H_ |
Rhyme | 0:7c0469e71fa2 | 2 | #define _DS1683_H_ |
Rhyme | 0:7c0469e71fa2 | 3 | |
Rhyme | 0:7c0469e71fa2 | 4 | /** |
Rhyme | 0:7c0469e71fa2 | 5 | * Maxim DS1683 Total-Elasped-Time and Event Recorder with Alarm |
Rhyme | 0:7c0469e71fa2 | 6 | * |
Rhyme | 0:7c0469e71fa2 | 7 | * @code |
Rhyme | 0:7c0469e71fa2 | 8 | * // write sample code here // |
Rhyme | 0:7c0469e71fa2 | 9 | * @endcode |
Rhyme | 0:7c0469e71fa2 | 10 | */ |
Rhyme | 0:7c0469e71fa2 | 11 | |
Rhyme | 0:7c0469e71fa2 | 12 | class DS1683 |
Rhyme | 0:7c0469e71fa2 | 13 | { |
Rhyme | 0:7c0469e71fa2 | 14 | public: |
Rhyme | 0:7c0469e71fa2 | 15 | /** |
Rhyme | 0:7c0469e71fa2 | 16 | * DS1683 constructor |
Rhyme | 0:7c0469e71fa2 | 17 | * |
Rhyme | 0:7c0469e71fa2 | 18 | * @param sda SDA pin |
Rhyme | 0:7c0469e71fa2 | 19 | * @param sdl SCL pin |
Rhyme | 0:7c0469e71fa2 | 20 | * @param event EVENT pin (input) |
Rhyme | 0:7c0469e71fa2 | 21 | * @param alarm ALARM pin (output) |
Rhyme | 0:7c0469e71fa2 | 22 | * @param addr addr of the I2C peripheral |
Rhyme | 0:7c0469e71fa2 | 23 | */ |
Rhyme | 0:7c0469e71fa2 | 24 | DS1683(PinName sda, PinName scl, PinName event, PinName alarm, int addr); |
Rhyme | 0:7c0469e71fa2 | 25 | |
Rhyme | 0:7c0469e71fa2 | 26 | /** |
Rhyme | 0:7c0469e71fa2 | 27 | * DS1683 destructor |
Rhyme | 0:7c0469e71fa2 | 28 | */ |
Rhyme | 0:7c0469e71fa2 | 29 | ~DS1683() ; |
Rhyme | 0:7c0469e71fa2 | 30 | |
Rhyme | 0:7c0469e71fa2 | 31 | void enterPW(uint32_t pass) ; |
Rhyme | 0:7c0469e71fa2 | 32 | void setCommand(uint8_t cmd) ; |
Rhyme | 0:7c0469e71fa2 | 33 | uint8_t getCommand(void) ; |
Rhyme | 0:7c0469e71fa2 | 34 | void setConfig(uint8_t conf) ; |
Rhyme | 0:7c0469e71fa2 | 35 | uint8_t getConfig(void) ; |
Rhyme | 0:7c0469e71fa2 | 36 | uint8_t getStatus(void) ; |
Rhyme | 0:7c0469e71fa2 | 37 | |
Rhyme | 0:7c0469e71fa2 | 38 | void clearAlarm(void) ; |
Rhyme | 0:7c0469e71fa2 | 39 | |
Rhyme | 0:7c0469e71fa2 | 40 | void setETCAlarm(uint32_t count) ; |
Rhyme | 0:7c0469e71fa2 | 41 | uint32_t getETCAlarm(void) ; |
Rhyme | 0:7c0469e71fa2 | 42 | void setETC(uint32_t count) ; |
Rhyme | 0:7c0469e71fa2 | 43 | uint32_t getETC(void) ; |
Rhyme | 0:7c0469e71fa2 | 44 | void clearETC(void) ; |
Rhyme | 0:7c0469e71fa2 | 45 | |
Rhyme | 0:7c0469e71fa2 | 46 | void setEventAlarm(uint16_t count) ; |
Rhyme | 0:7c0469e71fa2 | 47 | uint16_t getEventAlarm(void) ; |
Rhyme | 0:7c0469e71fa2 | 48 | void setEventCount(uint16_t count) ; |
Rhyme | 0:7c0469e71fa2 | 49 | uint16_t getEventCount(void) ; |
Rhyme | 0:7c0469e71fa2 | 50 | void clearEvent(void) ; |
Rhyme | 0:7c0469e71fa2 | 51 | |
Rhyme | 0:7c0469e71fa2 | 52 | void enableETCAlarm(void) ; |
Rhyme | 0:7c0469e71fa2 | 53 | void disableETCAlarm(void) ; |
Rhyme | 0:7c0469e71fa2 | 54 | void enableEventAlarm(void) ; |
Rhyme | 0:7c0469e71fa2 | 55 | void disableEventAlarm(void) ; |
Rhyme | 0:7c0469e71fa2 | 56 | void alarmPol(int pol) ; |
Rhyme | 0:7c0469e71fa2 | 57 | void dumpRegs(void) ; |
Rhyme | 0:7c0469e71fa2 | 58 | void dumpETC(void) ; |
Rhyme | 0:7c0469e71fa2 | 59 | void dumpEvent(void) ; |
Rhyme | 0:7c0469e71fa2 | 60 | |
Rhyme | 0:7c0469e71fa2 | 61 | int write(int addr, uint8_t *data, int len) ; |
Rhyme | 0:7c0469e71fa2 | 62 | int read(int addr, uint8_t *data, int len) ; |
Rhyme | 0:7c0469e71fa2 | 63 | uint8_t readReg8(int addr) ; |
Rhyme | 0:7c0469e71fa2 | 64 | void writeReg8(int addr, uint8_t value) ; |
Rhyme | 0:7c0469e71fa2 | 65 | uint16_t readReg16(int addr) ; |
Rhyme | 0:7c0469e71fa2 | 66 | void writeReg16(int addr, uint16_t value) ; |
Rhyme | 0:7c0469e71fa2 | 67 | uint32_t readReg32(int addr) ; |
Rhyme | 0:7c0469e71fa2 | 68 | void writeReg32(int addr, uint32_t value) ; |
Rhyme | 0:7c0469e71fa2 | 69 | |
Rhyme | 0:7c0469e71fa2 | 70 | DigitalOut event ; |
Rhyme | 0:7c0469e71fa2 | 71 | InterruptIn alarm ; |
Rhyme | 0:7c0469e71fa2 | 72 | |
Rhyme | 0:7c0469e71fa2 | 73 | private: |
Rhyme | 0:7c0469e71fa2 | 74 | I2C m_i2c ; |
Rhyme | 0:7c0469e71fa2 | 75 | int m_addr ; |
Rhyme | 0:7c0469e71fa2 | 76 | |
Rhyme | 0:7c0469e71fa2 | 77 | |
Rhyme | 0:7c0469e71fa2 | 78 | int readRegs(int addr, uint8_t * data, int len) ; |
Rhyme | 0:7c0469e71fa2 | 79 | int writeRegs(uint8_t * data, int len) ; |
Rhyme | 0:7c0469e71fa2 | 80 | |
Rhyme | 0:7c0469e71fa2 | 81 | } ; |
Rhyme | 0:7c0469e71fa2 | 82 | #endif /* _DS1683_H_ */ |