I am using the evaluation board ADPD188BI loading the config "ADP188BIZ-SK_EVAL_SMOKE_chop_01.dcfg" with application Wavetool with no issues my devices seems it is detecting smoke from a can
When I tried to implement almost the same configuration to the registers for myself, I just get zeros from almost all the data registers FIFO(0x60), 0x64-0x6B, 0x70-0x7F, I some cases I receive 1s, it does not matter if I try to read using the polling method, interrupt-based method or just reading the data from the registers
Actually, I tried using the same configuration than ADP188BIZ-SK_EVAL_SMOKE_chop_01.dcfg (from Wavetool), removing some registers that do not appear in the datasheet, e.g: 0x03, 0x05, 0x17, 0x1d etc, and I still get zeros on my application
Then I tried using those missing or hidden register and voilà my embedded code starts to returns values different to zero, and response to smoke similar when using Wavetool
I also read this thread https://ez.analog.com/optical_sensing/f/q-a/106586/adpd188bi---driver-integration-guide: where the people there, are discussing possible lacks in the documentation or examples,
so which is the function for those registers? here the list:
in special 0x1d, when I write 0009 to that register, the sensor starts to return values different than 0
The configuration you're using with wavetool put the ADPD1080 (AFE inside ADPD188BI) into a mode called chop mode. The ADPD188BI datasheet needs to be updated to include the chop mode description, however, it is in the ADPD1080 datasheet which is available at www.analog.com. The registers 0x17 and 0x1D are required for chop mode.