Class InvertedPin

extends PinBase implements Pin
A pin that does the opposite of the physical pin that it takes in the constructor.

Class summary


constructor original-pin_/Pin

Constructors

constructor original-pin_/Pin

Methods

close -> none

config --input/bool=false --output/bool=false --open-drain/bool=false -> none

configure --input/bool=false --output/bool=false --pull-up/bool=false --pull-down/bool=false --open-drain/bool=false --value/int=null -> none

do [block] -> none
See Pin.do.

get -> int
Returns 1 if the physical pin is at 0, and vice versa.

operator == other/any -> bool
Whether this object is equal to the other.
By default, identical is used for equality.
Inheritance
Classes overwrite this operator to get an equality specific to their needs. Equality operators often compare the type and field contents. For example:

class Pin:
  number/int

  constructor .number:

  operator == other:
    if other is not Pin: return false
    return number == other.number
A class doesn't have to follow the above format, but it must keep the operator in sync with any hash-code method. That is, if a class has a hash-code member, then the equality and hash-code must agree. If two instances are equal (a == b), then their hash codes must also be equal (a.hash-code == b.hash-code).

set value/any -> none
Sets the physical pin to 1 if value is 0, and vice versa.

set-open-drain value/bool -> none

set-pull --up/bool=false --down/bool=false --off/bool=false -> none

Stringifies this object.
Inheritance
Objects that need a human-friendly string representation should overwrite this method. The default string is based on the internal class-ID.

wait-for value/int -> none
Waits for 1 on on the physical pin if value is 0, and vice versa.

Fields

inherited