Maxim DS1683 Total-Elapsed -Time and Event Recorder with Alarm

Dependents:   testDS1683

Committer:
Rhyme
Date:
Wed Apr 12 07:22:55 2017 +0000
Revision:
2:f262ba460525
Parent:
1:8fa5400054bd
additional stops in write removed

Who changed what in which revision?

UserRevisionLine numberNew 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 1:8fa5400054bd 31 /**
Rhyme 1:8fa5400054bd 32 * enter password
Rhyme 1:8fa5400054bd 33 *
Rhyme 1:8fa5400054bd 34 * @param pass unsigned long password value, initial value is 0xFFFFFFFF
Rhyme 1:8fa5400054bd 35 */
Rhyme 0:7c0469e71fa2 36 void enterPW(uint32_t pass) ;
Rhyme 0:7c0469e71fa2 37 void setCommand(uint8_t cmd) ;
Rhyme 0:7c0469e71fa2 38 uint8_t getCommand(void) ;
Rhyme 0:7c0469e71fa2 39 void setConfig(uint8_t conf) ;
Rhyme 0:7c0469e71fa2 40 uint8_t getConfig(void) ;
Rhyme 0:7c0469e71fa2 41 uint8_t getStatus(void) ;
Rhyme 0:7c0469e71fa2 42
Rhyme 0:7c0469e71fa2 43 void clearAlarm(void) ;
Rhyme 0:7c0469e71fa2 44
Rhyme 0:7c0469e71fa2 45 void setETCAlarm(uint32_t count) ;
Rhyme 0:7c0469e71fa2 46 uint32_t getETCAlarm(void) ;
Rhyme 0:7c0469e71fa2 47 void setETC(uint32_t count) ;
Rhyme 0:7c0469e71fa2 48 uint32_t getETC(void) ;
Rhyme 0:7c0469e71fa2 49 void clearETC(void) ;
Rhyme 0:7c0469e71fa2 50
Rhyme 0:7c0469e71fa2 51 void setEventAlarm(uint16_t count) ;
Rhyme 0:7c0469e71fa2 52 uint16_t getEventAlarm(void) ;
Rhyme 0:7c0469e71fa2 53 void setEventCount(uint16_t count) ;
Rhyme 0:7c0469e71fa2 54 uint16_t getEventCount(void) ;
Rhyme 0:7c0469e71fa2 55 void clearEvent(void) ;
Rhyme 0:7c0469e71fa2 56
Rhyme 0:7c0469e71fa2 57 void enableETCAlarm(void) ;
Rhyme 0:7c0469e71fa2 58 void disableETCAlarm(void) ;
Rhyme 0:7c0469e71fa2 59 void enableEventAlarm(void) ;
Rhyme 0:7c0469e71fa2 60 void disableEventAlarm(void) ;
Rhyme 0:7c0469e71fa2 61 void alarmPol(int pol) ;
Rhyme 1:8fa5400054bd 62 void clearRegs(void) ;
Rhyme 0:7c0469e71fa2 63 void dumpRegs(void) ;
Rhyme 0:7c0469e71fa2 64 void dumpETC(void) ;
Rhyme 0:7c0469e71fa2 65 void dumpEvent(void) ;
Rhyme 0:7c0469e71fa2 66
Rhyme 0:7c0469e71fa2 67 int write(int addr, uint8_t *data, int len) ;
Rhyme 0:7c0469e71fa2 68 int read(int addr, uint8_t *data, int len) ;
Rhyme 0:7c0469e71fa2 69 uint8_t readReg8(int addr) ;
Rhyme 0:7c0469e71fa2 70 void writeReg8(int addr, uint8_t value) ;
Rhyme 0:7c0469e71fa2 71 uint16_t readReg16(int addr) ;
Rhyme 0:7c0469e71fa2 72 void writeReg16(int addr, uint16_t value) ;
Rhyme 0:7c0469e71fa2 73 uint32_t readReg32(int addr) ;
Rhyme 0:7c0469e71fa2 74 void writeReg32(int addr, uint32_t value) ;
Rhyme 0:7c0469e71fa2 75
Rhyme 0:7c0469e71fa2 76 DigitalOut event ;
Rhyme 0:7c0469e71fa2 77 InterruptIn alarm ;
Rhyme 0:7c0469e71fa2 78
Rhyme 0:7c0469e71fa2 79 private:
Rhyme 0:7c0469e71fa2 80 I2C m_i2c ;
Rhyme 0:7c0469e71fa2 81 int m_addr ;
Rhyme 0:7c0469e71fa2 82
Rhyme 0:7c0469e71fa2 83
Rhyme 0:7c0469e71fa2 84 int readRegs(int addr, uint8_t * data, int len) ;
Rhyme 0:7c0469e71fa2 85 int writeRegs(uint8_t * data, int len) ;
Rhyme 0:7c0469e71fa2 86
Rhyme 0:7c0469e71fa2 87 } ;
Rhyme 0:7c0469e71fa2 88 #endif /* _DS1683_H_ */