kopia lustrzana https://github.com/RobertGawron/IonizationChamber
25 wiersze
699 B
Python
25 wiersze
699 B
Python
# based on https://ww1.microchip.com/downloads/en/DeviceDoc/22072b.pdf
|
|
# assumed that gain = 1
|
|
|
|
from enum import Enum
|
|
|
|
class MCP3425_RESOLUTION(Enum):
|
|
R12 = 1
|
|
R13 = 2
|
|
R14 = 3
|
|
|
|
def convert(upperByte, lowerByte, resolution):
|
|
digitalToAnalog = lambda value, lsb, pga: (value * (lsb / pga))
|
|
|
|
digitalOutput = (upperByte << 8) | lowerByte;
|
|
|
|
if resolution == MCP3425_RESOLUTION.R12:
|
|
return digitalToAnalog(digitalOutput, (1 * 0.01), 1)
|
|
|
|
if resolution == MCP3425_RESOLUTION.R13:
|
|
return digitalToAnalog(digitalOutput, (250 * 0.0000001), 1)
|
|
|
|
if resolution == MCP3425_RESOLUTION.R14:
|
|
return digitalToAnalog(digitalOutput, (62.5 * 0.000001), 1)
|
|
|