Initial InfiniSim project
This commit is contained in:
46
sim/drivers/Hrs3300.h
Normal file
46
sim/drivers/Hrs3300.h
Normal file
@@ -0,0 +1,46 @@
|
||||
#pragma once
|
||||
|
||||
#include "drivers/TwiMaster.h"
|
||||
|
||||
namespace Pinetime {
|
||||
namespace Drivers {
|
||||
class Hrs3300 {
|
||||
public:
|
||||
enum class Registers : uint8_t {
|
||||
Id = 0x00,
|
||||
Enable = 0x01,
|
||||
EnableHen = 0x80,
|
||||
C1dataM = 0x08,
|
||||
C0DataM = 0x09,
|
||||
C0DataH = 0x0a,
|
||||
PDriver = 0x0c,
|
||||
C1dataH = 0x0d,
|
||||
C1dataL = 0x0e,
|
||||
C0dataL = 0x0f,
|
||||
Res = 0x16,
|
||||
Hgain = 0x17
|
||||
};
|
||||
|
||||
Hrs3300(TwiMaster& twiMaster, uint8_t twiAddress);
|
||||
Hrs3300(const Hrs3300&) = delete;
|
||||
Hrs3300& operator=(const Hrs3300&) = delete;
|
||||
Hrs3300(Hrs3300&&) = delete;
|
||||
Hrs3300& operator=(Hrs3300&&) = delete;
|
||||
|
||||
void Init();
|
||||
void Enable();
|
||||
void Disable();
|
||||
uint16_t ReadHrs();
|
||||
uint16_t ReadAls();
|
||||
void SetGain(uint8_t gain);
|
||||
void SetDrive(uint8_t drive);
|
||||
|
||||
private:
|
||||
TwiMaster& twiMaster;
|
||||
uint8_t twiAddress;
|
||||
|
||||
void WriteRegister(uint8_t reg, uint8_t data);
|
||||
uint8_t ReadRegister(uint8_t reg);
|
||||
};
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user