Skip to content

Commit 70516fd

Browse files
committed
ready for release!?
1 parent 5b305da commit 70516fd

File tree

3 files changed

+96
-227
lines changed

3 files changed

+96
-227
lines changed

README.rst

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,32 @@ Usage Example
6262

6363
.. code-block:: python
6464
65+
from time import sleep
6566
import board
66-
import adafruit_as7341
67+
import busio
68+
from adafruit_as7341 import AS7341
6769
68-
i2c = board.I2C()
69-
sensor = adafruit_as7341.AS7341(i2c)
70+
i2c = busio.I2C(board.SCL, board.SDA)
71+
sensor = AS7341(i2c)
72+
73+
74+
def bar_graph(read_value):
75+
scaled = int(read_value / 1000)
76+
return "[%5d] " % read_value + (scaled * "*")
77+
78+
79+
while True:
80+
81+
print("F1 - 415nm/Violet %s" % bar_graph(sensor.channel_415nm))
82+
print("F2 - 445nm//Indigo %s" % bar_graph(sensor.channel_445nm))
83+
print("F3 - 480nm//Blue %s" % bar_graph(sensor.channel_480nm))
84+
print("F4 - 515nm//Cyan %s" % bar_graph(sensor.channel_515nm))
85+
print("F5 - 555nm/Green %s" % bar_graph(sensor.channel_555nm))
86+
print("F6 - 590nm/Yellow %s" % bar_graph(sensor.channel_590nm))
87+
print("F7 - 630nm/Orange %s" % bar_graph(sensor.channel_630nm))
88+
print("F8 - 680nm/Red %s" % bar_graph(sensor.channel_680nm))
89+
print("\n------------------------------------------------")
90+
sleep(1)
7091
7192
Contributing
7293
============

adafruit_as7341.py

Lines changed: 72 additions & 195 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,8 @@ class Gain(CV):
166166
)
167167

168168

169-
SmuxIn = namedtuple(
170-
"SmuxIn",
169+
_SmuxIn = namedtuple(
170+
"_SmuxIn",
171171
[
172172
"NC_F3L",
173173
"F1L_NC",
@@ -191,12 +191,10 @@ class Gain(CV):
191191
"NIR_F",
192192
],
193193
)
194-
SMUX_IN = SmuxIn(*list(range(20)))
194+
SMUX_IN = _SmuxIn(*list(range(20)))
195195

196-
SmuxOut = namedtuple("SmuxOut", "DISABLED ADC0 ADC1 ADC2 ADC3 ADC4 ADC5")
197-
SMUX_OUT = SmuxOut(*list(range(7)))
198-
199-
SensorChannel = namedtuple("SensorChannel", ["value", "name", "wavelength", "width"])
196+
_SmuxOut = namedtuple("_SmuxOut", "DISABLED ADC0 ADC1 ADC2 ADC3 ADC4 ADC5")
197+
SMUX_OUT = _SmuxOut(*list(range(7)))
200198

201199

202200
class AS7341: # pylint:disable=too-many-instance-attributes
@@ -208,16 +206,6 @@ class AS7341: # pylint:disable=too-many-instance-attributes
208206
209207
"""
210208

211-
# _COLOR_CHANNELS = {
212-
# "F1": ("415nm", "26"),
213-
# "F2": ("445nm", "30"),
214-
# "F3": ("480nm", "36"),
215-
# "F4": ("515nm", "39"),
216-
# "F5": ("555nm", "39"),
217-
# "F6": ("590nm", "40"),
218-
# "F7": ("630nm", "50"),
219-
# "F8": ("680nm", "52"),
220-
# }
221209
_device_id = ROBits(6, _AS7341_WHOAMI, 2)
222210

223211
_smux_enable_bit = RWBit(_AS7341_ENABLE, 4)
@@ -236,29 +224,18 @@ class AS7341: # pylint:disable=too-many-instance-attributes
236224
_channel_4_data = UnaryStruct(_AS7341_CH4_DATA_L, "<H")
237225
_channel_5_data = UnaryStruct(_AS7341_CH5_DATA_L, "<H")
238226

239-
_int_to_adc = RWBit(_AS7341_GPIO, 0)
240-
_gpio_to_adc = RWBit(_AS7341_GPIO, 1)
241-
_gpio_as_input = RWBit(_AS7341_GPIO2, 2)
242-
243227
# "Reading the ASTATUS register (0x60 or 0x94) latches
244228
# all 12 spectral data bytes to that status read." Datasheet Sec. 10.2.7
245229
_all_channels = Struct(_AS7341_ASTATUS, "<BHHHHHH")
246230
_led_current_bits = RWBits(7, _AS7341_LED, 0)
247231
_led_enabled = RWBit(_AS7341_LED, 7)
248-
_cfg0 = UnaryStruct(_AS7341_CFG0, "<B")
249232
atime = UnaryStruct(_AS7341_ATIME, "<B")
250233
"""The integration time step count.
251234
Total integration time will be ``(ATIME + 1) * (ASTEP + 1) * 2.78µS``
252235
"""
253236
astep = UnaryStruct(_AS7341_ASTEP_L, "<H")
254237
""" The integration time step size in 2.78 microsecond increments"""
255238
_gain = UnaryStruct(_AS7341_CFG1, "<B")
256-
"""The ADC gain multiplier
257-
*
258-
* @param gain_value The gain amount. must be an `as7341_gain_t`
259-
* @return true: success false: failure
260-
*/
261-
"""
262239
_data_ready_bit = RWBit(_AS7341_STATUS2, 6)
263240
"""
264241
* @brief
@@ -352,6 +329,8 @@ def channel_680nm(self):
352329
self._configure_f5_f8()
353330
return self._channel_3_data
354331

332+
# TODO: Add clear and NIR accessors
333+
355334
def _wait_for_data(self, timeout=1.0):
356335
"""Wait for sensor data to be ready"""
357336
start = monotonic()
@@ -420,7 +399,7 @@ def flicker_detected(self):
420399
"""The flicker frequency detected in Hertz"""
421400
if not self._flicker_detection_1k_configured:
422401
AttributeError(
423-
"Flicker detection must be enabled to access `flicker_frequency`"
402+
"Flicker detection must be enabled to access `flicker_detected`"
424403
)
425404
flicker_status = self._fd_status
426405

@@ -434,7 +413,7 @@ def flicker_detected(self):
434413
@property
435414
def flicker_detection_enabled(self):
436415
"""The flicker detection status of the sensor. True if the sensor is configured\
437-
to detect flickers
416+
to detect flickers. Currently only 1000Hz and 1200Hz flicker detection is supported
438417
"""
439418
return self._flicker_detection_1k_configured
440419

@@ -447,49 +426,49 @@ def flicker_detection_enabled(self, flicker_enable):
447426

448427
def _f1f4_clear_nir(self):
449428
"""Configure SMUX for sensors F1-F4, Clear and NIR"""
450-
self.set_smux(SMUX_IN.NC_F3L, SMUX_OUT.DISABLED, SMUX_OUT.ADC2)
451-
self.set_smux(SMUX_IN.F1L_NC, SMUX_OUT.ADC0, SMUX_OUT.DISABLED)
452-
self.set_smux(SMUX_IN.NC_NC0, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
453-
self.set_smux(SMUX_IN.NC_F8L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
454-
self.set_smux(SMUX_IN.F6L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
455-
self.set_smux(SMUX_IN.F2L_F4L, SMUX_OUT.ADC1, SMUX_OUT.ADC3)
456-
self.set_smux(SMUX_IN.NC_F5L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
457-
self.set_smux(SMUX_IN.F7L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
458-
self.set_smux(SMUX_IN.NC_CL, SMUX_OUT.DISABLED, SMUX_OUT.ADC4)
459-
self.set_smux(SMUX_IN.NC_F5R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
460-
self.set_smux(SMUX_IN.F7R_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
461-
self.set_smux(SMUX_IN.NC_NC1, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
462-
self.set_smux(SMUX_IN.NC_F2R, SMUX_OUT.DISABLED, SMUX_OUT.ADC1)
463-
self.set_smux(SMUX_IN.F4R_NC, SMUX_OUT.ADC3, SMUX_OUT.DISABLED)
464-
self.set_smux(SMUX_IN.F8R_F6R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
465-
self.set_smux(SMUX_IN.NC_F3R, SMUX_OUT.DISABLED, SMUX_OUT.ADC2)
466-
self.set_smux(SMUX_IN.F1R_EXT_GPIO, SMUX_OUT.ADC0, SMUX_OUT.DISABLED)
467-
self.set_smux(SMUX_IN.EXT_INT_CR, SMUX_OUT.DISABLED, SMUX_OUT.ADC4)
468-
self.set_smux(SMUX_IN.NC_DARK, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
469-
self.set_smux(SMUX_IN.NIR_F, SMUX_OUT.ADC5, SMUX_OUT.DISABLED)
429+
self._set_smux(SMUX_IN.NC_F3L, SMUX_OUT.DISABLED, SMUX_OUT.ADC2)
430+
self._set_smux(SMUX_IN.F1L_NC, SMUX_OUT.ADC0, SMUX_OUT.DISABLED)
431+
self._set_smux(SMUX_IN.NC_NC0, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
432+
self._set_smux(SMUX_IN.NC_F8L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
433+
self._set_smux(SMUX_IN.F6L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
434+
self._set_smux(SMUX_IN.F2L_F4L, SMUX_OUT.ADC1, SMUX_OUT.ADC3)
435+
self._set_smux(SMUX_IN.NC_F5L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
436+
self._set_smux(SMUX_IN.F7L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
437+
self._set_smux(SMUX_IN.NC_CL, SMUX_OUT.DISABLED, SMUX_OUT.ADC4)
438+
self._set_smux(SMUX_IN.NC_F5R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
439+
self._set_smux(SMUX_IN.F7R_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
440+
self._set_smux(SMUX_IN.NC_NC1, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
441+
self._set_smux(SMUX_IN.NC_F2R, SMUX_OUT.DISABLED, SMUX_OUT.ADC1)
442+
self._set_smux(SMUX_IN.F4R_NC, SMUX_OUT.ADC3, SMUX_OUT.DISABLED)
443+
self._set_smux(SMUX_IN.F8R_F6R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
444+
self._set_smux(SMUX_IN.NC_F3R, SMUX_OUT.DISABLED, SMUX_OUT.ADC2)
445+
self._set_smux(SMUX_IN.F1R_EXT_GPIO, SMUX_OUT.ADC0, SMUX_OUT.DISABLED)
446+
self._set_smux(SMUX_IN.EXT_INT_CR, SMUX_OUT.DISABLED, SMUX_OUT.ADC4)
447+
self._set_smux(SMUX_IN.NC_DARK, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
448+
self._set_smux(SMUX_IN.NIR_F, SMUX_OUT.ADC5, SMUX_OUT.DISABLED)
470449

471450
def _f5f8_clear_nir(self):
472451
# SMUX Config for F5,F6,F7,F8,NIR,Clear
473-
self.set_smux(SMUX_IN.NC_F3L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
474-
self.set_smux(SMUX_IN.F1L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
475-
self.set_smux(SMUX_IN.NC_NC0, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
476-
self.set_smux(SMUX_IN.NC_F8L, SMUX_OUT.DISABLED, SMUX_OUT.ADC3)
477-
self.set_smux(SMUX_IN.F6L_NC, SMUX_OUT.ADC1, SMUX_OUT.DISABLED)
478-
self.set_smux(SMUX_IN.F2L_F4L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
479-
self.set_smux(SMUX_IN.NC_F5L, SMUX_OUT.DISABLED, SMUX_OUT.ADC0)
480-
self.set_smux(SMUX_IN.F7L_NC, SMUX_OUT.ADC2, SMUX_OUT.DISABLED)
481-
self.set_smux(SMUX_IN.NC_CL, SMUX_OUT.DISABLED, SMUX_OUT.ADC4)
482-
self.set_smux(SMUX_IN.NC_F5R, SMUX_OUT.DISABLED, SMUX_OUT.ADC0)
483-
self.set_smux(SMUX_IN.F7R_NC, SMUX_OUT.ADC2, SMUX_OUT.DISABLED)
484-
self.set_smux(SMUX_IN.NC_NC1, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
485-
self.set_smux(SMUX_IN.NC_F2R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
486-
self.set_smux(SMUX_IN.F4R_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
487-
self.set_smux(SMUX_IN.F8R_F6R, SMUX_OUT.ADC2, SMUX_OUT.ADC1)
488-
self.set_smux(SMUX_IN.NC_F3R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
489-
self.set_smux(SMUX_IN.F1R_EXT_GPIO, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
490-
self.set_smux(SMUX_IN.EXT_INT_CR, SMUX_OUT.DISABLED, SMUX_OUT.ADC4)
491-
self.set_smux(SMUX_IN.NC_DARK, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
492-
self.set_smux(SMUX_IN.NIR_F, SMUX_OUT.ADC5, SMUX_OUT.DISABLED)
452+
self._set_smux(SMUX_IN.NC_F3L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
453+
self._set_smux(SMUX_IN.F1L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
454+
self._set_smux(SMUX_IN.NC_NC0, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
455+
self._set_smux(SMUX_IN.NC_F8L, SMUX_OUT.DISABLED, SMUX_OUT.ADC3)
456+
self._set_smux(SMUX_IN.F6L_NC, SMUX_OUT.ADC1, SMUX_OUT.DISABLED)
457+
self._set_smux(SMUX_IN.F2L_F4L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
458+
self._set_smux(SMUX_IN.NC_F5L, SMUX_OUT.DISABLED, SMUX_OUT.ADC0)
459+
self._set_smux(SMUX_IN.F7L_NC, SMUX_OUT.ADC2, SMUX_OUT.DISABLED)
460+
self._set_smux(SMUX_IN.NC_CL, SMUX_OUT.DISABLED, SMUX_OUT.ADC4)
461+
self._set_smux(SMUX_IN.NC_F5R, SMUX_OUT.DISABLED, SMUX_OUT.ADC0)
462+
self._set_smux(SMUX_IN.F7R_NC, SMUX_OUT.ADC2, SMUX_OUT.DISABLED)
463+
self._set_smux(SMUX_IN.NC_NC1, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
464+
self._set_smux(SMUX_IN.NC_F2R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
465+
self._set_smux(SMUX_IN.F4R_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
466+
self._set_smux(SMUX_IN.F8R_F6R, SMUX_OUT.ADC2, SMUX_OUT.ADC1)
467+
self._set_smux(SMUX_IN.NC_F3R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
468+
self._set_smux(SMUX_IN.F1R_EXT_GPIO, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
469+
self._set_smux(SMUX_IN.EXT_INT_CR, SMUX_OUT.DISABLED, SMUX_OUT.ADC4)
470+
self._set_smux(SMUX_IN.NC_DARK, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
471+
self._set_smux(SMUX_IN.NIR_F, SMUX_OUT.ADC5, SMUX_OUT.DISABLED)
493472

494473
# TODO: Convert as much of this as possible to properties or named attributes
495474
def _configure_1k_flicker_detection(self):
@@ -541,8 +520,7 @@ def _configure_1k_flicker_detection(self):
541520
self._write_register(0x1A, 0x2F)
542521
self._write_register(0x1B, 0x1A)
543522

544-
# self._write_register(_AS7341_CFG0, 0x01)
545-
self._cfg0 = 0x01
523+
self._write_register(_AS7341_CFG0, 0x01)
546524

547525
# select RAM coefficients for flicker detection by setting
548526
# fd_disable_constant_init to „1“ (FD_CFG0 register) in FD_CFG0 register -
@@ -568,107 +546,6 @@ def _configure_1k_flicker_detection(self):
568546

569547
self._flicker_detection_1k_configured = True
570548

571-
def _configure_flicker_detection(self):
572-
pass
573-
# // disable everything Flicker detect, smux, wait, spectral, power
574-
# writeRegister(byte(AS7341_ENABLE), byte(0x00))
575-
576-
# // Write SMUX configuration from RAM to set SMUX chain registers (Write 0x10
577-
# // to CFG6)
578-
# SmuxConfigRAM()
579-
580-
# // Write new configuration to all the 20 registers for detecting Flicker
581-
# FDConfig()
582-
583-
# // Start SMUX command
584-
# enableSMUX()
585-
586-
# // Enable SP_EN bit
587-
# enableSpectralMeasurement(true)
588-
589-
# writeRegister(byte(AS7341_ENABLE), byte(0x41))
590-
# delay(500)
591-
592-
# int flicker_value = getFlickerDetectStatus()
593-
# Serial.print("Flicker value-")
594-
# Serial.println(flicker_value)
595-
596-
# if (flicker_value == 44) {
597-
# Serial.println("Unknown frequency")
598-
# // 0b 10 11 01
599-
# } else if (flicker_value == 45) {
600-
# Serial.println("100 Hz detected")
601-
# // 0b 10 11 10
602-
# } else if (flicker_value == 46) {
603-
# Serial.println("120 Hz detected")
604-
# } else {
605-
# Serial.println("Error in reading")
606-
# }
607-
608-
# // Setting back the PON bit in the ENABLE Register
609-
610-
# writeRegister(byte(AS7341_ENABLE), byte(0x01))
611-
612-
# Serial.println("")
613-
614-
def configure_ext_pins(self):
615-
"""Configure the sensor to read from elements F1, INT, and GPIO"""
616-
# disable SP_EN bit while making config changes
617-
618-
self._high_channels_configured = False
619-
self._high_channels_configured = False
620-
self._flicker_detection_1k_configured = False
621-
622-
self._color_meas_enabled = False
623-
624-
# ENUM-ify
625-
self._smux_command = 2
626-
# Write new configuration to all the 20 registers
627-
628-
self._ext_pin_adc_test()
629-
# Start SMUX command
630-
self._smux_enabled = True
631-
632-
# Enable SP_EN bit
633-
self._color_meas_enabled = True
634-
635-
def _ext_pin_adc_test(self):
636-
# F1=> ADC0
637-
# GPIO=>ADC4
638-
# INT=> ADC5
639-
self._low_bank_active = True
640-
self._int_to_adc = True
641-
self._gpio_to_adc = True
642-
self._low_bank_active = False
643-
self._gpio_as_input = True
644-
645-
self.set_smux(SMUX_IN.NC_F3L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
646-
# connect F1 Left to ADC0
647-
self.set_smux(SMUX_IN.F1L_NC, SMUX_OUT.ADC0, SMUX_OUT.DISABLED)
648-
self.set_smux(SMUX_IN.NC_NC0, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
649-
self.set_smux(SMUX_IN.NC_F8L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
650-
self.set_smux(SMUX_IN.F6L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
651-
self.set_smux(SMUX_IN.F2L_F4L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
652-
self.set_smux(SMUX_IN.NC_F5L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
653-
self.set_smux(SMUX_IN.F7L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
654-
self.set_smux(SMUX_IN.NC_CL, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
655-
self.set_smux(SMUX_IN.NC_F5R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
656-
self.set_smux(SMUX_IN.F7R_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
657-
self.set_smux(SMUX_IN.NC_NC1, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
658-
self.set_smux(SMUX_IN.NC_F2R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
659-
self.set_smux(SMUX_IN.F4R_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
660-
self.set_smux(SMUX_IN.F8R_F6R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
661-
self.set_smux(SMUX_IN.NC_F3R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
662-
663-
# connect GPIO to ADC4 and F1 Right to ADC0
664-
self.set_smux(SMUX_IN.F1R_EXT_GPIO, SMUX_OUT.ADC0, SMUX_OUT.ADC4)
665-
666-
# connect INT to ADC5
667-
self.set_smux(SMUX_IN.EXT_INT_CR, SMUX_OUT.ADC5, SMUX_OUT.DISABLED)
668-
669-
self.set_smux(SMUX_IN.NC_DARK, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
670-
self.set_smux(SMUX_IN.NIR_F, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
671-
672549
def _smux_template(self):
673550
# SMUX_OUT.DISABLED
674551
# SMUX_OUT.ADC0
@@ -677,28 +554,28 @@ def _smux_template(self):
677554
# SMUX_OUT.ADC3
678555
# SMUX_OUT.ADC4
679556
# SMUX_OUT.ADC5
680-
self.set_smux(SMUX_IN.NC_F3L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
681-
self.set_smux(SMUX_IN.F1L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
682-
self.set_smux(SMUX_IN.NC_NC0, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
683-
self.set_smux(SMUX_IN.NC_F8L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
684-
self.set_smux(SMUX_IN.F6L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
685-
self.set_smux(SMUX_IN.F2L_F4L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
686-
self.set_smux(SMUX_IN.NC_F5L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
687-
self.set_smux(SMUX_IN.F7L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
688-
self.set_smux(SMUX_IN.NC_CL, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
689-
self.set_smux(SMUX_IN.NC_F5R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
690-
self.set_smux(SMUX_IN.F7R_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
691-
self.set_smux(SMUX_IN.NC_NC1, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
692-
self.set_smux(SMUX_IN.NC_F2R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
693-
self.set_smux(SMUX_IN.F4R_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
694-
self.set_smux(SMUX_IN.F8R_F6R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
695-
self.set_smux(SMUX_IN.NC_F3R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
696-
self.set_smux(SMUX_IN.F1R_EXT_GPIO, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
697-
self.set_smux(SMUX_IN.EXT_INT_CR, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
698-
self.set_smux(SMUX_IN.NC_DARK, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
699-
self.set_smux(SMUX_IN.NIR_F, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
700-
701-
def set_smux(self, smux_addr, smux_out1, smux_out2):
557+
self._set_smux(SMUX_IN.NC_F3L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
558+
self._set_smux(SMUX_IN.F1L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
559+
self._set_smux(SMUX_IN.NC_NC0, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
560+
self._set_smux(SMUX_IN.NC_F8L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
561+
self._set_smux(SMUX_IN.F6L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
562+
self._set_smux(SMUX_IN.F2L_F4L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
563+
self._set_smux(SMUX_IN.NC_F5L, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
564+
self._set_smux(SMUX_IN.F7L_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
565+
self._set_smux(SMUX_IN.NC_CL, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
566+
self._set_smux(SMUX_IN.NC_F5R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
567+
self._set_smux(SMUX_IN.F7R_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
568+
self._set_smux(SMUX_IN.NC_NC1, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
569+
self._set_smux(SMUX_IN.NC_F2R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
570+
self._set_smux(SMUX_IN.F4R_NC, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
571+
self._set_smux(SMUX_IN.F8R_F6R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
572+
self._set_smux(SMUX_IN.NC_F3R, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
573+
self._set_smux(SMUX_IN.F1R_EXT_GPIO, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
574+
self._set_smux(SMUX_IN.EXT_INT_CR, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
575+
self._set_smux(SMUX_IN.NC_DARK, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
576+
self._set_smux(SMUX_IN.NIR_F, SMUX_OUT.DISABLED, SMUX_OUT.DISABLED)
577+
578+
def _set_smux(self, smux_addr, smux_out1, smux_out2):
702579
"""Connect a pair of sensors to an ADC channel"""
703580
low_nibble = smux_out1
704581
high_nibble = smux_out2 << 4

0 commit comments

Comments
 (0)