- self._ch.pulse_width_percent(_SPACE)
- self.duty = duty
- self.arr = array('H', 0 for _ in range(asize))
- self._tim = Timer(5)
- self._tcb = self._cb
- self.pretrans()
+ self._ch.pulse_width_percent(_SPACE) # Turn off IR LED
+ self._duty = duty if not _SPACE else (100 - duty)
+ self._tim = Timer(5) # Timer 5 controls carrier on/off times
+ self._tcb = self.cb # Pre-allocate
+ self.verbose = verbose
+ self.arr = array('H', 0 for _ in range(asize)) # on/off times (μs)
+ self.carrier = False # Notional carrier state while encoding biphase
+ self.aptr = 0 # Index into array