opengpio
Version:
A performant c++ based general purpose GPIO controller for linux devices. OpenGPIO is written using libgpiod, line & chip based abstractions.
23 lines (22 loc) • 876 B
TypeScript
export declare enum Edge {
Rising = 1,
Falling = -1,
Both = 0
}
export type Gpio = {
chip: number;
line: number;
};
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];
};