[Lib] RadSens: Add non-incremental pulses reading and reset of incremental counter

This commit is contained in:
Ton Huisman
2024-08-23 11:19:09 +02:00
parent 3d71907e15
commit 5c4f1323e2
2 changed files with 18 additions and 1 deletions
+15 -1
View File
@@ -83,7 +83,8 @@ void CG_RadSens::updatePulses()
uint8_t res[2];
if (i2c_read(RS_PULSE_COUNTER_RG, res, 2))
{
_pulse_cnt += (res[0] << 8) | res[1];
_new_cnt = (res[0] << 8) | res[1];
_pulse_cnt += _new_cnt;
}
}
@@ -95,6 +96,19 @@ uint32_t CG_RadSens::getNumberOfPulses()
return _pulse_cnt;
}
/*Get current number of pulses*/
uint32_t CG_RadSens::getNumberOfNewPulses()
{
updatePulses();
return _new_cnt;
}
/*Reset accumulated count*/
void CG_RadSens::resetPulses()
{
_pulse_cnt = 0;
}
/*Get sensor address.*/
uint8_t CG_RadSens::getSensorAddress()
{
+3
View File
@@ -88,6 +88,7 @@ private:
uint8_t _chip_id = 0;
uint8_t _firmware_ver = 0;
uint32_t _pulse_cnt = 0;
uint32_t _new_cnt = 0;
bool i2c_read(uint8_t RegAddr, uint8_t *dest, uint8_t num);
void updatePulses();
@@ -100,6 +101,8 @@ public:
float getRadIntensyDynamic();
float getRadIntensyStatic();
uint32_t getNumberOfPulses();
uint32_t getNumberOfNewPulses();
void resetPulses();
uint8_t getSensorAddress();
bool getHVGeneratorState();
bool getLedState();