The value for the noise filter looks good.
All 'times' are uS.
I defined a burst as 'all the bits' for a single reading. I was hoping for a very general 'capture all the bits' routine. The concept of nibbles and what the bit stream means is left for the external routine. The assumption is that 'if we don't get the entire burst in xxx time then something is wrong and knowing which of the nibbles did not meet the inter-nibble timing requirement doesn't really matter'. Of course this assumption is open to challenge and discussion ... as is all of the code.
The minimum_burst_start_pulse_width is how long we expect the clock to be high after the end of a burst or before the next burst starts. It looks like you are seeing 105mS so 90000us might be a good place to start.
maximum_time_for_a_burst seems to be about 8.1mS so a value of 9000uS seems like a reasonable starting point.
data_bits_in_valid_burst would be 24.
Arvid
All 'times' are uS.
I defined a burst as 'all the bits' for a single reading. I was hoping for a very general 'capture all the bits' routine. The concept of nibbles and what the bit stream means is left for the external routine. The assumption is that 'if we don't get the entire burst in xxx time then something is wrong and knowing which of the nibbles did not meet the inter-nibble timing requirement doesn't really matter'. Of course this assumption is open to challenge and discussion ... as is all of the code.
The minimum_burst_start_pulse_width is how long we expect the clock to be high after the end of a burst or before the next burst starts. It looks like you are seeing 105mS so 90000us might be a good place to start.
maximum_time_for_a_burst seems to be about 8.1mS so a value of 9000uS seems like a reasonable starting point.
data_bits_in_valid_burst would be 24.
Arvid