SparkFun Spectral Sensor - AS7343  v1.0.0-4-gd418547
Library for the SparkFun SpectralSensor - AS7343
Loading...
Searching...
No Matches
sfDevAS7343.h
Go to the documentation of this file.
1
39#pragma once
40
41#include <stdint.h>
42
43// include the sparkfun toolkit headers
44#include <sfTk/sfToolkit.h>
45
46// Bus interfaces
47#include <sfTk/sfTkII2C.h>
49// I2C Addressing
51const uint8_t kAS7343Addr = 0x39; // I2C address for the AS7343 device.
52
53const uint8_t kDefaultAS7343DeviceID = 0x81; // When polling the ID register, this should be returned on boot.
54
56// Enum Definitions
58
59// Sensor Register Bank settings
60typedef enum
61{
62 REG_BANK_0 = 0x00, // Register bank 0 (default)
63 REG_BANK_1 = 0x01, // Register bank 1
65
66// Sensor Channels
67// Use these to access each channel individually from the _data array in the class.
68// The channels are defined in the datasheet as FZ, FY, FXL, NIR, 2xVIS, FD, F1-F8.
69// When AutoSmux is set to 18 channels, the channels are in this order:
70// Cycle 1: FZ, FY, FXL, NIR, 2xVIS, FD
71// Cycle 2: F2, F3, F4, F6, 2xVIS, FD
72// Cycle 3: F1, F7, F8, F5, 2xVIS, FD
73typedef enum
74{
75 CH_BLUE_FZ_450NM = 0x00, // Blue peak wavelength 450 nanometers (cycle 1)
76 CH_GREEN_FY_555NM, // Green (wide bandwidth) peak wavelength 555 nanometers (cycle 1)
77 CH_ORANGE_FXL_600NM, // Orange peak wavelength 600 nanometers (cycle 1)
78 CH_NIR_855NM, // NIR peak wavelength 855 nanometers (cycle 1)
79 CH_VIS_1, // VIS (cycle 1)
80 CH_FD_1, // Flicker Detection (cycle 1)
81 CH_DARK_BLUE_F2_425NM, // Dark Blue peak wavelength 425 nanometers (cycle 2)
82 CH_LIGHT_BLUE_F3_475NM, // Light Blue peak wavelength 475 nanometers (cycle 2)
83 CH_BLUE_F4_515NM, // Blue peak wavelength 515 nanometers (cycle 2)
84 CH_BROWN_F6_640NM, // Brown peak wavelength 640 nanometers (cycle 2)
85 CH_VIS_2, // VIS (cycle 2)
86 CH_FD_2, // Flicker Detection (cycle 2)
87 CH_PURPLE_F1_405NM, // Purple peak wavelength 405 nanometers (cycle 3)
88 CH_RED_F7_690NM, // Red peak wavelength 690 nanometers (cycle 3)
89 CH_DARK_RED_F8_745NM, // Dark Red peak wavelength 745 nanometers (cycle 3)
90 CH_GREEN_F5_550NM, // Green (Narrow bandwidth) peak wavelength 550 nanometers (cycle 3)
91 CH_VIS_3, // VIS (cycle 3)
92 CH_FD_3, // Flicker Detection (cycle 3)
94
95// Sensor number of channels constant, used to determine the number of bytes
96// read from the device when using the readSpectraDataFromSensor() function, and also
97// to determine the size of the _data array in the class.
98const uint8_t ksfAS7343NumChannels = 18; // Number of channels in the AS7343 sensor
99
100// Sensor gain settings.
101typedef enum
102{
103 AGAIN_0_5 = 0x00, // 0.5x gain
116
118
119// Flicker Detection Gain Settings (ADC5)
120typedef enum
121{
122 FD_GAIN_0_5 = 0x00, // 0.5x gain
136
137// FIFO Threshold settings
138// Sets a threshold on the FIFO level that triggers the first FIFO buffer
139// interrupt (FINT).
140typedef enum
141{
147
148// Spectral Threshold Channel
149// Sets the channel used for interrupts and persistence, if enabled, to
150// determine device status and gain settings.
151typedef enum
152{
160
161// Automatic Channel Read-out (auto_smux setting)
162typedef enum
163{
164 AUTOSMUX_6_CHANNELS = 0x00, // 6 channel readout: FZ, FY, FXL, NIR, 2xVIS, FD
165 AUTOSMUX_12_CHANNELS = 0x02, // 12 channel readout
166 // Cycle 1: FZ, FY, FXL, NIR, 2xVIS, FD
167 // Cycle 2: FZ, F3, F4, F6, 2xVIS, FD
168 AUTOSMUX_18_CHANNELS = 0x03, // 18 channel readout
169 // Cycle 1: FZ, FY, FXL, NIR, 2xVIS, FD
170 // Cycle 2: F2, F3, F4, F6, 2xVIS, FD
171 // Cycle 3: F1, F7, F8, F5, 2xVIS, FD
173
174// GPIO mode settings
175typedef enum
176{
177 AS7343_GPIO_MODE_OUTPUT = 0x00, // GPIO set to output mode
178 AS7343_GPIO_MODE_INPUT, // GPIO set to input mode
180
181// GPIO output settings
182typedef enum
183{
184 AS7343_GPIO_OUTPUT_LOW = 0x00, // GPIO set to low
185 AS7343_GPIO_OUTPUT_HIGH, // GPIO set to high
187
189// Register Definitions
191
192const uint8_t ksfAS7343RegAuxID = 0x58; // Register Address
193
194// A union is used here so that individual values from the register can be
195// accessed or the whole register can be accessed.
196typedef union {
197 struct
198 {
199 uint8_t auxid : 4;
200 uint8_t reserved : 4;
201 };
202 uint8_t byte;
204
205const uint8_t ksfAS7343RegRevID = 0x59; // Register Address
206
207typedef union {
208 struct
209 {
210 uint8_t revid : 3;
211 uint8_t reserved : 5;
212 };
213 uint8_t byte;
215
216const uint8_t ksfAS7343RegID = 0x5A; // Register Address, register is a single uint8_t.
217typedef uint8_t sfe_as7343_reg_id_t;
218
219const uint8_t ksfAS7343RegCfg12 = 0x66; // Register Address
220
221typedef union {
222 struct
223 {
224 uint8_t reserved : 5;
225 uint8_t sp_th_ch : 3;
226 };
227 uint8_t byte;
229
230const uint8_t ksfAS7343RegEnable = 0x80; // Register Address
231
232typedef union {
233 struct
234 {
235 uint8_t pon : 1;
236 uint8_t sp_en : 1;
237 uint8_t reserved : 1;
238 uint8_t wen : 1;
239 uint8_t smuxen : 1;
240 uint8_t reserved_one : 1;
241 uint8_t fden : 1;
242 uint8_t reserved_two : 1;
243 uint8_t enable : 1;
244 };
245 uint8_t byte;
247
248const uint8_t ksfAS7343RegATime = 0x81; // Register Address, register is a single uint8_t.
250
251const uint8_t ksfAS7343RegWTime = 0x83; // Register Address, register is a single uint8_t.
253
254const uint8_t ksfAS7343RegSpThL = 0x84; // Register Address
255
256typedef union {
257 struct
258 {
259 uint8_t sp_th_l_lsb : 8;
260 uint8_t sp_th_l_msb : 8;
261 };
262 uint16_t word;
264
265const uint8_t ksfAS7343RegSpThH = 0x86; // Register Address
266
267typedef union {
268 struct
269 {
270 uint8_t sp_th_h_lsb : 8;
271 uint8_t sp_th_h_msb : 8;
272 };
273 uint16_t word;
275
276const uint8_t ksfAS7343RegStatus = 0x93; // Register Address
277
278typedef union {
279 struct
280 {
281 uint8_t sint : 1;
282 uint8_t reserved : 1;
283 uint8_t fint : 1;
284 uint8_t aint : 1;
285 uint8_t reserved_one : 3;
286 uint8_t asat : 1;
287 };
288 uint8_t byte;
290
291const uint8_t ksfAS7343RegAStatus = 0x94; // Register Address
292
293typedef union {
294 struct
295 {
296 uint8_t again_status : 4;
297 uint8_t reserved : 3;
298 uint8_t asat_satatus : 1;
299 };
300 uint8_t byte;
302
303const uint8_t ksfAS7343RegData0 = 0x95; // Register Address
304const uint8_t ksfAS7343RegData1 = 0x97; // Register Address
305const uint8_t ksfAS7343RegData2 = 0x99; // Register Address
306const uint8_t ksfAS7343RegData3 = 0x9B; // Register Address
307const uint8_t ksfAS7343RegData4 = 0x9D; // Register Address
308const uint8_t ksfAS7343RegData5 = 0x9F; // Register Address
309const uint8_t ksfAS7343RegData6 = 0xA1; // Register Address
310const uint8_t ksfAS7343RegData7 = 0xA3; // Register Address
311const uint8_t ksfAS7343RegData8 = 0xA5; // Register Address
312const uint8_t ksfAS7343RegData9 = 0xA7; // Register Address
313const uint8_t ksfAS7343RegData10 = 0xA9; // Register Address
314const uint8_t ksfAS7343RegData11 = 0xAB; // Register Address
315const uint8_t ksfAS7343RegData12 = 0xAD; // Register Address
316const uint8_t ksfAS7343RegData13 = 0xAF; // Register Address
317const uint8_t ksfAS7343RegData14 = 0xB1; // Register Address
318const uint8_t ksfAS7343RegData15 = 0xB3; // Register Address
319const uint8_t ksfAS7343RegData16 = 0xB5; // Register Address
320const uint8_t ksfAS7343RegData17 = 0xB7; // Register Address
321
322typedef union {
323 struct
324 {
325 uint8_t data_l : 8;
326 uint8_t data_h : 8;
327 };
328 uint16_t word;
330
331const uint8_t ksfAS7343RegStatus2 = 0x90; // Register Address
332
333typedef union {
334 struct
335 {
336 uint8_t fdsat_dig : 1;
337 uint8_t fdsat_ana : 1;
338 uint8_t reserved : 1;
339 uint8_t asat_ana : 1;
340 uint8_t asat_dig : 1;
341 uint8_t reserved_one : 1;
342 uint8_t avalid : 1;
343 uint8_t reserved_two : 1;
344 };
345 uint8_t byte;
347
348const uint8_t ksfAS7343RegStatus3 = 0x91; // Register Address
349
350typedef union {
351 struct
352 {
353 uint8_t reserved : 4;
354 uint8_t int_sp_l : 1;
355 uint8_t int_sp_h : 1;
356 uint8_t reserved_one : 2;
357 };
358 uint8_t byte;
360
361const uint8_t ksfAS7343RegStatus4 = 0xBC; // Register Address
362
363typedef union {
364 struct
365 {
366 uint8_t int_busy : 1;
367 uint8_t sai_act : 1;
368 uint8_t sp_trig : 1;
369 uint8_t reserved : 1;
370 uint8_t fd_trig : 1;
371 uint8_t ov_temp : 1;
372 uint8_t reserved_one : 1;
373 uint8_t fifo_ov : 1;
374 };
375 uint8_t byte;
377
378const uint8_t ksfAS7343RegFdStatus = 0xE3; // Register Address
379
380typedef union {
381 struct
382 {
383 uint8_t fd_100hz_det : 1;
384 uint8_t fd_120hz_det : 1;
385 uint8_t fd_100hz_valid : 1;
386 uint8_t fd_120hz_valid : 1;
387 uint8_t fd_saturation : 1;
388 uint8_t fd_meas_valid : 1;
389 uint8_t reserved : 2;
390 };
391 uint8_t byte;
393
394const uint8_t ksfAS7343RegStatus5 = 0x93; // Register Address
395
396typedef union {
397 struct
398 {
399 uint8_t reserved : 2;
400 uint8_t sint_smux : 1;
401 uint8_t sint_fd : 1;
402 uint8_t reserved_one : 4;
403 };
404 uint8_t byte;
406
407const uint8_t ksfAS7343RegCfg0 = 0xBF; // Register Address
408
409typedef union {
410 struct
411 {
412 uint8_t reserved : 2;
413 uint8_t wlong : 1;
414 uint8_t reserved_one : 1;
415 uint8_t reg_bank : 1;
416 uint8_t low_power : 1;
417 uint8_t reserved_two : 2;
418 };
419 uint8_t byte;
421
422const uint8_t ksfAS7343RegCfg1 = 0xC6; // Register Address
423
424typedef union {
425 struct
426 {
427 uint8_t again : 5;
428 uint8_t reserved : 3;
429 };
430 uint8_t byte;
432
433const uint8_t ksfAS7343RegCfg3 = 0xC7; // Register Address
434
435typedef union {
436 struct
437 {
438 uint8_t reserved : 4;
439 uint8_t sai : 1;
440 uint8_t reserved2 : 3;
441 };
442 uint8_t byte;
444
445const uint8_t ksfAS7343RegCfg6 = 0xF5; // Register Address
446
447typedef union {
448 struct
449 {
450 uint8_t reserved : 3;
451 uint8_t smux_cmd : 2;
452 uint8_t reserved_one : 3;
453 };
454 uint8_t byte;
456
457const uint8_t ksfAS7343RegCfg8 = 0xC9; // Register Address
458
459typedef union {
460 struct
461 {
462 uint8_t reserved : 6;
463 uint8_t fifo_th : 2;
464 };
465 uint8_t byte;
467
468const uint8_t ksfAS7343RegCfg9 = 0xCA; // Register Address
469
470typedef union {
471 struct
472 {
473 uint8_t reserved : 5;
474 uint8_t sienc_smux : 1;
475 uint8_t reserved_one : 1;
476 uint8_t sienc_fd : 1;
477 uint8_t reserved_two : 1;
478 };
479 uint8_t byte;
481
482const uint8_t ksfAS7343RegCfg10 = 0x65; // Register Address
483
484typedef union {
485 struct
486 {
487 uint8_t fd_pers : 3;
488 uint8_t reserved : 5;
489 };
490 uint8_t byte;
492
493const uint8_t ksfAS7343RegPers = 0xCF; // Register Address
494
495typedef union {
496 struct
497 {
498 uint8_t apers : 4;
499 uint8_t reserved : 4;
500 };
501 uint8_t byte;
503
504const uint8_t ksfAS7343RegGpio = 0x6B; // Register Address
505
506typedef union {
507 struct
508 {
509 uint8_t gpio_in : 1;
510 uint8_t gpio_out : 1;
511 uint8_t gpio_in_en : 1;
512 uint8_t gpio_inv : 1;
513 uint8_t reserved : 4;
514 };
515 uint8_t byte;
517
518const uint8_t ksfAS7343RegAStep = 0xD4; // Register Address
519
520typedef union {
521 struct
522 {
523 uint8_t astep_l : 8;
524 uint8_t astep_h : 8;
525 };
526 uint16_t word;
528
529const uint8_t ksfAS7343RegCfg20 = 0xD6; // Register Address
530
531typedef union {
532 struct
533 {
534 uint8_t reserved : 5;
535 uint8_t auto_smux : 2;
536 uint8_t fd_fifo_8b : 1;
537 };
538 uint8_t byte;
540
541const uint8_t ksfAS7343RegLed = 0xCD; // Register Address
542
543typedef union {
544 struct
545 {
546 uint8_t led_drive : 7;
547 uint8_t led_act : 1;
548 };
549 uint8_t byte;
551
552const uint8_t ksfAS7343RegAgcGainMax = 0xD7; // Register Address
553
554typedef union {
555 struct
556 {
557 uint8_t reserved : 4;
558 uint8_t agc_fd_gain_max : 4;
559 };
560 uint8_t byte;
562
563const uint8_t ksfAS7343RegAzConfig = 0xDE; // Register Address, register is a single uint8_t.
565
566const uint8_t ksfAS7343RegFdTime1 = 0xE0; // Register Address, register is a single uint8_t.
568
569const uint8_t ksfAS7343RegFdTime2 = 0xE2; // Register Address
570
571typedef union {
572 struct
573 {
574 uint8_t fd_time_h : 3; // TODO: Unkown big order
575 uint8_t fd_gain : 5;
576 };
577 uint8_t byte;
579
580const uint8_t ksfAS7343RegFdTimeCfg0 = 0xDF; // Register Address
581
582typedef union {
583 struct
584 {
585 uint8_t reserved : 7;
586 uint8_t fifo_write_fd : 1;
587 };
588 uint8_t byte;
590
591const uint8_t ksfAS7343RegIntEnab = 0xF9; // Register Address
592
593typedef union {
594 struct
595 {
596 uint8_t sein : 1;
597 uint8_t reserved : 1;
598 uint8_t fien : 1;
599 uint8_t sp_ien : 1;
600 uint8_t reserved_one : 3;
601 uint8_t asien : 1;
602 };
603 uint8_t byte;
605
606const uint8_t ksfAS7343RegControl = 0xFA; // Register Address
607
608typedef union {
609 struct
610 {
611 uint8_t clear_sai_act : 1;
612 uint8_t fifo_clr : 1;
613 uint8_t sp_man_az : 1;
614 uint8_t sw_reset : 1;
615 uint8_t reserved : 4;
616 };
617 uint8_t byte;
619
620const uint8_t ksfAS7343RegFifoMap = 0xFC; // Register Address
621
622typedef union {
623 struct
624 {
632 uint8_t reserved : 1;
633 };
634 uint8_t byte;
636
637const uint8_t ksfAS7343RegFifoLvl = 0xFD; // Register Address, register is a single uint8_t.
639
640const uint8_t ksfAS7343RegFData = 0xFE; // Register Address
641
642typedef union {
643 struct
644 {
645 uint8_t fdata_l : 8;
646 uint8_t fdata_h : 8;
647 };
648 uint16_t word;
650
652
654{
655 public:
656 sfDevAS7343() : _data{0}, _theBus{nullptr}
657 {
658 }
659
664 bool begin(sfTkIBus *theBus = nullptr);
665
668 uint8_t getDeviceID(void);
669
672 void setCommunicationBus(sfTkIBus *theBus);
673
682
688 bool powerOn(bool power = true);
689
694 bool powerOff(void);
695
702 bool enableSpectralMeasurement(bool enable = true);
703
709
718 bool readSpectraDataFromSensor(void);
719
728 uint8_t getData(uint16_t *data, size_t size);
729
730 // version that just takes an array that is of size ksfAS7343NumChannels
731 uint8_t getData(uint16_t data[ksfAS7343NumChannels])
732 {
733 return getData(data, ksfAS7343NumChannels);
734 }
735
745
751 bool ledOn(bool ledOn = true);
752
757 bool ledOff(void);
758
769 bool setLedDrive(uint8_t ledDrive);
770
773 uint16_t getRed(void);
774
777 uint16_t getGreen(void);
778
781 uint16_t getBlue(void);
782
785 uint16_t getNIR(void);
786
795 uint16_t getChannelData(sfe_as7343_channel_t channel);
796
803 bool setSpectralIntThresholdHigh(uint16_t spThH);
804
811 bool setSpectralIntThresholdLow(uint16_t spThL);
812
819 bool enableSpectralInterrupt(bool enable = true);
820
825 bool disableSpectralInterrupt(void);
826
837
842 bool getSystemInterruptStatus(void);
843
849
855
861
867
876 bool setWaitTime(uint8_t wTime);
877
884 uint8_t getWaitTime(void);
885
891 bool enableWaitTime(bool enable = true);
892
897 bool disableWaitTime(void);
898
903 bool getSpectralValidStatus(void);
904
911 uint8_t readIntEnableReg(void);
912
919 bool setGPIOMode(sfe_as7343_gpio_mode_t gpioMode);
920
925 bool getGPIOInputStatus(void);
926
934
939 bool reset(void);
940
957 bool setSpectralIntPersistence(uint8_t apers);
958
964 bool readRegisterBank(uint8_t reg, uint8_t &data);
965
974 bool setAgain(sfe_as7343_again_t again);
975
981 bool enableFlickerDetection(bool enable = true);
982
987 bool disableFlickerDetection(void);
988
994 bool isFlickerDetectionValid(void);
995
1001 bool isFlickerDetectionSaturated(void);
1002
1009 uint8_t getFlickerDetectionFrequency(void);
1010
1011 private:
1012 sfe_as7343_reg_data_t _data[ksfAS7343NumChannels]; // Array of data structs, to hold data from the sensor.
1013
1014 sfTkIBus *_theBus; // Pointer to bus device.
1015};
Definition: sfDevAS7343.h:654
uint8_t getDeviceID(void)
Requests the device ID from the sensor.
Definition: sfDevAS7343.cpp:46
bool begin(sfTkIBus *theBus=nullptr)
This method is called to initialize the AS7343 device through the specified bus.
Definition: sfDevAS7343.cpp:33
uint16_t getGreen(void)
Get Green spectrum data. (aka channel F5, 550nm)
Definition: sfDevAS7343.cpp:251
bool disableSpectralInterrupt(void)
Disable the spectral interrupt.
Definition: sfDevAS7343.cpp:305
sfDevAS7343()
Definition: sfDevAS7343.h:656
bool setAgain(sfe_as7343_again_t again)
Definition: sfDevAS7343.cpp:569
bool reset(void)
Reset the device.
Definition: sfDevAS7343.cpp:494
uint16_t getChannelData(sfe_as7343_channel_t channel)
Get Specific Channel of Spectrum Data.
Definition: sfDevAS7343.cpp:155
bool isFlickerDetectionValid(void)
Get the Flicker Detection Measurement Valid Status.
Definition: sfDevAS7343.cpp:610
bool setGPIOMode(sfe_as7343_gpio_mode_t gpioMode)
Set the GPIO pin mode.
Definition: sfDevAS7343.cpp:442
void setCommunicationBus(sfTkIBus *theBus)
Sets the communication bus to the specified bus.
Definition: sfDevAS7343.cpp:57
uint8_t getFlickerDetectionFrequency(void)
Get the Flicker Detection Frequency Detected.
Definition: sfDevAS7343.cpp:634
uint16_t getNIR(void)
Get NIR spectrum data. (aka channel NIR, 855nm)
Definition: sfDevAS7343.cpp:263
bool setRegisterBank(sfe_as7343_reg_bank_t regBank)
Set the register bank. In order to access registers from 0x58 to 0x66, bit REG_BANK in register CFG0 ...
Definition: sfDevAS7343.cpp:62
bool getSpectralTriggerErrorStatus(void)
Get the Spectral Trigger Error Status.
Definition: sfDevAS7343.cpp:364
bool enableFlickerDetection(bool enable=true)
Enable or Disable the Flicker Detection.
Definition: sfDevAS7343.cpp:587
bool enableSpectralMeasurement(bool enable=true)
Enable or Disable the Spectral Measurement.
Definition: sfDevAS7343.cpp:107
bool powerOn(bool power=true)
Power on or off the device.
Definition: sfDevAS7343.cpp:84
bool disableFlickerDetection(void)
Disable Flicker Detection.
Definition: sfDevAS7343.cpp:605
bool enableSpectralInterrupt(bool enable=true)
Enable or Disable the spectral interrupt.
Definition: sfDevAS7343.cpp:287
bool isFlickerDetectionSaturated(void)
Get the Flicker Detection Saturation Detected Status.
Definition: sfDevAS7343.cpp:622
bool setSpectralIntThresholdHigh(uint16_t spThH)
Set the spectral interrupt threshold high.
Definition: sfDevAS7343.cpp:269
bool disableSpectralMeasurement(void)
Spectral Measurement Disable.
Definition: sfDevAS7343.cpp:125
uint8_t getData(uint16_t *data, size_t size)
Get data from the sensor using a pointer to an array and the desired data length.
Definition: sfDevAS7343.cpp:165
bool setSpectralIntThresholdLow(uint16_t spThL)
Set the spectral interrupt threshold low.
Definition: sfDevAS7343.cpp:278
uint8_t getData(uint16_t data[ksfAS7343NumChannels])
Definition: sfDevAS7343.h:731
bool readSpectraDataFromSensor(void)
Read all Spectral Data Registers.
Definition: sfDevAS7343.cpp:130
bool getSystemInterruptStatus(void)
Get the System Interrupt Status.
Definition: sfDevAS7343.cpp:328
bool getSpectralInterruptHighStatus(void)
Get the Spectral Interrupt High Status.
Definition: sfDevAS7343.cpp:352
uint16_t getRed(void)
Get Red spectrum data. (aka channel F7, 690nm)
Definition: sfDevAS7343.cpp:245
uint8_t getWaitTime(void)
Get the Spectral Measurement Wait Time.
Definition: sfDevAS7343.cpp:385
bool setSpectralThresholdChannel(sfe_as7343_spectral_threshold_channel_t spThCh)
Set the spectral threshold channel.
Definition: sfDevAS7343.cpp:310
bool disableWaitTime(void)
Disable Wait Time.
Definition: sfDevAS7343.cpp:414
uint8_t readIntEnableReg(void)
Read the register INT Enable.
Definition: sfDevAS7343.cpp:431
bool ledOff(void)
Turn off the LED.
Definition: sfDevAS7343.cpp:218
bool ledOn(bool ledOn=true)
Turn on or off the LED.
Definition: sfDevAS7343.cpp:200
bool setWaitTime(uint8_t wTime)
Set the Spectral Measurement Wait Time.
Definition: sfDevAS7343.cpp:376
bool getSpectralValidStatus(void)
Get the Spectral Valid Status.
Definition: sfDevAS7343.cpp:419
bool setLedDrive(uint8_t ledDrive)
Set the LED drive current.
Definition: sfDevAS7343.cpp:223
bool readRegisterBank(uint8_t reg, uint8_t &data)
Read a register from the device.
Definition: sfDevAS7343.cpp:548
bool setGPIOOutput(sfe_as7343_gpio_output_t gpioOut)
Set the GPIO output.
Definition: sfDevAS7343.cpp:476
bool setAutoSmux(sfe_as7343_auto_smux_channel_t auto_smux)
Set automatic channel read-out.
Definition: sfDevAS7343.cpp:182
bool setSpectralIntPersistence(uint8_t apers)
Set the Spectral Interrupt Persistence.
Definition: sfDevAS7343.cpp:512
bool clearSpectralChannelInterrupt(void)
Clear Spectral Channel Interrupt bit (AINT).
Definition: sfDevAS7343.cpp:530
bool powerOff(void)
Power off the device.
Definition: sfDevAS7343.cpp:102
bool enableWaitTime(bool enable=true)
Enable or Disable Wait Time.
Definition: sfDevAS7343.cpp:396
uint16_t getBlue(void)
Get Blue spectrum data. (aka channel FZ, 450nm)
Definition: sfDevAS7343.cpp:257
bool getGPIOInputStatus(void)
Get the GPIO input status.
Definition: sfDevAS7343.cpp:464
bool getSpectralChannelInterruptStatus(void)
Get the Spectral Channel Interrupt Status.
Definition: sfDevAS7343.cpp:340
uint8_t sfe_as7343_reg_az_config_t
Definition: sfDevAS7343.h:564
const uint8_t ksfAS7343RegCfg1
Definition: sfDevAS7343.h:422
const uint8_t kAS7343Addr
Definition: sfDevAS7343.h:51
uint8_t sfe_as7343_reg_fifo_lvl_t
Definition: sfDevAS7343.h:638
const uint8_t ksfAS7343RegSpThH
Definition: sfDevAS7343.h:265
const uint8_t ksfAS7343RegData15
Definition: sfDevAS7343.h:318
const uint8_t ksfAS7343RegStatus4
Definition: sfDevAS7343.h:361
const uint8_t ksfAS7343RegData8
Definition: sfDevAS7343.h:311
const uint8_t ksfAS7343RegData12
Definition: sfDevAS7343.h:315
const uint8_t ksfAS7343RegData9
Definition: sfDevAS7343.h:312
const uint8_t ksfAS7343RegFdStatus
Definition: sfDevAS7343.h:378
uint8_t sfe_as7343_reg_fd_time_1_t
Definition: sfDevAS7343.h:567
const uint8_t ksfAS7343RegID
Definition: sfDevAS7343.h:216
const uint8_t ksfAS7343RegCfg9
Definition: sfDevAS7343.h:468
sfe_as7343_fifo_threshold_t
Definition: sfDevAS7343.h:141
@ FIFO_THRESHOLD_LVL_8
Definition: sfDevAS7343.h:144
@ FIFO_THRESHOLD_LVL_4
Definition: sfDevAS7343.h:143
@ FIFO_THRESHOLD_LVL_1
Definition: sfDevAS7343.h:142
@ FIFO_THRESHOLD_LVL_16
Definition: sfDevAS7343.h:145
const uint8_t ksfAS7343RegCfg0
Definition: sfDevAS7343.h:407
const uint8_t ksfAS7343RegCfg3
Definition: sfDevAS7343.h:433
const uint8_t ksfAS7343RegFdTime1
Definition: sfDevAS7343.h:566
const uint8_t ksfAS7343RegData7
Definition: sfDevAS7343.h:310
const uint8_t ksfAS7343RegEnable
Definition: sfDevAS7343.h:230
const uint8_t ksfAS7343RegFdTimeCfg0
Definition: sfDevAS7343.h:580
sfe_as7343_again_t
Definition: sfDevAS7343.h:102
@ AGAIN_128
Definition: sfDevAS7343.h:111
@ AGAIN_64
Definition: sfDevAS7343.h:110
@ AGAIN_4
Definition: sfDevAS7343.h:106
@ AGAIN_0_5
Definition: sfDevAS7343.h:103
@ AGAIN_32
Definition: sfDevAS7343.h:109
@ AGAIN_8
Definition: sfDevAS7343.h:107
@ AGAIN_16
Definition: sfDevAS7343.h:108
@ AGAIN_1024
Definition: sfDevAS7343.h:114
@ AGAIN_256
Definition: sfDevAS7343.h:112
@ AGAIN_2048
Definition: sfDevAS7343.h:115
@ AGAIN_1
Definition: sfDevAS7343.h:104
@ AGAIN_512
Definition: sfDevAS7343.h:113
@ AGAIN_2
Definition: sfDevAS7343.h:105
const uint8_t ksfAS7343RegGpio
Definition: sfDevAS7343.h:504
const uint8_t ksfAS7343RegCfg10
Definition: sfDevAS7343.h:482
const uint8_t ksfAS7343RegCfg6
Definition: sfDevAS7343.h:445
const uint8_t ksfAS7343RegRevID
Definition: sfDevAS7343.h:205
const uint8_t ksfAS7343RegAzConfig
Definition: sfDevAS7343.h:563
const uint8_t ksfAS7343RegData16
Definition: sfDevAS7343.h:319
const uint8_t ksfAS7343RegData17
Definition: sfDevAS7343.h:320
const uint8_t ksfAS7343RegStatus3
Definition: sfDevAS7343.h:348
sfe_as7343_gpio_mode_t
Definition: sfDevAS7343.h:176
@ AS7343_GPIO_MODE_OUTPUT
Definition: sfDevAS7343.h:177
@ AS7343_GPIO_MODE_INPUT
Definition: sfDevAS7343.h:178
const uint8_t ksfAS7343RegAuxID
Definition: sfDevAS7343.h:192
const uint8_t ksfAS7343RegData4
Definition: sfDevAS7343.h:307
const uint8_t ksfAS7343RegData3
Definition: sfDevAS7343.h:306
const uint8_t ksfAS7343RegData10
Definition: sfDevAS7343.h:313
const uint8_t ksfAS7343RegAStatus
Definition: sfDevAS7343.h:291
const uint8_t ksfAS7343RegData2
Definition: sfDevAS7343.h:305
sfe_as7343_gpio_output_t
Definition: sfDevAS7343.h:183
@ AS7343_GPIO_OUTPUT_HIGH
Definition: sfDevAS7343.h:185
@ AS7343_GPIO_OUTPUT_LOW
Definition: sfDevAS7343.h:184
sfe_as7343_reg_bank_t
Definition: sfDevAS7343.h:61
@ REG_BANK_1
Definition: sfDevAS7343.h:63
@ REG_BANK_0
Definition: sfDevAS7343.h:62
const uint8_t ksfAS7343RegControl
Definition: sfDevAS7343.h:606
const uint8_t ksfAS7343RegLed
Definition: sfDevAS7343.h:541
uint8_t sfe_as7343_reg_id_t
Definition: sfDevAS7343.h:217
const uint8_t ksfAS7343RegIntEnab
Definition: sfDevAS7343.h:591
sfe_as7343_auto_smux_channel_t
Definition: sfDevAS7343.h:163
@ AUTOSMUX_12_CHANNELS
Definition: sfDevAS7343.h:165
@ AUTOSMUX_6_CHANNELS
Definition: sfDevAS7343.h:164
@ AUTOSMUX_18_CHANNELS
Definition: sfDevAS7343.h:168
const uint8_t ksfAS7343RegCfg12
Definition: sfDevAS7343.h:219
const uint8_t ksfAS7343RegWTime
Definition: sfDevAS7343.h:251
uint8_t sfe_as7343_reg_atime_t
Definition: sfDevAS7343.h:249
const uint8_t ksfAS7343RegData0
Definition: sfDevAS7343.h:303
const uint8_t ksfAS7343RegAStep
Definition: sfDevAS7343.h:518
const uint8_t kDefaultAS7343DeviceID
Definition: sfDevAS7343.h:53
const uint8_t ksfAS7343RegData13
Definition: sfDevAS7343.h:316
const uint8_t ksfAS7343RegPers
Definition: sfDevAS7343.h:493
const uint8_t ksfAS7343RegFdTime2
Definition: sfDevAS7343.h:569
const uint8_t ksfAS7343RegStatus5
Definition: sfDevAS7343.h:394
const uint8_t ksfAS7343RegData14
Definition: sfDevAS7343.h:317
const uint8_t ksfAS7343RegSpThL
Definition: sfDevAS7343.h:254
const uint8_t ksfAS7343RegATime
Definition: sfDevAS7343.h:248
uint8_t sfe_as7343_reg_wtime_t
Definition: sfDevAS7343.h:252
const uint8_t ksfAS7343RegData11
Definition: sfDevAS7343.h:314
const uint8_t ksfAS7343RegData5
Definition: sfDevAS7343.h:308
const uint8_t ksfAS7343RegCfg8
Definition: sfDevAS7343.h:457
const uint8_t ksfAS7343RegAgcGainMax
Definition: sfDevAS7343.h:552
const uint8_t ksfAS7343NumChannels
Definition: sfDevAS7343.h:98
const uint8_t ksfAS7343RegData6
Definition: sfDevAS7343.h:309
const uint8_t ksfAS7343RegFifoLvl
Definition: sfDevAS7343.h:637
const uint8_t ksfAS7343RegCfg20
Definition: sfDevAS7343.h:529
const uint8_t ksfAS7343RegFData
Definition: sfDevAS7343.h:640
sfe_as7343_fd_gain_t
Definition: sfDevAS7343.h:121
@ FD_GAIN_2
Definition: sfDevAS7343.h:124
@ FD_GAIN_8
Definition: sfDevAS7343.h:126
@ FD_GAIN_1
Definition: sfDevAS7343.h:123
@ FD_GAIN_64
Definition: sfDevAS7343.h:129
@ FD_GAIN_256
Definition: sfDevAS7343.h:131
@ FD_GAIN_4
Definition: sfDevAS7343.h:125
@ FD_GAIN_0_5
Definition: sfDevAS7343.h:122
@ FD_GAIN_512
Definition: sfDevAS7343.h:132
@ FD_GAIN_32
Definition: sfDevAS7343.h:128
@ FD_GAIN_1024
Definition: sfDevAS7343.h:133
@ FD_GAIN_128
Definition: sfDevAS7343.h:130
@ FD_GAIN_2048
Definition: sfDevAS7343.h:134
@ FD_GAIN_16
Definition: sfDevAS7343.h:127
const uint8_t ksfAS7343RegStatus2
Definition: sfDevAS7343.h:331
sfe_as7343_spectral_threshold_channel_t
Definition: sfDevAS7343.h:152
@ SPECTRAL_THRESHOLD_CHANNEL_1
Definition: sfDevAS7343.h:154
@ SPECTRAL_THRESHOLD_CHANNEL_2
Definition: sfDevAS7343.h:155
@ SPECTRAL_THRESHOLD_CHANNEL_3
Definition: sfDevAS7343.h:156
@ SPECTRAL_THRESHOLD_CHANNEL_4
Definition: sfDevAS7343.h:157
@ SPECTRAL_THRESHOLD_CHANNEL_0
Definition: sfDevAS7343.h:153
@ SPECTRAL_THRESHOLD_CHANNEL_5
Definition: sfDevAS7343.h:158
sfe_as7343_channel_t
Definition: sfDevAS7343.h:74
@ CH_VIS_2
Definition: sfDevAS7343.h:85
@ CH_LIGHT_BLUE_F3_475NM
Definition: sfDevAS7343.h:82
@ CH_FD_1
Definition: sfDevAS7343.h:80
@ CH_RED_F7_690NM
Definition: sfDevAS7343.h:88
@ CH_GREEN_FY_555NM
Definition: sfDevAS7343.h:76
@ CH_VIS_3
Definition: sfDevAS7343.h:91
@ CH_BLUE_F4_515NM
Definition: sfDevAS7343.h:83
@ CH_GREEN_F5_550NM
Definition: sfDevAS7343.h:90
@ CH_BROWN_F6_640NM
Definition: sfDevAS7343.h:84
@ CH_FD_2
Definition: sfDevAS7343.h:86
@ CH_ORANGE_FXL_600NM
Definition: sfDevAS7343.h:77
@ CH_DARK_RED_F8_745NM
Definition: sfDevAS7343.h:89
@ CH_BLUE_FZ_450NM
Definition: sfDevAS7343.h:75
@ CH_PURPLE_F1_405NM
Definition: sfDevAS7343.h:87
@ CH_FD_3
Definition: sfDevAS7343.h:92
@ CH_NIR_855NM
Definition: sfDevAS7343.h:78
@ CH_DARK_BLUE_F2_425NM
Definition: sfDevAS7343.h:81
@ CH_VIS_1
Definition: sfDevAS7343.h:79
const uint8_t ksfAS7343RegData1
Definition: sfDevAS7343.h:304
const uint8_t ksfAS7343RegStatus
Definition: sfDevAS7343.h:276
const uint8_t ksfAS7343RegFifoMap
Definition: sfDevAS7343.h:620
Definition: sfDevAS7343.h:554
uint8_t agc_fd_gain_max
Definition: sfDevAS7343.h:558
uint8_t reserved
Definition: sfDevAS7343.h:557
uint8_t byte
Definition: sfDevAS7343.h:560
Definition: sfDevAS7343.h:293
uint8_t asat_satatus
Definition: sfDevAS7343.h:298
uint8_t byte
Definition: sfDevAS7343.h:300
uint8_t reserved
Definition: sfDevAS7343.h:297
uint8_t again_status
Definition: sfDevAS7343.h:296
Definition: sfDevAS7343.h:520
uint16_t word
Definition: sfDevAS7343.h:526
uint8_t astep_l
Definition: sfDevAS7343.h:523
uint8_t astep_h
Definition: sfDevAS7343.h:524
Definition: sfDevAS7343.h:196
uint8_t byte
Definition: sfDevAS7343.h:202
uint8_t auxid
Definition: sfDevAS7343.h:199
uint8_t reserved
Definition: sfDevAS7343.h:200
Definition: sfDevAS7343.h:409
uint8_t low_power
Definition: sfDevAS7343.h:416
uint8_t reg_bank
Definition: sfDevAS7343.h:415
uint8_t reserved
Definition: sfDevAS7343.h:412
uint8_t reserved_two
Definition: sfDevAS7343.h:417
uint8_t reserved_one
Definition: sfDevAS7343.h:414
uint8_t byte
Definition: sfDevAS7343.h:419
uint8_t wlong
Definition: sfDevAS7343.h:413
Definition: sfDevAS7343.h:484
uint8_t reserved
Definition: sfDevAS7343.h:488
uint8_t byte
Definition: sfDevAS7343.h:490
uint8_t fd_pers
Definition: sfDevAS7343.h:487
Definition: sfDevAS7343.h:221
uint8_t sp_th_ch
Definition: sfDevAS7343.h:225
uint8_t reserved
Definition: sfDevAS7343.h:224
uint8_t byte
Definition: sfDevAS7343.h:227
Definition: sfDevAS7343.h:424
uint8_t again
Definition: sfDevAS7343.h:427
uint8_t byte
Definition: sfDevAS7343.h:430
uint8_t reserved
Definition: sfDevAS7343.h:428
Definition: sfDevAS7343.h:531
uint8_t byte
Definition: sfDevAS7343.h:538
uint8_t reserved
Definition: sfDevAS7343.h:534
uint8_t auto_smux
Definition: sfDevAS7343.h:535
uint8_t fd_fifo_8b
Definition: sfDevAS7343.h:536
Definition: sfDevAS7343.h:435
uint8_t sai
Definition: sfDevAS7343.h:439
uint8_t reserved2
Definition: sfDevAS7343.h:440
uint8_t reserved
Definition: sfDevAS7343.h:438
uint8_t byte
Definition: sfDevAS7343.h:442
Definition: sfDevAS7343.h:447
uint8_t smux_cmd
Definition: sfDevAS7343.h:451
uint8_t byte
Definition: sfDevAS7343.h:454
uint8_t reserved
Definition: sfDevAS7343.h:450
uint8_t reserved_one
Definition: sfDevAS7343.h:452
Definition: sfDevAS7343.h:459
uint8_t fifo_th
Definition: sfDevAS7343.h:463
uint8_t byte
Definition: sfDevAS7343.h:465
uint8_t reserved
Definition: sfDevAS7343.h:462
Definition: sfDevAS7343.h:470
uint8_t reserved
Definition: sfDevAS7343.h:473
uint8_t sienc_fd
Definition: sfDevAS7343.h:476
uint8_t reserved_one
Definition: sfDevAS7343.h:475
uint8_t sienc_smux
Definition: sfDevAS7343.h:474
uint8_t reserved_two
Definition: sfDevAS7343.h:477
uint8_t byte
Definition: sfDevAS7343.h:479
Definition: sfDevAS7343.h:608
uint8_t fifo_clr
Definition: sfDevAS7343.h:612
uint8_t clear_sai_act
Definition: sfDevAS7343.h:611
uint8_t byte
Definition: sfDevAS7343.h:617
uint8_t sp_man_az
Definition: sfDevAS7343.h:613
uint8_t sw_reset
Definition: sfDevAS7343.h:614
uint8_t reserved
Definition: sfDevAS7343.h:615
Definition: sfDevAS7343.h:396
uint8_t reserved_one
Definition: sfDevAS7343.h:402
uint8_t sint_fd
Definition: sfDevAS7343.h:401
uint8_t sint_smux
Definition: sfDevAS7343.h:400
uint8_t reserved
Definition: sfDevAS7343.h:399
uint8_t byte
Definition: sfDevAS7343.h:404
Definition: sfDevAS7343.h:322
uint8_t data_l
Definition: sfDevAS7343.h:325
uint8_t data_h
Definition: sfDevAS7343.h:326
uint16_t word
Definition: sfDevAS7343.h:328
Definition: sfDevAS7343.h:232
uint8_t reserved_one
Definition: sfDevAS7343.h:240
uint8_t sp_en
Definition: sfDevAS7343.h:236
uint8_t smuxen
Definition: sfDevAS7343.h:239
uint8_t enable
Definition: sfDevAS7343.h:243
uint8_t fden
Definition: sfDevAS7343.h:241
uint8_t reserved_two
Definition: sfDevAS7343.h:242
uint8_t reserved
Definition: sfDevAS7343.h:237
uint8_t byte
Definition: sfDevAS7343.h:245
uint8_t wen
Definition: sfDevAS7343.h:238
uint8_t pon
Definition: sfDevAS7343.h:235
Definition: sfDevAS7343.h:582
uint8_t reserved
Definition: sfDevAS7343.h:585
uint8_t byte
Definition: sfDevAS7343.h:588
uint8_t fifo_write_fd
Definition: sfDevAS7343.h:586
Definition: sfDevAS7343.h:380
uint8_t reserved
Definition: sfDevAS7343.h:389
uint8_t byte
Definition: sfDevAS7343.h:391
uint8_t fd_meas_valid
Definition: sfDevAS7343.h:388
uint8_t fd_saturation
Definition: sfDevAS7343.h:387
uint8_t fd_120hz_valid
Definition: sfDevAS7343.h:386
uint8_t fd_100hz_det
Definition: sfDevAS7343.h:383
uint8_t fd_120hz_det
Definition: sfDevAS7343.h:384
uint8_t fd_100hz_valid
Definition: sfDevAS7343.h:385
Definition: sfDevAS7343.h:571
uint8_t fd_time_h
Definition: sfDevAS7343.h:574
uint8_t byte
Definition: sfDevAS7343.h:577
uint8_t fd_gain
Definition: sfDevAS7343.h:575
Definition: sfDevAS7343.h:642
uint8_t fdata_h
Definition: sfDevAS7343.h:646
uint16_t word
Definition: sfDevAS7343.h:648
uint8_t fdata_l
Definition: sfDevAS7343.h:645
Definition: sfDevAS7343.h:622
uint8_t fifo_write_ch5_data
Definition: sfDevAS7343.h:631
uint8_t fifo_write_ch2_data
Definition: sfDevAS7343.h:628
uint8_t fifo_write_ch4_data
Definition: sfDevAS7343.h:630
uint8_t fifo_write_ch1_data
Definition: sfDevAS7343.h:627
uint8_t fifo_write_ch0_data
Definition: sfDevAS7343.h:626
uint8_t byte
Definition: sfDevAS7343.h:634
uint8_t fifo_write_ch3_data
Definition: sfDevAS7343.h:629
uint8_t reserved
Definition: sfDevAS7343.h:632
uint8_t fifo_write_astatus
Definition: sfDevAS7343.h:625
Definition: sfDevAS7343.h:506
uint8_t gpio_in
Definition: sfDevAS7343.h:509
uint8_t gpio_inv
Definition: sfDevAS7343.h:512
uint8_t byte
Definition: sfDevAS7343.h:515
uint8_t gpio_out
Definition: sfDevAS7343.h:510
uint8_t reserved
Definition: sfDevAS7343.h:513
uint8_t gpio_in_en
Definition: sfDevAS7343.h:511
Definition: sfDevAS7343.h:593
uint8_t sein
Definition: sfDevAS7343.h:596
uint8_t sp_ien
Definition: sfDevAS7343.h:599
uint8_t byte
Definition: sfDevAS7343.h:603
uint8_t fien
Definition: sfDevAS7343.h:598
uint8_t asien
Definition: sfDevAS7343.h:601
uint8_t reserved
Definition: sfDevAS7343.h:597
uint8_t reserved_one
Definition: sfDevAS7343.h:600
Definition: sfDevAS7343.h:543
uint8_t byte
Definition: sfDevAS7343.h:549
uint8_t led_drive
Definition: sfDevAS7343.h:546
uint8_t led_act
Definition: sfDevAS7343.h:547
Definition: sfDevAS7343.h:495
uint8_t apers
Definition: sfDevAS7343.h:498
uint8_t reserved
Definition: sfDevAS7343.h:499
uint8_t byte
Definition: sfDevAS7343.h:501
Definition: sfDevAS7343.h:207
uint8_t reserved
Definition: sfDevAS7343.h:211
uint8_t byte
Definition: sfDevAS7343.h:213
uint8_t revid
Definition: sfDevAS7343.h:210
Definition: sfDevAS7343.h:267
uint8_t sp_th_h_msb
Definition: sfDevAS7343.h:271
uint8_t sp_th_h_lsb
Definition: sfDevAS7343.h:270
uint16_t word
Definition: sfDevAS7343.h:273
Definition: sfDevAS7343.h:256
uint16_t word
Definition: sfDevAS7343.h:262
uint8_t sp_th_l_lsb
Definition: sfDevAS7343.h:259
uint8_t sp_th_l_msb
Definition: sfDevAS7343.h:260
Definition: sfDevAS7343.h:333
uint8_t reserved
Definition: sfDevAS7343.h:338
uint8_t fdsat_ana
Definition: sfDevAS7343.h:337
uint8_t avalid
Definition: sfDevAS7343.h:342
uint8_t byte
Definition: sfDevAS7343.h:345
uint8_t reserved_one
Definition: sfDevAS7343.h:341
uint8_t reserved_two
Definition: sfDevAS7343.h:343
uint8_t fdsat_dig
Definition: sfDevAS7343.h:336
uint8_t asat_ana
Definition: sfDevAS7343.h:339
uint8_t asat_dig
Definition: sfDevAS7343.h:340
Definition: sfDevAS7343.h:350
uint8_t reserved
Definition: sfDevAS7343.h:353
uint8_t int_sp_h
Definition: sfDevAS7343.h:355
uint8_t reserved_one
Definition: sfDevAS7343.h:356
uint8_t int_sp_l
Definition: sfDevAS7343.h:354
uint8_t byte
Definition: sfDevAS7343.h:358
Definition: sfDevAS7343.h:363
uint8_t int_busy
Definition: sfDevAS7343.h:366
uint8_t fifo_ov
Definition: sfDevAS7343.h:373
uint8_t ov_temp
Definition: sfDevAS7343.h:371
uint8_t reserved
Definition: sfDevAS7343.h:369
uint8_t byte
Definition: sfDevAS7343.h:375
uint8_t reserved_one
Definition: sfDevAS7343.h:372
uint8_t sai_act
Definition: sfDevAS7343.h:367
uint8_t sp_trig
Definition: sfDevAS7343.h:368
uint8_t fd_trig
Definition: sfDevAS7343.h:370
Definition: sfDevAS7343.h:278
uint8_t sint
Definition: sfDevAS7343.h:281
uint8_t asat
Definition: sfDevAS7343.h:286
uint8_t aint
Definition: sfDevAS7343.h:284
uint8_t byte
Definition: sfDevAS7343.h:288
uint8_t reserved
Definition: sfDevAS7343.h:282
uint8_t reserved_one
Definition: sfDevAS7343.h:285
uint8_t fint
Definition: sfDevAS7343.h:283