Skip to content
  • Gerhard Sittig's avatar
    1cb40e10
    decoder: internal 'always false' term, handle invalid skip and channel · 1cb40e10
    Gerhard Sittig authored
    Introduce an "always false" type for .wait() terms. Map invalid counts
    of skip conditions (zero or negative numbers) as well as invalid channel
    references for level/edge conditions to this type which never matches.
    Keep this "always false" term type an internal detail of the common
    support code.
    
    This is most robust and least intrusive at the same time, it keeps the
    existing API, and simplifies the implementation of Python decoders for
    rare edge cases (optional input signals or optional features, handling
    of initial samples at the very start of a capture).
    
    This commit passes sample counts internally in a signed data type. This
    is essential for proper operation, and the loss of one bit out of 64
    shall not be considered a severe limitation.
    
    This fixes bug #1444.
    1cb40e10
    decoder: internal 'always false' term, handle invalid skip and channel
    Gerhard Sittig authored
    Introduce an "always false" type for .wait() terms. Map invalid counts
    of skip conditions (zero or negative numbers) as well as invalid channel
    references for level/edge conditions to this type which never matches.
    Keep this "always false" term type an internal detail of the common
    support code.
    
    This is most robust and least intrusive at the same time, it keeps the
    existing API, and simplifies the implementation of Python decoders for
    rare edge cases (optional input signals or optional features, handling
    of initial samples at the very start of a capture).
    
    This commit passes sample counts internally in a signed data type. This
    is essential for proper operation, and the loss of one bit out of 64
    shall not be considered a severe limitation.
    
    This fixes bug #1444.
Loading