Hi, Roger

What I see is you should use 1 time Pulsin ( for the leading pulse) and RCTime for all other pulses ...

AND there's a gentle Mix between H_Bit ( 0 State ) and L_Bit ( 1 state ) ... but may be you did it to match the inverted signal ... ???


should be :

Code:
   PULSIN  p_in, 0, l_Bit[0]           ' measure neg leading pulse
   RCTIME p_in, 1, h_Bit[0]          ' measure time staying High

for Ctr_A = 1 to ( bit_count -1 )

   rctime p_in, 0, l_Bit[Ctr_A]        ' measure time staying Low
   rctime p_in, 1, h_Bit[Ctr_A]       ' measure time staying High

next Ctr_A

   RCTIME p_in, 0, l_bit[bit_count] ' measure time staying Low
"it's been a hard days night ... And I'm working like a dog ..." as told the Beatles !

Regards
Alain