UNPKG

@node-pigpio/core

Version:
849 lines (848 loc) 24.8 kB
/// <reference types="node" /> import { RequestParam } from '../Request'; declare const RequestCommands: { readonly MODES: { readonly cmdNo: 0; readonly p1: "gpio"; readonly p2: "mode"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly MODEG: { readonly cmdNo: 1; readonly p1: "gpio"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly PUD: { readonly cmdNo: 2; readonly p1: "gpio"; readonly p2: "pud"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly READ: { readonly cmdNo: 3; readonly p1: "gpio"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WRITE: { readonly cmdNo: 4; readonly p1: "gpio"; readonly p2: "level"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly PWM: { readonly cmdNo: 5; readonly p1: "gpio"; readonly p2: "dutycycle"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly PRS: { readonly cmdNo: 6; readonly p1: "gpio"; readonly p2: "range"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly PFS: { readonly cmdNo: 7; readonly p1: "gpio"; readonly p2: "frequency"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly SERVO: { readonly cmdNo: 8; readonly p1: "gpio"; readonly p2: "pulsewidth"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WDOG: { readonly cmdNo: 9; readonly p1: "gpio"; readonly p2: "timeout"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly BR1: { readonly cmdNo: 10; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly BR2: { readonly cmdNo: 11; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly BC1: { readonly cmdNo: 12; readonly p1: "bits"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly BC2: { readonly cmdNo: 13; readonly p1: "bits"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly BS1: { readonly cmdNo: 14; readonly p1: "bits"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly BS2: { readonly cmdNo: 15; readonly p1: "bits"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly TICK: { readonly cmdNo: 16; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly HWVER: { readonly cmdNo: 17; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly NO: { readonly cmdNo: 18; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly NB: { readonly cmdNo: 19; readonly p1: "handle"; readonly p2: "bits"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly NP: { readonly cmdNo: 20; readonly p1: "handle"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly NC: { readonly cmdNo: 21; readonly p1: "handle"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly PRG: { readonly cmdNo: 22; readonly p1: "gpio"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly PFG: { readonly cmdNo: 23; readonly p1: "gpio"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly PRRG: { readonly cmdNo: 24; readonly p1: "gpio"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly HELP: { readonly cmdNo: 25; readonly p1: "N/A"; readonly p2: "N/A"; readonly p3: "N/A"; readonly extension: readonly ["N/A"]; }; readonly PIGPV: { readonly cmdNo: 26; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WVCLR: { readonly cmdNo: 27; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WVAG: { readonly cmdNo: 28; readonly p1: "0"; readonly p2: "0"; readonly p3: "12*X"; readonly extension: readonly ["gpioPulse_t pulse[X]"]; }; readonly WVAS: { readonly cmdNo: 29; readonly p1: "gpio"; readonly p2: "baud"; readonly p3: "12+X"; readonly extension: readonly ["uint32_t databits", "uint32_t stophalfbits", "uint32_t offset", "uint8_t data[X]"]; }; readonly WVBSY: { readonly cmdNo: 32; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WVHLT: { readonly cmdNo: 33; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WVSM: { readonly cmdNo: 34; readonly p1: "subcmd"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WVSP: { readonly cmdNo: 35; readonly p1: "subcmd"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WVSC: { readonly cmdNo: 36; readonly p1: "subcmd"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly TRIG: { readonly cmdNo: 37; readonly p1: "gpio"; readonly p2: "pulselen"; readonly p3: "4"; readonly extension: readonly ["uint32_t level"]; }; readonly PROC: { readonly cmdNo: 38; readonly p1: "0"; readonly p2: "0"; readonly p3: "X"; readonly extension: readonly ["uint8_t text[X]"]; }; readonly PROCD: { readonly cmdNo: 39; readonly p1: "script_id"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly PROCR: { readonly cmdNo: 40; readonly p1: "script_id"; readonly p2: "0"; readonly p3: "4*X"; readonly extension: readonly ["uint32_t pars[X]"]; }; readonly PROCS: { readonly cmdNo: 41; readonly p1: "script_id"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly SLRO: { readonly cmdNo: 42; readonly p1: "gpio"; readonly p2: "baud"; readonly p3: "4"; readonly extension: readonly ["uint32_t databits"]; }; readonly SLR: { readonly cmdNo: 43; readonly p1: "gpio"; readonly p2: "count"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly SLRC: { readonly cmdNo: 44; readonly p1: "gpio"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly PROCP: { readonly cmdNo: 45; readonly p1: "script_id"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly MICS: { readonly cmdNo: 46; readonly p1: "micros"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly MILS: { readonly cmdNo: 47; readonly p1: "millis"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly PARSE: { readonly cmdNo: 48; readonly p1: "N/A"; readonly p2: "N/A"; readonly p3: "N/A"; readonly extension: readonly ["N/A"]; }; readonly WVCRE: { readonly cmdNo: 49; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WVDEL: { readonly cmdNo: 50; readonly p1: "wave_id"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WVTX: { readonly cmdNo: 51; readonly p1: "wave_id"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WVTXR: { readonly cmdNo: 52; readonly p1: "wave_id"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WVNEW: { readonly cmdNo: 53; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly I2CO: { readonly cmdNo: 54; readonly p1: "bus"; readonly p2: "device"; readonly p3: "4"; readonly extension: readonly ["uint32_t flags"]; }; readonly I2CC: { readonly cmdNo: 55; readonly p1: "handle"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly I2CRD: { readonly cmdNo: 56; readonly p1: "handle"; readonly p2: "count"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly I2CWD: { readonly cmdNo: 57; readonly p1: "handle"; readonly p2: "0"; readonly p3: "X"; readonly extension: readonly ["uint8_t data[X]"]; }; readonly I2CWQ: { readonly cmdNo: 58; readonly p1: "handle"; readonly p2: "bit"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly I2CRS: { readonly cmdNo: 59; readonly p1: "handle"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly I2CWS: { readonly cmdNo: 60; readonly p1: "handle"; readonly p2: "byte"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly I2CRB: { readonly cmdNo: 61; readonly p1: "handle"; readonly p2: "register"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly I2CWB: { readonly cmdNo: 62; readonly p1: "handle"; readonly p2: "register"; readonly p3: "4"; readonly extension: readonly ["uint32_t byte"]; }; readonly I2CRW: { readonly cmdNo: 63; readonly p1: "handle"; readonly p2: "register"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly I2CWW: { readonly cmdNo: 64; readonly p1: "handle"; readonly p2: "register"; readonly p3: "4"; readonly extension: readonly ["uint32_t word"]; }; readonly I2CRK: { readonly cmdNo: 65; readonly p1: "handle"; readonly p2: "register"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly I2CWK: { readonly cmdNo: 66; readonly p1: "handle"; readonly p2: "register"; readonly p3: "X"; readonly extension: readonly ["uint8_t bvs[X]"]; }; readonly I2CRI: { readonly cmdNo: 67; readonly p1: "handle"; readonly p2: "register"; readonly p3: "4"; readonly extension: readonly ["uint32_t num"]; }; readonly I2CWI: { readonly cmdNo: 68; readonly p1: "handle"; readonly p2: "register"; readonly p3: "X"; readonly extension: readonly ["uint8_t bvs[X]"]; }; readonly I2CPC: { readonly cmdNo: 69; readonly p1: "handle"; readonly p2: "register"; readonly p3: "4"; readonly extension: readonly ["uint32_t word"]; }; readonly I2CPK: { readonly cmdNo: 70; readonly p1: "handle"; readonly p2: "register"; readonly p3: "X"; readonly extension: readonly ["uint8_t data[X]"]; }; readonly SPIO: { readonly cmdNo: 71; readonly p1: "channel"; readonly p2: "baud"; readonly p3: "4"; readonly extension: readonly ["uint32_t flags"]; }; readonly SPIC: { readonly cmdNo: 72; readonly p1: "handle"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly SPIR: { readonly cmdNo: 73; readonly p1: "handle"; readonly p2: "count"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly SPIW: { readonly cmdNo: 74; readonly p1: "handle"; readonly p2: "0"; readonly p3: "X"; readonly extension: readonly ["uint8_t data[X]"]; }; readonly SPIX: { readonly cmdNo: 75; readonly p1: "handle"; readonly p2: "0"; readonly p3: "X"; readonly extension: readonly ["uint8_t data[X]"]; }; readonly SERO: { readonly cmdNo: 76; readonly p1: "baud"; readonly p2: "flags"; readonly p3: "X"; readonly extension: readonly ["uint8_t device[X]"]; }; readonly SERC: { readonly cmdNo: 77; readonly p1: "handle"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly SERRB: { readonly cmdNo: 78; readonly p1: "handle"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly SERWB: { readonly cmdNo: 79; readonly p1: "handle"; readonly p2: "byte"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly SERR: { readonly cmdNo: 80; readonly p1: "handle"; readonly p2: "count"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly SERW: { readonly cmdNo: 81; readonly p1: "handle"; readonly p2: "0"; readonly p3: "X"; readonly extension: readonly ["uint8_t data[X]"]; }; readonly SERDA: { readonly cmdNo: 82; readonly p1: "handle"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly GDC: { readonly cmdNo: 83; readonly p1: "gpio"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly GPW: { readonly cmdNo: 84; readonly p1: "gpio"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly HC: { readonly cmdNo: 85; readonly p1: "gpio"; readonly p2: "frequency"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly HP: { readonly cmdNo: 86; readonly p1: "gpio"; readonly p2: "frequency"; readonly p3: "4"; readonly extension: readonly ["uint32_t dutycycle"]; }; readonly CF1: { readonly cmdNo: 87; readonly p1: "arg1"; readonly p2: "arg2"; readonly p3: "X"; readonly extension: readonly ["uint8_t argx[X]"]; }; readonly CF2: { readonly cmdNo: 88; readonly p1: "arg1"; readonly p2: "retMax"; readonly p3: "X"; readonly extension: readonly ["uint8_t argx[X]"]; }; readonly BI2CC: { readonly cmdNo: 89; readonly p1: "sda"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly BI2CO: { readonly cmdNo: 90; readonly p1: "sda"; readonly p2: "scl"; readonly p3: "4"; readonly extension: readonly ["uint32_t baud"]; }; readonly BI2CZ: { readonly cmdNo: 91; readonly p1: "sda"; readonly p2: "0"; readonly p3: "X"; readonly extension: readonly ["uint8_t data[X]"]; }; readonly I2CZ: { readonly cmdNo: 92; readonly p1: "handle"; readonly p2: "0"; readonly p3: "X"; readonly extension: readonly ["uint8_t data[X]"]; }; readonly WVCHA: { readonly cmdNo: 93; readonly p1: "0"; readonly p2: "0"; readonly p3: "X"; readonly extension: readonly ["uint8_t data[X]"]; }; readonly SLRI: { readonly cmdNo: 94; readonly p1: "gpio"; readonly p2: "invert"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly CGI: { readonly cmdNo: 95; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly CSI: { readonly cmdNo: 96; readonly p1: "config"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly FG: { readonly cmdNo: 97; readonly p1: "gpio"; readonly p2: "steady"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly FN: { readonly cmdNo: 98; readonly p1: "gpio"; readonly p2: "steady"; readonly p3: "4"; readonly extension: readonly ["uint32_t active"]; }; readonly NOIB: { readonly cmdNo: 99; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WVTXM: { readonly cmdNo: 100; readonly p1: "wave_id"; readonly p2: "mode"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly WVTAT: { readonly cmdNo: 101; readonly p1: "0"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly PADS: { readonly cmdNo: 102; readonly p1: "pad"; readonly p2: "strength"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly PADG: { readonly cmdNo: 103; readonly p1: "pad"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly FO: { readonly cmdNo: 104; readonly p1: "mode"; readonly p2: "0"; readonly p3: "X"; readonly extension: readonly ["uint8_t file[X]"]; }; readonly FC: { readonly cmdNo: 105; readonly p1: "handle"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly FR: { readonly cmdNo: 106; readonly p1: "handle"; readonly p2: "count"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly FW: { readonly cmdNo: 107; readonly p1: "handle"; readonly p2: "0"; readonly p3: "X"; readonly extension: readonly ["uint8_t data[X]"]; }; readonly FS: { readonly cmdNo: 108; readonly p1: "handle"; readonly p2: "offset"; readonly p3: "4"; readonly extension: readonly ["uint32_t from"]; }; readonly FL: { readonly cmdNo: 109; readonly p1: "count"; readonly p2: "0"; readonly p3: "X"; readonly extension: readonly ["uint8_t pattern[X]"]; }; readonly SHELL: { readonly cmdNo: 110; readonly p1: "len(name)"; readonly p2: "0"; readonly p3: "len(name)+\n1+\nlen(string)"; readonly extension: readonly ["uint8_t name[len(name)]", "uint8_t null (0)", "uint8_t string[len(string)]"]; }; readonly BSPIC: { readonly cmdNo: 111; readonly p1: "CS"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly BSPIO: { readonly cmdNo: 112; readonly p1: "CS"; readonly p2: "0"; readonly p3: "20"; readonly extension: readonly ["uint32_t MISO", "uint32_t MOSI", "uint32_t SCLK", "uint32_t baud", "uint32_t spi_flags"]; }; readonly BSPIX: { readonly cmdNo: 113; readonly p1: "CS"; readonly p2: "0"; readonly p3: "X"; readonly extension: readonly ["uint8_t data[X]"]; }; readonly BSCX: { readonly cmdNo: 114; readonly p1: "control"; readonly p2: "0"; readonly p3: "X"; readonly extension: readonly ["uint8_t data[X]"]; }; readonly EVM: { readonly cmdNo: 115; readonly p1: "handle"; readonly p2: "bits"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly EVT: { readonly cmdNo: 116; readonly p1: "event"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; readonly PROCU: { readonly cmdNo: 117; readonly p1: "script_id"; readonly p2: "0"; readonly p3: "4*X"; readonly extension: readonly ["uint32_t pars[X]"]; }; readonly WVCAP: { readonly cmdNo: 118; readonly p1: "percent"; readonly p2: "0"; readonly p3: "0"; readonly extension: readonly ["-"]; }; }; export declare type Equals<T, S> = [T] extends [S] ? [S] extends [T] ? true : false : false; declare type RequestCommandType = typeof RequestCommands; declare type RequestTypeNames = keyof RequestCommandType; declare type HasExtensionRequest<T extends RequestTypeNames, TrueType, FalseType> = RequestCommandType[T]['extension'][0] extends '-' | 'N/A' ? FalseType : TrueType; declare type ParamType<T> = T extends '0' ? never : T; declare type P1name<T extends RequestTypeNames> = ParamType<RequestCommandType[T]['p1']>; declare type P2name<T extends RequestTypeNames> = ParamType<RequestCommandType[T]['p2']>; declare type ExtensionRequestCommandP1<T extends RequestTypeNames> = { [P in P1name<T>]: number; }; declare type ExtensionRequestCommandP2<T extends RequestTypeNames> = { [P in P2name<T>]: number; }; declare type ExtensionRequestCommand<T extends RequestTypeNames> = { command: T; } & ExtensionRequestCommandP1<T> & ExtensionRequestCommandP2<T>; declare type RequestCommand<T extends RequestTypeNames> = HasExtensionRequest<T, ExtensionRequestCommand<T> & { extension: Buffer; }, ExtensionRequestCommand<T>>; export declare const createRequestParam: <T extends "MODES" | "MODEG" | "PUD" | "READ" | "WRITE" | "PWM" | "PRS" | "PFS" | "SERVO" | "WDOG" | "BR1" | "BR2" | "BC1" | "BC2" | "BS1" | "BS2" | "TICK" | "HWVER" | "NO" | "NB" | "NP" | "NC" | "PRG" | "PFG" | "PRRG" | "HELP" | "PIGPV" | "WVCLR" | "WVAG" | "WVAS" | "WVBSY" | "WVHLT" | "WVSM" | "WVSP" | "WVSC" | "TRIG" | "PROC" | "PROCD" | "PROCR" | "PROCS" | "SLRO" | "SLR" | "SLRC" | "PROCP" | "MICS" | "MILS" | "PARSE" | "WVCRE" | "WVDEL" | "WVTX" | "WVTXR" | "WVNEW" | "I2CO" | "I2CC" | "I2CRD" | "I2CWD" | "I2CWQ" | "I2CRS" | "I2CWS" | "I2CRB" | "I2CWB" | "I2CRW" | "I2CWW" | "I2CRK" | "I2CWK" | "I2CRI" | "I2CWI" | "I2CPC" | "I2CPK" | "SPIO" | "SPIC" | "SPIR" | "SPIW" | "SPIX" | "SERO" | "SERC" | "SERRB" | "SERWB" | "SERR" | "SERW" | "SERDA" | "GDC" | "GPW" | "HC" | "HP" | "CF1" | "CF2" | "BI2CC" | "BI2CO" | "BI2CZ" | "I2CZ" | "WVCHA" | "SLRI" | "CGI" | "CSI" | "FG" | "FN" | "NOIB" | "WVTXM" | "WVTAT" | "PADS" | "PADG" | "FO" | "FC" | "FR" | "FW" | "FS" | "FL" | "SHELL" | "BSPIC" | "BSPIO" | "BSPIX" | "BSCX" | "EVM" | "EVT" | "PROCU" | "WVCAP">(param: HasExtensionRequest<T, { command: T; } & ExtensionRequestCommandP1<T> & ExtensionRequestCommandP2<T> & { extension: Buffer; }, ExtensionRequestCommand<T>>) => RequestParam; export {};