Skip to content
Snippets Groups Projects
Select Git revision
  • dualcore
  • ch3/leds
  • wip-bootstrap default
  • ch3/time
  • master
5 results

machine_signal.c

Blame
    • Paul Sokolovsky's avatar
      605ff91e
      extmod/machine_signal: Support all Pin's arguments to the constructor. · 605ff91e
      Paul Sokolovsky authored
      This implements the orginal idea is that Signal is a subclass of Pin, and
      thus can accept all the same argument as Pin, and additionally, "inverted"
      param. On the practical side, it allows to avoid many enclosed parenses for
      a typical declararion, e.g. for Zephyr:
      
      Signal(Pin(("GPIO_0", 1))).
      
      Of course, passing a Pin to Signal constructor is still supported and is the
      most generic form (e.g. Unix port will only support such form, as it doesn't
      have "builtin" Pins), what's introduces here is just practical readability
      optimization.
      
      "value" kwarg is treated as applying to a Signal (i.e. accounts for possible
      inversion).
      605ff91e
      History
      extmod/machine_signal: Support all Pin's arguments to the constructor.
      Paul Sokolovsky authored
      This implements the orginal idea is that Signal is a subclass of Pin, and
      thus can accept all the same argument as Pin, and additionally, "inverted"
      param. On the practical side, it allows to avoid many enclosed parenses for
      a typical declararion, e.g. for Zephyr:
      
      Signal(Pin(("GPIO_0", 1))).
      
      Of course, passing a Pin to Signal constructor is still supported and is the
      most generic form (e.g. Unix port will only support such form, as it doesn't
      have "builtin" Pins), what's introduces here is just practical readability
      optimization.
      
      "value" kwarg is treated as applying to a Signal (i.e. accounts for possible
      inversion).
    machine_signal.c 6.00 KiB