2.0 KiB
GPIO module
The module allows you to control GPIO pins of the expansion connector on Flipper Zero. Call the require function to load the module before first using its methods. This module depends on the event_loop module, so it must be imported after event_loop is imported:
let eventLoop = require("event_loop");
let gpio = require("gpio");
Example
let eventLoop = require("event_loop");
let gpio = require("gpio");
let led = gpio.get("pc3");
led.init({ direction: "out", outMode: "push_pull" });
led.write(true);
delay(1000);
led.write(false);
delay(1000);
API reference
get
Gets a Pin object that can be used to manage a pin.
Parameters
pin: pin identifier (examples:"pc3",7,"pa6",3)
Returns
A Pin object.
Pin object
Pin.init()
Configures a pin.
Parameters
mode:Modeobject:direction(required): either"in"or"out"outMode(required fordirection: "out"): either"open_drain"or"push_pull"inMode(required fordirection: "in"): either"analog","plain_digital","interrupt"or"event"edge(required forinMode: "interrupt"or"event"): either"rising","falling"or"both"pull(optional): either"up","down"or unset
Pin.write()
Writes a digital value to a pin configured with direction: "out".
Parameters
value: boolean logic level to write
Pin.read()
Reads a digital value from a pin configured with direction: "in" and any
inMode except "analog".
Returns
Boolean logic level
Pin.readAnalog()
Reads an analog voltage level in millivolts from a pin configured with
direction: "in" and inMode: "analog".
Returns
Voltage on pin in millivolts.
Pin.interrupt()
Attaches an interrupt to a pin configured with direction: "in" and
inMode: "interrupt" or "event".
Returns
An event loop Contract object that identifies the interrupt event source. The
event does not produce any extra data.