Changes
This commit is contained in:
@@ -23,6 +23,33 @@ uint16_t get_word(uint8_t address, uint8_t reg) {
|
|||||||
return (data[1] << 8) | data[0];
|
return (data[1] << 8) | data[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char* INA233::print_device_number() {
|
||||||
|
char data[6];
|
||||||
|
int16_t rawVoltage;
|
||||||
|
|
||||||
|
// Request data from the PMBus device
|
||||||
|
Wire.beginTransmission(INA233::_address);
|
||||||
|
Wire.write(0x9A);
|
||||||
|
Wire.endTransmission();
|
||||||
|
Wire.requestFrom(INA233::_address, 6);
|
||||||
|
|
||||||
|
if (Wire.available() == 6) {
|
||||||
|
data[0] = Wire.read();
|
||||||
|
data[1] = Wire.read();
|
||||||
|
data[2] = Wire.read();
|
||||||
|
data[3] = Wire.read();
|
||||||
|
data[4] = Wire.read();
|
||||||
|
data[5] = Wire.read();
|
||||||
|
} else {
|
||||||
|
// return 0 on error
|
||||||
|
data[0] = '\0';
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Combine the two bytes into a single 16-bit value
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void sendWord(uint8_t deviceAddress, uint8_t registerAddress, uint16_t value) {
|
void sendWord(uint8_t deviceAddress, uint8_t registerAddress, uint16_t value) {
|
||||||
Wire.beginTransmission(deviceAddress);
|
Wire.beginTransmission(deviceAddress);
|
||||||
|
|||||||
@@ -32,20 +32,21 @@ enum ConversionTime {
|
|||||||
|
|
||||||
class INA233{
|
class INA233{
|
||||||
public:
|
public:
|
||||||
INA233(uint8_t addr, TwoWire *wire = &Wire);
|
char* print_device_number();
|
||||||
bool begin(const uint8_t sda, const uint8_t scl);
|
INA233(uint8_t addr, TwoWire* wire = &Wire);
|
||||||
|
bool begin(const uint8_t sda, const uint8_t scl);
|
||||||
|
|
||||||
float getBusVoltage(void);
|
float getBusVoltage(void);
|
||||||
float getShuntVoltage_mV(void);
|
float getShuntVoltage_mV(void);
|
||||||
float getShuntVoltage(void);
|
float getShuntVoltage(void);
|
||||||
|
|
||||||
void setAveragingMode(AveragingMode);
|
void setAveragingMode(AveragingMode);
|
||||||
void setBusVoltageConversionTime(ConversionTime);
|
void setBusVoltageConversionTime(ConversionTime);
|
||||||
void setShuntVoltageConversionTime(ConversionTime);
|
void setShuntVoltageConversionTime(ConversionTime);
|
||||||
|
|
||||||
uint16_t getConfigRegister();
|
|
||||||
|
|
||||||
bool isConnected(void);
|
uint16_t getConfigRegister();
|
||||||
|
|
||||||
|
bool isConnected(void);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
float _current_LSB;
|
float _current_LSB;
|
||||||
|
|||||||
@@ -40,6 +40,9 @@ void read_sensor_task(void* parameter)
|
|||||||
while (true) {
|
while (true) {
|
||||||
// Get Values from sensor
|
// Get Values from sensor
|
||||||
|
|
||||||
|
char* chip_id = ina_sensor.print_device_number(0x40);
|
||||||
|
logger.log(MYLOG, ERROR, "Chip Model: %s", chip_id);
|
||||||
|
|
||||||
float bus_voltage = ina_sensor.getBusVoltage();
|
float bus_voltage = ina_sensor.getBusVoltage();
|
||||||
float shunt_voltage = ina_sensor.getShuntVoltage_mV() - zero_value;
|
float shunt_voltage = ina_sensor.getShuntVoltage_mV() - zero_value;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user