mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 15:00:02 +02:00
42 lines
1.4 KiB
C
42 lines
1.4 KiB
C
// SPDX-License-Identifier: LGPL-3.0-or-other
|
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
|
#pragma once
|
|
|
|
#include <inttypes.h>
|
|
|
|
/**
|
|
* Configure the I2C core and Enable core
|
|
* @param rOhm shunt resister value in Ohms (defined in
|
|
* slsDetectorServer_defs.h)
|
|
* @param creg control register (defined in RegisterDefs.h)
|
|
* @param sreg status register (defined in RegisterDefs.h)
|
|
* @param rreg rx data fifo register (defined in RegisterDefs.h)
|
|
* @param rlvlreg rx data fifo level register (defined in RegisterDefs.h)
|
|
* @param slreg scl low count register (defined in RegisterDefs.h)
|
|
* @param shreg scl high count register (defined in RegisterDefs.h)
|
|
* @param sdreg sda hold register (defined in RegisterDefs.h)
|
|
* @param treg transfer command fifo register (defined in RegisterDefs.h)
|
|
*/
|
|
void INA226_ConfigureI2CCore(double rOhm, uint32_t creg, uint32_t sreg,
|
|
uint32_t rreg, uint32_t rlvlreg, uint32_t slreg,
|
|
uint32_t shreg, uint32_t sdreg, uint32_t treg);
|
|
|
|
/**
|
|
* Calibrate resolution of current register
|
|
* @param deviceId device Id (defined in slsDetectorServer_defs.h)
|
|
*/
|
|
void INA226_CalibrateCurrentRegister(uint32_t deviceId);
|
|
|
|
/**
|
|
* Read voltage of device
|
|
* @param deviceId device Id
|
|
* @returns voltage in mV
|
|
*/
|
|
int INA226_ReadVoltage(uint32_t deviceId);
|
|
|
|
/**
|
|
* Read current
|
|
* @param deviceId device Id
|
|
* @returns current in mA
|
|
*/
|
|
int INA226_ReadCurrent(uint32_t deviceId); |