UNPKG

opengpio

Version:

A performant c++ based general purpose GPIO controller for linux devices. OpenGPIO is written using libgpiod, line & chip based abstractions.

35 lines (32 loc) 996 B
export enum Edge { Rising = 1, Falling = -1, Both = 0 } export type Gpio = { chip: number; line: number; }; // The type of the object returned by the native module. export type DutyCycleSetter = (dutyCycle: number) => void; export type FrequencySetter = (frequency: number) => void; export type CleanupCallback = () => void; export type PinSetter = (value: boolean) => void; export type PinGetter = () => boolean; export type WatchCallback = (value: boolean) => void; export type OpenGpioBindings = { info: () => string; input: (chip: number, line: number) => [PinGetter, CleanupCallback]; output: (chip: number, line: number) => [PinSetter, CleanupCallback]; watch: ( chip: number, line: number, callback: WatchCallback, ) => [PinGetter, CleanupCallback]; pwm: ( chip: number, line: number, dutyCycle: number, frequency: number ) => [DutyCycleSetter, FrequencySetter, CleanupCallback]; };