pin - loboris/MicroPython_K210_LoBo GitHub Wiki

machine Module

Editing in progress ...

Class Pin

This class includes support for using K210 gpios GPIOHS are used for Pin functions

  • Configurable as input or output
  • Each IO is an independent interrupt source
  • Edge-triggered or level-triggered interrupt support
  • Each IO can be assigned to one of the 48 pins on the FPIOA
  • Configurable pull-up and pull-down resistors, or high impedance in input mode

Create the Pin instance object

pin = machine.Pin(gpio [,args])

Argument Description
gpio gpio number, if invalid or used gpio number is entered, an exception will be raised
mode optional; pin operating modeuse one of the constants: IN, OUTdefault: IN
pull optional; activate internal pull resistor if pin is configured as inputuse one of the constants: PULL_UP, PULL_DOWN, PULL_FLOATdefault: PULL_FLOAT
value optional; set the initial value for an output pin; default: do not set
handler optional; Pin irq callback functionIf set, the pin interrupt will be enabled and the given function will be called on interruptdefault: no irq enabled
trigger optional; the pin interrupt modeuse on of the constants: IRQ_DISABLE, IRQ_RISING, IRQ_FALLING, IRQ_ANYEDGEdefault: IRQ_DISABLENote: Level interrupts are currently not enabled.
debounce optional; debounce time on pin interrupt in micro seconds, 0 for debounce disablevalid range: 100 - 500000 µsdefault: 0

Only gpio argument is required, all the other are optional and will be set to the default values if not given. Arguments value, handler, trigger, debounce must be given as kw arguments (arg=value)

Methods

pin.init([args])

Change the pin configuration and options after the pin instance object was created.

For arguments description see Create the Pin instance object above.

pin.deinit()

Deinitialize the Pin object, free all resources..

pin.value([val])

Get or set the pin value. If no argument is given, returns the current pin value (level), 0 or 1 It the val argument is given, set the pin level. val can be 0, 1, False or True

Note: If the pin is set to output mode (OUT), the returned value will always be 0

pin.irqvalue()

Returns the pin level at the time when the last interrupt occured. Can be used inside the interrupt handling function.

pin.irqenable(True|False)

Enable or disable pin interrupt.

pin.stat([reset])

Returns the pin interrupt counters tuple: (pin, gpio_id, num_interrupts, num_callbacks, num_missed_cb) It the optional agumetn reset is True, resets all interrupt counters.