diff --git a/adafruit_si1145.py b/adafruit_si1145.py index 2b96c64..0ed3068 100644 --- a/adafruit_si1145.py +++ b/adafruit_si1145.py @@ -27,51 +27,66 @@ """ import time -import struct from micropython import const from adafruit_bus_device import i2c_device +from adafruit_register.i2c_struct import Struct __version__ = "0.0.0-auto.0" __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_SI1145.git" # Registers -SI1145_DEFAULT_ADDRESS = const(0x60) -SI1145_PART_ID = const(0x00) -SI1145_HW_KEY = const(0x07) -SI1145_PARAM_WR = const(0x17) -SI1145_COMMAND = const(0x18) -SI1145_RESPONSE = const(0x20) -SI1145_ALS_VIS_DATA0 = const(0x22) -SI1145_PARAM_RD = const(0x2E) +_DEFAULT_ADDRESS = const(0x60) +_PART_ID = const(0x00) +_HW_KEY = const(0x07) +_COEFF_0 = const(0x13) +_COEFF_1 = const(0x14) +_COEFF_2 = const(0x15) +_COEFF_3 = const(0x16) +_PARAM_WR = const(0x17) +_COMMAND = const(0x18) +_RESPONSE = const(0x20) +_ALS_VIS_DATA0 = const(0x22) +_UV_INDEX_DATA0 = const(0x2C) +_PARAM_RD = const(0x2E) # Commands (for COMMAND register) -SI1145_CMD_PARAM_QUERY = const(0b10000000) -SI1145_CMD_PARAM_SET = const(0b10100000) -SI1145_CMD_NOP = const(0b00000000) -SI1145_CMD_RESET = const(0b00000001) -SI1145_CMD_ALS_FORCE = const(0b00000110) +_CMD_PARAM_QUERY = const(0b10000000) +_CMD_PARAM_SET = const(0b10100000) +_CMD_NOP = const(0b00000000) +_CMD_RESET = const(0b00000001) +_CMD_ALS_FORCE = const(0b00000110) # RAM Parameter Offsets (use with PARAM_QUERY / PARAM_SET) -SI1145_RAM_CHLIST = const(0x01) +_RAM_CHLIST = const(0x01) class SI1145: """Driver for the SI1145 UV, IR, Visible Light Sensor.""" - def __init__(self, i2c, address=SI1145_DEFAULT_ADDRESS): - self._i2c = i2c_device.I2CDevice(i2c, address) + _device_info = Struct(_PART_ID, "