Files
Maixduino/libraries/AXP173/AXP173.h
2020-11-02 21:05:00 +02:00

54 lines
1.3 KiB
C++

#ifndef __AXP173_H__
#define __AXP173_H__
#include <Wire.h>
#include <Arduino.h>
#define SLEEP_MSEC(us) (((uint64_t)us) * 1000L)
#define SLEEP_SEC(us) (((uint64_t)us) * 1000000L)
#define SLEEP_MIN(us) (((uint64_t)us) * 60L * 1000000L)
#define SLEEP_HR(us) (((uint64_t)us) * 60L * 60L * 1000000L)
#define AXP_ADDR 0X34
#define CURRENT_100MA (0b0000)
#define CURRENT_190MA (0b0001)
#define CURRENT_280MA (0b0010)
#define CURRENT_360MA (0b0011)
#define CURRENT_450MA (0b0100)
#define CURRENT_550MA (0b0101)
#define CURRENT_630MA (0b0110)
#define CURRENT_700MA (0b0111)
class AXP173 {
public:
AXP173();
/**
* DCDC1: 3V3 Main rail. When not set the stick shuts down
* DCDC2: 0V9 K210 VCore
* DCDC3: 1V8 Use unknown
* LDO1: Don't set GPIO1 as LDO
* LDO2: 2V8 Display backlight
* LDO3: 1V5 Display Control
* GPIO0: LDO1 LCD_BL
* EXTEN:
*/
void begin(bool isInited = false);
public:
private:
void Write1Byte( uint8_t Addr , uint8_t Data );
uint8_t Read8bit( uint8_t Addr );
uint16_t Read12Bit( uint8_t Addr);
uint16_t Read13Bit( uint8_t Addr);
uint16_t Read16bit( uint8_t Addr );
uint32_t Read24bit( uint8_t Addr );
uint32_t Read32bit( uint8_t Addr );
void ReadBuff( uint8_t Addr , uint8_t Size , uint8_t *Buff );
};
#endif