|
Adafruit AS7341 Library
|
#include "Arduino.h"#include <Adafruit_BusIO_Register.h>#include <Adafruit_I2CDevice.h>#include <Wire.h>Go to the source code of this file.
Classes | |
| class | Adafruit_AS7341 |
| Class that stores state and functions for interacting with the AS7341 11-Channel Spectral Sensor. More... | |
Macros | |
| #define | AS7341_I2CADDR_DEFAULT 0x39 |
| AS7341 default i2c address. | |
| #define | AS7341_CHIP_ID 0x09 |
| AS7341 default device id from WHOAMI. | |
| #define | AS7341_WHOAMI 0x92 |
| Chip ID register. | |
| #define | AS7341_ASTATUS 0x60 |
| AS7341_ASTATUS (unused) | |
| #define | AS7341_CH0_DATA_L_ 0x61 |
| AS7341_CH0_DATA_L (unused) | |
| #define | AS7341_CH0_DATA_H_ 0x62 |
| AS7341_CH0_DATA_H (unused) | |
| #define | AS7341_ITIME_L 0x63 |
| AS7341_ITIME_L (unused) | |
| #define | AS7341_ITIME_M 0x64 |
| AS7341_ITIME_M (unused) | |
| #define | AS7341_ITIME_H 0x65 |
| AS7341_ITIME_H (unused) | |
| #define | AS7341_CONFIG 0x70 |
| Enables LED control and sets light sensing mode. | |
| #define | AS7341_STAT 0x71 |
| AS7341_STAT (unused) | |
| #define | AS7341_EDGE 0x72 |
| AS7341_EDGE (unused) | |
| #define | AS7341_GPIO 0x73 |
| Connects photo diode to GPIO or INT pins. | |
| #define | AS7341_LED 0x74 |
| LED Register; Enables and sets current limit. | |
| #define | AS7341_ENABLE 0x80 |
| Measurements and Power. More... | |
| #define | AS7341_ATIME 0x81 |
| Sets ADC integration step count. | |
| #define | AS7341_WTIME 0x83 |
| AS7341_WTIME (unused) | |
| #define | AS7341_SP_LOW_TH_L 0x84 |
| Spectral measurement Low Threshold low byte. | |
| #define | AS7341_SP_LOW_TH_H 0x85 |
| Spectral measurement Low Threshold high byte. | |
| #define | AS7341_SP_HIGH_TH_L 0x86 |
| Spectral measurement High Threshold low byte. | |
| #define | AS7341_SP_HIGH_TH_H 0x87 |
| Spectral measurement High Threshold low byte. | |
| #define | AS7341_AUXID 0x90 |
| AS7341_AUXID (unused) | |
| #define | AS7341_REVID 0x91 |
| AS7341_REVID (unused) | |
| #define | AS7341_ID 0x92 |
| AS7341_ID (unused) | |
| #define | AS7341_STATUS 0x93 |
| Interrupt status registers. Indicates the occourance of an interrupt. | |
| #define | AS7341_ASTATUS_ 0x94 |
| AS7341_ASTATUS, same as 0x60 (unused) | |
| #define | AS7341_CH0_DATA_L 0x95 |
| ADC Channel Data. | |
| #define | AS7341_CH0_DATA_H 0x96 |
| ADC Channel Data. | |
| #define | AS7341_CH1_DATA_L 0x97 |
| ADC Channel Data. | |
| #define | AS7341_CH1_DATA_H 0x98 |
| ADC Channel Data. | |
| #define | AS7341_CH2_DATA_L 0x99 |
| ADC Channel Data. | |
| #define | AS7341_CH2_DATA_H 0x9A |
| ADC Channel Data. | |
| #define | AS7341_CH3_DATA_L 0x9B |
| ADC Channel Data. | |
| #define | AS7341_CH3_DATA_H 0x9C |
| ADC Channel Data. | |
| #define | AS7341_CH4_DATA_L 0x9D |
| ADC Channel Data. | |
| #define | AS7341_CH4_DATA_H 0x9E |
| ADC Channel Data. | |
| #define | AS7341_CH5_DATA_L 0x9F |
| ADC Channel Data. | |
| #define | AS7341_CH5_DATA_H 0xA0 |
| ADC Channel Data. | |
| #define | AS7341_STATUS2 0xA3 |
| Measurement status flags; saturation, validity. | |
| #define | AS7341_STATUS3 0xA4 |
| Spectral interrupt source, high or low threshold. | |
| #define | AS7341_STATUS5 0xA6 |
| AS7341_STATUS5 (unused) | |
| #define | AS7341_STATUS6 0xA7 |
| AS7341_STATUS6 (unused) | |
| #define | AS7341_CFG0 0xA9 |
| Sets Low power mode, Register bank, and Trigger lengthening. | |
| #define | AS7341_CFG1 0xAA |
| Controls ADC Gain. | |
| #define | AS7341_CFG3 0xAC |
| AS7341_CFG3 (unused) | |
| #define | AS7341_CFG6 0xAF |
| Used to configure Smux. | |
| #define | AS7341_CFG8 0xB1 |
| AS7341_CFG8 (unused) | |
| #define | AS7341_CFG9 0xB2 |
| interrupts More... | |
| #define | AS7341_CFG10 0xB3 |
| AS7341_CFG10 (unused) | |
| #define | AS7341_CFG12 0xB5 |
| Spectral threshold channel for interrupts, persistence and auto-gain. | |
| #define | AS7341_PERS 0xBD |
| interupt More... | |
| #define | AS7341_GPIO2 0xBE |
| input More... | |
| #define | AS7341_ASTEP_L 0xCA |
| Integration step size ow byte. | |
| #define | AS7341_ASTEP_H 0xCB |
| Integration step size high byte. | |
| #define | AS7341_AGC_GAIN_MAX 0xCF |
| AS7341_AGC_GAIN_MAX (unused) | |
| #define | AS7341_AZ_CONFIG 0xD6 |
| AS7341_AZ_CONFIG (unused) | |
| #define | AS7341_FD_TIME1 0xD8 |
| Flicker detection integration time low byte. | |
| #define | AS7341_FD_TIME2 0xDA |
| Flicker detection gain and high nibble. | |
| #define | AS7341_FD_CFG0 0xD7 |
| AS7341_FD_CFG0 (unused) | |
| #define | AS7341_FD_STATUS 0xDB |
| type More... | |
| #define | AS7341_INTENAB 0xF9 |
| Enables individual interrupt types. | |
| #define | AS7341_CONTROL 0xFA |
| Auto-zero, fifo clear, clear SAI active. | |
| #define | AS7341_FIFO_MAP 0xFC |
| AS7341_FIFO_MAP (unused) | |
| #define | AS7341_FIFO_LVL 0xFD |
| AS7341_FIFO_LVL (unused) | |
| #define | AS7341_FDATA_L 0xFE |
| AS7341_FDATA_L (unused) | |
| #define | AS7341_FDATA_H 0xFF |
| AS7341_FDATA_H (unused) | |
| #define | AS7341_SPECTRAL_INT_HIGH_MSK 0b00100000 |
| bitmask to check for a high threshold interrupt | |
| #define | AS7341_SPECTRAL_INT_LOW_MSK 0b00010000 |
| bitmask to check for a low threshold interrupt | |
Enumerations | |
| enum | as7341_gain_t { AS7341_GAIN_0_5X, AS7341_GAIN_1X, AS7341_GAIN_2X, AS7341_GAIN_4X, AS7341_GAIN_8X, AS7341_GAIN_16X, AS7341_GAIN_32X, AS7341_GAIN_64X, AS7341_GAIN_128X, AS7341_GAIN_256X, AS7341_GAIN_512X } |
Allowable gain multipliers for setGain | |
| enum | as7341_smux_cmd_t { AS7341_SMUX_CMD_ROM_RESET, AS7341_SMUX_CMD_READ, AS7341_SMUX_CMD_WRITE } |
| Available SMUX configuration commands. More... | |
| enum | as7341_adc_channel_t { AS7341_ADC_CHANNEL_0, AS7341_ADC_CHANNEL_1, AS7341_ADC_CHANNEL_2, AS7341_ADC_CHANNEL_3, AS7341_ADC_CHANNEL_4, AS7341_ADC_CHANNEL_5 } |
| ADC Channel specifiers for configuration. | |
| enum | as7341_color_channel_t { AS7341_CHANNEL_415nm_F1, AS7341_CHANNEL_445nm_F2, AS7341_CHANNEL_480nm_F3, AS7341_CHANNEL_515nm_F4, AS7341_CHANNEL_CLEAR_0, AS7341_CHANNEL_NIR_0, AS7341_CHANNEL_555nm_F5, AS7341_CHANNEL_590nm_F6, AS7341_CHANNEL_630nm_F7, AS7341_CHANNEL_680nm_F8, AS7341_CHANNEL_CLEAR, AS7341_CHANNEL_NIR } |
| Spectral Channel specifiers for configuration and reading. | |
| enum | as7341_int_cycle_count_t { AS7341_INT_COUNT_ALL, AS7341_INT_COUNT_1, AS7341_INT_COUNT_2, AS7341_INT_COUNT_3, AS7341_INT_COUNT_5, AS7341_INT_COUNT_10, AS7341_INT_COUNT_15, AS7341_INT_COUNT_20, AS7341_INT_COUNT_25, AS7341_INT_COUNT_30, AS7341_INT_COUNT_35, AS7341_INT_COUNT_40, AS7341_INT_COUNT_45, AS7341_INT_COUNT_50, AS7341_INT_COUNT_55, AS7341_INT_COUNT_60 } |
| The number of measurement cycles with spectral data outside of a threshold required to trigger an interrupt. More... | |
| enum | as7341_gpio_dir_t { AS7341_GPIO_OUTPUT, AS7341_GPIO_INPUT } |
| Pin directions to set how the GPIO pin is to be used. More... | |
| enum | as7341_waiting_t { AS7341_WAITING_START, AS7341_WAITING_LOW, AS7341_WAITING_HIGH, AS7341_WAITING_DONE } |
| Wait states for async reading. | |
| #define AS7341_ENABLE 0x80 |
Measurements and Power.
Main enable register. Controls SMUX, Flicker Detection, Spectral
| #define AS7341_CFG9 0xB2 |
interrupts
Enables flicker detection and smux command completion system
| #define AS7341_PERS 0xBD |
interupt
Number of measurement cycles outside thresholds to trigger an
| #define AS7341_GPIO2 0xBE |
input
GPIO Settings and status: polarity, direction, sets output, reads
| #define AS7341_FD_STATUS 0xDB |
type
Flicker detection status; measurement valid, saturation, flicker
| enum as7341_smux_cmd_t |
The number of measurement cycles with spectral data outside of a threshold required to trigger an interrupt.
| enum as7341_gpio_dir_t |
1.8.13