SkyPulse UAV V0.1
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions
pigpio.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <pthread.h>

Go to the source code of this file.

Classes

struct  gpioHeader_t
 
struct  gpioExtent_t
 
struct  gpioSample_t
 
struct  gpioReport_t
 
struct  gpioPulse_t
 
struct  rawWave_t
 
struct  rawWaveInfo_t
 
struct  rawSPI_t
 
struct  rawCbs_t
 
struct  pi_i2c_msg_t
 
struct  bsc_xfer_t
 

Macros

#define PIGPIO_VERSION   79
 
#define PI_INPFIFO   "/dev/pigpio"
 
#define PI_OUTFIFO   "/dev/pigout"
 
#define PI_ERRFIFO   "/dev/pigerr"
 
#define PI_ENVPORT   "PIGPIO_PORT"
 
#define PI_ENVADDR   "PIGPIO_ADDR"
 
#define PI_LOCKFILE   "/var/run/pigpio.pid"
 
#define PI_I2C_COMBINED   "/sys/module/i2c_bcm2708/parameters/combined"
 
#define WAVE_FLAG_READ   1
 
#define WAVE_FLAG_TICK   2
 
#define BSC_FIFO_SIZE   512
 
#define PI_MIN_GPIO   0
 
#define PI_MAX_GPIO   53
 
#define PI_MAX_USER_GPIO   31
 
#define PI_OFF   0
 
#define PI_ON   1
 
#define PI_CLEAR   0
 
#define PI_SET   1
 
#define PI_LOW   0
 
#define PI_HIGH   1
 
#define PI_TIMEOUT   2
 
#define PI_INPUT   0
 
#define PI_OUTPUT   1
 
#define PI_ALT0   4
 
#define PI_ALT1   5
 
#define PI_ALT2   6
 
#define PI_ALT3   7
 
#define PI_ALT4   3
 
#define PI_ALT5   2
 
#define PI_PUD_OFF   0
 
#define PI_PUD_DOWN   1
 
#define PI_PUD_UP   2
 
#define PI_DEFAULT_DUTYCYCLE_RANGE   255
 
#define PI_MIN_DUTYCYCLE_RANGE   25
 
#define PI_MAX_DUTYCYCLE_RANGE   40000
 
#define PI_SERVO_OFF   0
 
#define PI_MIN_SERVO_PULSEWIDTH   500
 
#define PI_MAX_SERVO_PULSEWIDTH   2500
 
#define PI_HW_PWM_MIN_FREQ   1
 
#define PI_HW_PWM_MAX_FREQ   125000000
 
#define PI_HW_PWM_MAX_FREQ_2711   187500000
 
#define PI_HW_PWM_RANGE   1000000
 
#define PI_HW_CLK_MIN_FREQ   4689
 
#define PI_HW_CLK_MIN_FREQ_2711   13184
 
#define PI_HW_CLK_MAX_FREQ   250000000
 
#define PI_HW_CLK_MAX_FREQ_2711   375000000
 
#define PI_NOTIFY_SLOTS   32
 
#define PI_NTFY_FLAGS_EVENT   (1 <<7)
 
#define PI_NTFY_FLAGS_ALIVE   (1 <<6)
 
#define PI_NTFY_FLAGS_WDOG   (1 <<5)
 
#define PI_NTFY_FLAGS_BIT(x)   (((x)<<0)&31)
 
#define PI_WAVE_BLOCKS   4
 
#define PI_WAVE_MAX_PULSES   (PI_WAVE_BLOCKS * 3000)
 
#define PI_WAVE_MAX_CHARS   (PI_WAVE_BLOCKS * 300)
 
#define PI_BB_I2C_MIN_BAUD   50
 
#define PI_BB_I2C_MAX_BAUD   500000
 
#define PI_BB_SPI_MIN_BAUD   50
 
#define PI_BB_SPI_MAX_BAUD   250000
 
#define PI_BB_SER_MIN_BAUD   50
 
#define PI_BB_SER_MAX_BAUD   250000
 
#define PI_BB_SER_NORMAL   0
 
#define PI_BB_SER_INVERT   1
 
#define PI_WAVE_MIN_BAUD   50
 
#define PI_WAVE_MAX_BAUD   1000000
 
#define PI_SPI_MIN_BAUD   32000
 
#define PI_SPI_MAX_BAUD   125000000
 
#define PI_MIN_WAVE_DATABITS   1
 
#define PI_MAX_WAVE_DATABITS   32
 
#define PI_MIN_WAVE_HALFSTOPBITS   2
 
#define PI_MAX_WAVE_HALFSTOPBITS   8
 
#define PI_WAVE_MAX_MICROS   (30 * 60 * 1000000) /* half an hour */
 
#define PI_MAX_WAVES   250
 
#define PI_MAX_WAVE_CYCLES   65535
 
#define PI_MAX_WAVE_DELAY   65535
 
#define PI_WAVE_COUNT_PAGES   10
 
#define PI_WAVE_MODE_ONE_SHOT   0
 
#define PI_WAVE_MODE_REPEAT   1
 
#define PI_WAVE_MODE_ONE_SHOT_SYNC   2
 
#define PI_WAVE_MODE_REPEAT_SYNC   3
 
#define PI_WAVE_NOT_FOUND   9998 /* Transmitted wave not found. */
 
#define PI_NO_TX_WAVE   9999 /* No wave being transmitted. */
 
#define PI_FILE_SLOTS   16
 
#define PI_I2C_SLOTS   512
 
#define PI_SPI_SLOTS   32
 
#define PI_SER_SLOTS   16
 
#define PI_MAX_I2C_ADDR   0x7F
 
#define PI_NUM_AUX_SPI_CHANNEL   3
 
#define PI_NUM_STD_SPI_CHANNEL   2
 
#define PI_MAX_I2C_DEVICE_COUNT   (1<<16)
 
#define PI_MAX_SPI_DEVICE_COUNT   (1<<16)
 
#define PI_I2C_RDRW_IOCTL_MAX_MSGS   42
 
#define PI_I2C_M_WR   0x0000 /* write data */
 
#define PI_I2C_M_RD   0x0001 /* read data */
 
#define PI_I2C_M_TEN   0x0010 /* ten bit chip address */
 
#define PI_I2C_M_RECV_LEN   0x0400 /* length will be first received byte */
 
#define PI_I2C_M_NO_RD_ACK   0x0800 /* if I2C_FUNC_PROTOCOL_MANGLING */
 
#define PI_I2C_M_IGNORE_NAK   0x1000 /* if I2C_FUNC_PROTOCOL_MANGLING */
 
#define PI_I2C_M_REV_DIR_ADDR   0x2000 /* if I2C_FUNC_PROTOCOL_MANGLING */
 
#define PI_I2C_M_NOSTART   0x4000 /* if I2C_FUNC_PROTOCOL_MANGLING */
 
#define PI_I2C_END   0
 
#define PI_I2C_ESC   1
 
#define PI_I2C_START   2
 
#define PI_I2C_COMBINED_ON   2
 
#define PI_I2C_STOP   3
 
#define PI_I2C_COMBINED_OFF   3
 
#define PI_I2C_ADDR   4
 
#define PI_I2C_FLAGS   5
 
#define PI_I2C_READ   6
 
#define PI_I2C_WRITE   7
 
#define PI_SPI_FLAGS_BITLEN(x)   ((x&63)<<16)
 
#define PI_SPI_FLAGS_RX_LSB(x)   ((x&1)<<15)
 
#define PI_SPI_FLAGS_TX_LSB(x)   ((x&1)<<14)
 
#define PI_SPI_FLAGS_3WREN(x)   ((x&15)<<10)
 
#define PI_SPI_FLAGS_3WIRE(x)   ((x&1)<<9)
 
#define PI_SPI_FLAGS_AUX_SPI(x)   ((x&1)<<8)
 
#define PI_SPI_FLAGS_RESVD(x)   ((x&7)<<5)
 
#define PI_SPI_FLAGS_CSPOLS(x)   ((x&7)<<2)
 
#define PI_SPI_FLAGS_MODE(x)   ((x&3))
 
#define BSC_DR   0
 
#define BSC_RSR   1
 
#define BSC_SLV   2
 
#define BSC_CR   3
 
#define BSC_FR   4
 
#define BSC_IFLS   5
 
#define BSC_IMSC   6
 
#define BSC_RIS   7
 
#define BSC_MIS   8
 
#define BSC_ICR   9
 
#define BSC_DMACR   10
 
#define BSC_TDR   11
 
#define BSC_GPUSTAT   12
 
#define BSC_HCTRL   13
 
#define BSC_DEBUG_I2C   14
 
#define BSC_DEBUG_SPI   15
 
#define BSC_CR_TESTFIFO   2048
 
#define BSC_CR_RXE   512
 
#define BSC_CR_TXE   256
 
#define BSC_CR_BRK   128
 
#define BSC_CR_CPOL   16
 
#define BSC_CR_CPHA   8
 
#define BSC_CR_I2C   4
 
#define BSC_CR_SPI   2
 
#define BSC_CR_EN   1
 
#define BSC_FR_RXBUSY   32
 
#define BSC_FR_TXFE   16
 
#define BSC_FR_RXFF   8
 
#define BSC_FR_TXFF   4
 
#define BSC_FR_RXFE   2
 
#define BSC_FR_TXBUSY   1
 
#define BSC_SDA   18
 
#define BSC_MOSI   20
 
#define BSC_SCL_SCLK   19
 
#define BSC_MISO   18
 
#define BSC_CE_N   21
 
#define BSC_SDA_2711   10
 
#define BSC_MOSI_2711   9
 
#define BSC_SCL_SCLK_2711   11
 
#define BSC_MISO_2711   10
 
#define BSC_CE_N_2711   8
 
#define PI_MAX_BUSY_DELAY   100
 
#define PI_MIN_WDOG_TIMEOUT   0
 
#define PI_MAX_WDOG_TIMEOUT   60000
 
#define PI_MIN_TIMER   0
 
#define PI_MAX_TIMER   9
 
#define PI_MIN_MS   10
 
#define PI_MAX_MS   60000
 
#define PI_MAX_SCRIPTS   32
 
#define PI_MAX_SCRIPT_TAGS   50
 
#define PI_MAX_SCRIPT_VARS   150
 
#define PI_MAX_SCRIPT_PARAMS   10
 
#define PI_SCRIPT_INITING   0
 
#define PI_SCRIPT_HALTED   1
 
#define PI_SCRIPT_RUNNING   2
 
#define PI_SCRIPT_WAITING   3
 
#define PI_SCRIPT_FAILED   4
 
#define PI_MIN_SIGNUM   0
 
#define PI_MAX_SIGNUM   63
 
#define PI_TIME_RELATIVE   0
 
#define PI_TIME_ABSOLUTE   1
 
#define PI_MAX_MICS_DELAY   1000000 /* 1 second */
 
#define PI_MAX_MILS_DELAY   60000 /* 60 seconds */
 
#define PI_BUF_MILLIS_MIN   100
 
#define PI_BUF_MILLIS_MAX   10000
 
#define PI_CLOCK_PWM   0
 
#define PI_CLOCK_PCM   1
 
#define PI_MIN_DMA_CHANNEL   0
 
#define PI_MAX_DMA_CHANNEL   15
 
#define PI_MIN_SOCKET_PORT   1024
 
#define PI_MAX_SOCKET_PORT   32000
 
#define PI_DISABLE_FIFO_IF   1
 
#define PI_DISABLE_SOCK_IF   2
 
#define PI_LOCALHOST_SOCK_IF   4
 
#define PI_DISABLE_ALERT   8
 
#define PI_MEM_ALLOC_AUTO   0
 
#define PI_MEM_ALLOC_PAGEMAP   1
 
#define PI_MEM_ALLOC_MAILBOX   2
 
#define PI_MAX_STEADY   300000
 
#define PI_MAX_ACTIVE   1000000
 
#define PI_CFG_DBG_LEVEL   0 /* bits 0-3 */
 
#define PI_CFG_ALERT_FREQ   4 /* bits 4-7 */
 
#define PI_CFG_RT_PRIORITY   (1<<8)
 
#define PI_CFG_STATS   (1<<9)
 
#define PI_CFG_NOSIGHANDLER   (1<<10)
 
#define PI_CFG_ILLEGAL_VAL   (1<<11)
 
#define RISING_EDGE   0
 
#define FALLING_EDGE   1
 
#define EITHER_EDGE   2
 
#define PI_MAX_PAD   2
 
#define PI_MIN_PAD_STRENGTH   1
 
#define PI_MAX_PAD_STRENGTH   16
 
#define PI_FILE_NONE   0
 
#define PI_FILE_MIN   1
 
#define PI_FILE_READ   1
 
#define PI_FILE_WRITE   2
 
#define PI_FILE_RW   3
 
#define PI_FILE_APPEND   4
 
#define PI_FILE_CREATE   8
 
#define PI_FILE_TRUNC   16
 
#define PI_FILE_MAX   31
 
#define PI_FROM_START   0
 
#define PI_FROM_CURRENT   1
 
#define PI_FROM_END   2
 
#define MAX_CONNECT_ADDRESSES   256
 
#define PI_MAX_EVENT   31
 
#define PI_EVENT_BSC   31
 
#define PI_CMD_MODES   0
 
#define PI_CMD_MODEG   1
 
#define PI_CMD_PUD   2
 
#define PI_CMD_READ   3
 
#define PI_CMD_WRITE   4
 
#define PI_CMD_PWM   5
 
#define PI_CMD_PRS   6
 
#define PI_CMD_PFS   7
 
#define PI_CMD_SERVO   8
 
#define PI_CMD_WDOG   9
 
#define PI_CMD_BR1   10
 
#define PI_CMD_BR2   11
 
#define PI_CMD_BC1   12
 
#define PI_CMD_BC2   13
 
#define PI_CMD_BS1   14
 
#define PI_CMD_BS2   15
 
#define PI_CMD_TICK   16
 
#define PI_CMD_HWVER   17
 
#define PI_CMD_NO   18
 
#define PI_CMD_NB   19
 
#define PI_CMD_NP   20
 
#define PI_CMD_NC   21
 
#define PI_CMD_PRG   22
 
#define PI_CMD_PFG   23
 
#define PI_CMD_PRRG   24
 
#define PI_CMD_HELP   25
 
#define PI_CMD_PIGPV   26
 
#define PI_CMD_WVCLR   27
 
#define PI_CMD_WVAG   28
 
#define PI_CMD_WVAS   29
 
#define PI_CMD_WVGO   30
 
#define PI_CMD_WVGOR   31
 
#define PI_CMD_WVBSY   32
 
#define PI_CMD_WVHLT   33
 
#define PI_CMD_WVSM   34
 
#define PI_CMD_WVSP   35
 
#define PI_CMD_WVSC   36
 
#define PI_CMD_TRIG   37
 
#define PI_CMD_PROC   38
 
#define PI_CMD_PROCD   39
 
#define PI_CMD_PROCR   40
 
#define PI_CMD_PROCS   41
 
#define PI_CMD_SLRO   42
 
#define PI_CMD_SLR   43
 
#define PI_CMD_SLRC   44
 
#define PI_CMD_PROCP   45
 
#define PI_CMD_MICS   46
 
#define PI_CMD_MILS   47
 
#define PI_CMD_PARSE   48
 
#define PI_CMD_WVCRE   49
 
#define PI_CMD_WVDEL   50
 
#define PI_CMD_WVTX   51
 
#define PI_CMD_WVTXR   52
 
#define PI_CMD_WVNEW   53
 
#define PI_CMD_I2CO   54
 
#define PI_CMD_I2CC   55
 
#define PI_CMD_I2CRD   56
 
#define PI_CMD_I2CWD   57
 
#define PI_CMD_I2CWQ   58
 
#define PI_CMD_I2CRS   59
 
#define PI_CMD_I2CWS   60
 
#define PI_CMD_I2CRB   61
 
#define PI_CMD_I2CWB   62
 
#define PI_CMD_I2CRW   63
 
#define PI_CMD_I2CWW   64
 
#define PI_CMD_I2CRK   65
 
#define PI_CMD_I2CWK   66
 
#define PI_CMD_I2CRI   67
 
#define PI_CMD_I2CWI   68
 
#define PI_CMD_I2CPC   69
 
#define PI_CMD_I2CPK   70
 
#define PI_CMD_SPIO   71
 
#define PI_CMD_SPIC   72
 
#define PI_CMD_SPIR   73
 
#define PI_CMD_SPIW   74
 
#define PI_CMD_SPIX   75
 
#define PI_CMD_SERO   76
 
#define PI_CMD_SERC   77
 
#define PI_CMD_SERRB   78
 
#define PI_CMD_SERWB   79
 
#define PI_CMD_SERR   80
 
#define PI_CMD_SERW   81
 
#define PI_CMD_SERDA   82
 
#define PI_CMD_GDC   83
 
#define PI_CMD_GPW   84
 
#define PI_CMD_HC   85
 
#define PI_CMD_HP   86
 
#define PI_CMD_CF1   87
 
#define PI_CMD_CF2   88
 
#define PI_CMD_BI2CC   89
 
#define PI_CMD_BI2CO   90
 
#define PI_CMD_BI2CZ   91
 
#define PI_CMD_I2CZ   92
 
#define PI_CMD_WVCHA   93
 
#define PI_CMD_SLRI   94
 
#define PI_CMD_CGI   95
 
#define PI_CMD_CSI   96
 
#define PI_CMD_FG   97
 
#define PI_CMD_FN   98
 
#define PI_CMD_NOIB   99
 
#define PI_CMD_WVTXM   100
 
#define PI_CMD_WVTAT   101
 
#define PI_CMD_PADS   102
 
#define PI_CMD_PADG   103
 
#define PI_CMD_FO   104
 
#define PI_CMD_FC   105
 
#define PI_CMD_FR   106
 
#define PI_CMD_FW   107
 
#define PI_CMD_FS   108
 
#define PI_CMD_FL   109
 
#define PI_CMD_SHELL   110
 
#define PI_CMD_BSPIC   111
 
#define PI_CMD_BSPIO   112
 
#define PI_CMD_BSPIX   113
 
#define PI_CMD_BSCX   114
 
#define PI_CMD_EVM   115
 
#define PI_CMD_EVT   116
 
#define PI_CMD_PROCU   117
 
#define PI_CMD_WVCAP   118
 
#define PI_CMD_SCRIPT   800
 
#define PI_CMD_ADD   800
 
#define PI_CMD_AND   801
 
#define PI_CMD_CALL   802
 
#define PI_CMD_CMDR   803
 
#define PI_CMD_CMDW   804
 
#define PI_CMD_CMP   805
 
#define PI_CMD_DCR   806
 
#define PI_CMD_DCRA   807
 
#define PI_CMD_DIV   808
 
#define PI_CMD_HALT   809
 
#define PI_CMD_INR   810
 
#define PI_CMD_INRA   811
 
#define PI_CMD_JM   812
 
#define PI_CMD_JMP   813
 
#define PI_CMD_JNZ   814
 
#define PI_CMD_JP   815
 
#define PI_CMD_JZ   816
 
#define PI_CMD_TAG   817
 
#define PI_CMD_LD   818
 
#define PI_CMD_LDA   819
 
#define PI_CMD_LDAB   820
 
#define PI_CMD_MLT   821
 
#define PI_CMD_MOD   822
 
#define PI_CMD_NOP   823
 
#define PI_CMD_OR   824
 
#define PI_CMD_POP   825
 
#define PI_CMD_POPA   826
 
#define PI_CMD_PUSH   827
 
#define PI_CMD_PUSHA   828
 
#define PI_CMD_RET   829
 
#define PI_CMD_RL   830
 
#define PI_CMD_RLA   831
 
#define PI_CMD_RR   832
 
#define PI_CMD_RRA   833
 
#define PI_CMD_STA   834
 
#define PI_CMD_STAB   835
 
#define PI_CMD_SUB   836
 
#define PI_CMD_SYS   837
 
#define PI_CMD_WAIT   838
 
#define PI_CMD_X   839
 
#define PI_CMD_XA   840
 
#define PI_CMD_XOR   841
 
#define PI_CMD_EVTWT   842
 
#define PI_INIT_FAILED   -1
 
#define PI_BAD_USER_GPIO   -2
 
#define PI_BAD_GPIO   -3
 
#define PI_BAD_MODE   -4
 
#define PI_BAD_LEVEL   -5
 
#define PI_BAD_PUD   -6
 
#define PI_BAD_PULSEWIDTH   -7
 
#define PI_BAD_DUTYCYCLE   -8
 
#define PI_BAD_TIMER   -9
 
#define PI_BAD_MS   -10
 
#define PI_BAD_TIMETYPE   -11
 
#define PI_BAD_SECONDS   -12
 
#define PI_BAD_MICROS   -13
 
#define PI_TIMER_FAILED   -14
 
#define PI_BAD_WDOG_TIMEOUT   -15
 
#define PI_NO_ALERT_FUNC   -16
 
#define PI_BAD_CLK_PERIPH   -17
 
#define PI_BAD_CLK_SOURCE   -18
 
#define PI_BAD_CLK_MICROS   -19
 
#define PI_BAD_BUF_MILLIS   -20
 
#define PI_BAD_DUTYRANGE   -21
 
#define PI_BAD_DUTY_RANGE   -21
 
#define PI_BAD_SIGNUM   -22
 
#define PI_BAD_PATHNAME   -23
 
#define PI_NO_HANDLE   -24
 
#define PI_BAD_HANDLE   -25
 
#define PI_BAD_IF_FLAGS   -26
 
#define PI_BAD_CHANNEL   -27
 
#define PI_BAD_PRIM_CHANNEL   -27
 
#define PI_BAD_SOCKET_PORT   -28
 
#define PI_BAD_FIFO_COMMAND   -29
 
#define PI_BAD_SECO_CHANNEL   -30
 
#define PI_NOT_INITIALISED   -31
 
#define PI_INITIALISED   -32
 
#define PI_BAD_WAVE_MODE   -33
 
#define PI_BAD_CFG_INTERNAL   -34
 
#define PI_BAD_WAVE_BAUD   -35
 
#define PI_TOO_MANY_PULSES   -36
 
#define PI_TOO_MANY_CHARS   -37
 
#define PI_NOT_SERIAL_GPIO   -38
 
#define PI_BAD_SERIAL_STRUC   -39
 
#define PI_BAD_SERIAL_BUF   -40
 
#define PI_NOT_PERMITTED   -41
 
#define PI_SOME_PERMITTED   -42
 
#define PI_BAD_WVSC_COMMND   -43
 
#define PI_BAD_WVSM_COMMND   -44
 
#define PI_BAD_WVSP_COMMND   -45
 
#define PI_BAD_PULSELEN   -46
 
#define PI_BAD_SCRIPT   -47
 
#define PI_BAD_SCRIPT_ID   -48
 
#define PI_BAD_SER_OFFSET   -49
 
#define PI_GPIO_IN_USE   -50
 
#define PI_BAD_SERIAL_COUNT   -51
 
#define PI_BAD_PARAM_NUM   -52
 
#define PI_DUP_TAG   -53
 
#define PI_TOO_MANY_TAGS   -54
 
#define PI_BAD_SCRIPT_CMD   -55
 
#define PI_BAD_VAR_NUM   -56
 
#define PI_NO_SCRIPT_ROOM   -57
 
#define PI_NO_MEMORY   -58
 
#define PI_SOCK_READ_FAILED   -59
 
#define PI_SOCK_WRIT_FAILED   -60
 
#define PI_TOO_MANY_PARAM   -61
 
#define PI_NOT_HALTED   -62
 
#define PI_SCRIPT_NOT_READY   -62
 
#define PI_BAD_TAG   -63
 
#define PI_BAD_MICS_DELAY   -64
 
#define PI_BAD_MILS_DELAY   -65
 
#define PI_BAD_WAVE_ID   -66
 
#define PI_TOO_MANY_CBS   -67
 
#define PI_TOO_MANY_OOL   -68
 
#define PI_EMPTY_WAVEFORM   -69
 
#define PI_NO_WAVEFORM_ID   -70
 
#define PI_I2C_OPEN_FAILED   -71
 
#define PI_SER_OPEN_FAILED   -72
 
#define PI_SPI_OPEN_FAILED   -73
 
#define PI_BAD_I2C_BUS   -74
 
#define PI_BAD_I2C_ADDR   -75
 
#define PI_BAD_SPI_CHANNEL   -76
 
#define PI_BAD_FLAGS   -77
 
#define PI_BAD_SPI_SPEED   -78
 
#define PI_BAD_SER_DEVICE   -79
 
#define PI_BAD_SER_SPEED   -80
 
#define PI_BAD_PARAM   -81
 
#define PI_I2C_WRITE_FAILED   -82
 
#define PI_I2C_READ_FAILED   -83
 
#define PI_BAD_SPI_COUNT   -84
 
#define PI_SER_WRITE_FAILED   -85
 
#define PI_SER_READ_FAILED   -86
 
#define PI_SER_READ_NO_DATA   -87
 
#define PI_UNKNOWN_COMMAND   -88
 
#define PI_SPI_XFER_FAILED   -89
 
#define PI_BAD_POINTER   -90
 
#define PI_NO_AUX_SPI   -91
 
#define PI_NOT_PWM_GPIO   -92
 
#define PI_NOT_SERVO_GPIO   -93
 
#define PI_NOT_HCLK_GPIO   -94
 
#define PI_NOT_HPWM_GPIO   -95
 
#define PI_BAD_HPWM_FREQ   -96
 
#define PI_BAD_HPWM_DUTY   -97
 
#define PI_BAD_HCLK_FREQ   -98
 
#define PI_BAD_HCLK_PASS   -99
 
#define PI_HPWM_ILLEGAL   -100
 
#define PI_BAD_DATABITS   -101
 
#define PI_BAD_STOPBITS   -102
 
#define PI_MSG_TOOBIG   -103
 
#define PI_BAD_MALLOC_MODE   -104
 
#define PI_TOO_MANY_SEGS   -105
 
#define PI_BAD_I2C_SEG   -106
 
#define PI_BAD_SMBUS_CMD   -107
 
#define PI_NOT_I2C_GPIO   -108
 
#define PI_BAD_I2C_WLEN   -109
 
#define PI_BAD_I2C_RLEN   -110
 
#define PI_BAD_I2C_CMD   -111
 
#define PI_BAD_I2C_BAUD   -112
 
#define PI_CHAIN_LOOP_CNT   -113
 
#define PI_BAD_CHAIN_LOOP   -114
 
#define PI_CHAIN_COUNTER   -115
 
#define PI_BAD_CHAIN_CMD   -116
 
#define PI_BAD_CHAIN_DELAY   -117
 
#define PI_CHAIN_NESTING   -118
 
#define PI_CHAIN_TOO_BIG   -119
 
#define PI_DEPRECATED   -120
 
#define PI_BAD_SER_INVERT   -121
 
#define PI_BAD_EDGE   -122
 
#define PI_BAD_ISR_INIT   -123
 
#define PI_BAD_FOREVER   -124
 
#define PI_BAD_FILTER   -125
 
#define PI_BAD_PAD   -126
 
#define PI_BAD_STRENGTH   -127
 
#define PI_FIL_OPEN_FAILED   -128
 
#define PI_BAD_FILE_MODE   -129
 
#define PI_BAD_FILE_FLAG   -130
 
#define PI_BAD_FILE_READ   -131
 
#define PI_BAD_FILE_WRITE   -132
 
#define PI_FILE_NOT_ROPEN   -133
 
#define PI_FILE_NOT_WOPEN   -134
 
#define PI_BAD_FILE_SEEK   -135
 
#define PI_NO_FILE_MATCH   -136
 
#define PI_NO_FILE_ACCESS   -137
 
#define PI_FILE_IS_A_DIR   -138
 
#define PI_BAD_SHELL_STATUS   -139
 
#define PI_BAD_SCRIPT_NAME   -140
 
#define PI_BAD_SPI_BAUD   -141
 
#define PI_NOT_SPI_GPIO   -142
 
#define PI_BAD_EVENT_ID   -143
 
#define PI_CMD_INTERRUPTED   -144
 
#define PI_NOT_ON_BCM2711   -145
 
#define PI_ONLY_ON_BCM2711   -146
 
#define PI_PIGIF_ERR_0   -2000
 
#define PI_PIGIF_ERR_99   -2099
 
#define PI_CUSTOM_ERR_0   -3000
 
#define PI_CUSTOM_ERR_999   -3999
 
#define PI_DEFAULT_BUFFER_MILLIS   120
 
#define PI_DEFAULT_CLK_MICROS   5
 
#define PI_DEFAULT_CLK_PERIPHERAL   PI_CLOCK_PCM
 
#define PI_DEFAULT_IF_FLAGS   0
 
#define PI_DEFAULT_FOREGROUND   0
 
#define PI_DEFAULT_DMA_CHANNEL   14
 
#define PI_DEFAULT_DMA_PRIMARY_CHANNEL   14
 
#define PI_DEFAULT_DMA_SECONDARY_CHANNEL   6
 
#define PI_DEFAULT_DMA_PRIMARY_CH_2711   7
 
#define PI_DEFAULT_DMA_SECONDARY_CH_2711   6
 
#define PI_DEFAULT_DMA_NOT_SET   15
 
#define PI_DEFAULT_SOCKET_PORT   8888
 
#define PI_DEFAULT_SOCKET_PORT_STR   "8888"
 
#define PI_DEFAULT_SOCKET_ADDR_STR   "localhost"
 
#define PI_DEFAULT_UPDATE_MASK_UNKNOWN   0x0000000FFFFFFCLL
 
#define PI_DEFAULT_UPDATE_MASK_B1   0x03E7CF93
 
#define PI_DEFAULT_UPDATE_MASK_A_B2   0xFBC7CF9C
 
#define PI_DEFAULT_UPDATE_MASK_APLUS_BPLUS   0x0080480FFFFFFCLL
 
#define PI_DEFAULT_UPDATE_MASK_ZERO   0x0080000FFFFFFCLL
 
#define PI_DEFAULT_UPDATE_MASK_PI2B   0x0080480FFFFFFCLL
 
#define PI_DEFAULT_UPDATE_MASK_PI3B   0x0000000FFFFFFCLL
 
#define PI_DEFAULT_UPDATE_MASK_PI4B   0x0000000FFFFFFCLL
 
#define PI_DEFAULT_UPDATE_MASK_COMPUTE   0x00FFFFFFFFFFFFLL
 
#define PI_DEFAULT_MEM_ALLOC_MODE   PI_MEM_ALLOC_AUTO
 
#define PI_DEFAULT_CFG_INTERNALS   0
 

Typedefs

typedef void(* gpioAlertFunc_t) (int gpio, int level, uint32_t tick)
 
typedef void(* gpioAlertFuncEx_t) (int gpio, int level, uint32_t tick, void *userdata)
 
typedef void(* eventFunc_t) (int event, uint32_t tick)
 
typedef void(* eventFuncEx_t) (int event, uint32_t tick, void *userdata)
 
typedef void(* gpioISRFunc_t) (int gpio, int level, uint32_t tick)
 
typedef void(* gpioISRFuncEx_t) (int gpio, int level, uint32_t tick, void *userdata)
 
typedef void(* gpioTimerFunc_t) (void)
 
typedef void(* gpioTimerFuncEx_t) (void *userdata)
 
typedef void(* gpioSignalFunc_t) (int signum)
 
typedef void(* gpioSignalFuncEx_t) (int signum, void *userdata)
 
typedef void(* gpioGetSamplesFunc_t) (const gpioSample_t *samples, int numSamples)
 
typedef void(* gpioGetSamplesFuncEx_t) (const gpioSample_t *samples, int numSamples, void *userdata)
 
typedef void * gpioThreadFunc_t(void *)
 

Functions

int gpioInitialise (void)
 
void gpioTerminate (void)
 
int gpioSetMode (unsigned gpio, unsigned mode)
 
int gpioGetMode (unsigned gpio)
 
int gpioSetPullUpDown (unsigned gpio, unsigned pud)
 
int gpioRead (unsigned gpio)
 
int gpioWrite (unsigned gpio, unsigned level)
 
int gpioPWM (unsigned user_gpio, unsigned dutycycle)
 
int gpioGetPWMdutycycle (unsigned user_gpio)
 
int gpioSetPWMrange (unsigned user_gpio, unsigned range)
 
int gpioGetPWMrange (unsigned user_gpio)
 
int gpioGetPWMrealRange (unsigned user_gpio)
 
int gpioSetPWMfrequency (unsigned user_gpio, unsigned frequency)
 
int gpioGetPWMfrequency (unsigned user_gpio)
 
int gpioServo (unsigned user_gpio, unsigned pulsewidth)
 
int gpioGetServoPulsewidth (unsigned user_gpio)
 
int gpioSetAlertFunc (unsigned user_gpio, gpioAlertFunc_t f)
 
int gpioSetAlertFuncEx (unsigned user_gpio, gpioAlertFuncEx_t f, void *userdata)
 
int gpioSetISRFunc (unsigned gpio, unsigned edge, int timeout, gpioISRFunc_t f)
 
int gpioSetISRFuncEx (unsigned gpio, unsigned edge, int timeout, gpioISRFuncEx_t f, void *userdata)
 
int gpioNotifyOpen (void)
 
int gpioNotifyOpenWithSize (int bufSize)
 
int gpioNotifyBegin (unsigned handle, uint32_t bits)
 
int gpioNotifyPause (unsigned handle)
 
int gpioNotifyClose (unsigned handle)
 
int gpioWaveClear (void)
 
int gpioWaveAddNew (void)
 
int gpioWaveAddGeneric (unsigned numPulses, gpioPulse_t *pulses)
 
int gpioWaveAddSerial (unsigned user_gpio, unsigned baud, unsigned data_bits, unsigned stop_bits, unsigned offset, unsigned numBytes, char *str)
 
int gpioWaveCreate (void)
 
int gpioWaveCreatePad (int pctCB, int pctBOOL, int pctTOOL)
 
int gpioWaveDelete (unsigned wave_id)
 
int gpioWaveTxSend (unsigned wave_id, unsigned wave_mode)
 
int gpioWaveChain (char *buf, unsigned bufSize)
 
int gpioWaveTxAt (void)
 
int gpioWaveTxBusy (void)
 
int gpioWaveTxStop (void)
 
int gpioWaveGetMicros (void)
 
int gpioWaveGetHighMicros (void)
 
int gpioWaveGetMaxMicros (void)
 
int gpioWaveGetPulses (void)
 
int gpioWaveGetHighPulses (void)
 
int gpioWaveGetMaxPulses (void)
 
int gpioWaveGetCbs (void)
 
int gpioWaveGetHighCbs (void)
 
int gpioWaveGetMaxCbs (void)
 
int gpioSerialReadOpen (unsigned user_gpio, unsigned baud, unsigned data_bits)
 
int gpioSerialReadInvert (unsigned user_gpio, unsigned invert)
 
int gpioSerialRead (unsigned user_gpio, void *buf, size_t bufSize)
 
int gpioSerialReadClose (unsigned user_gpio)
 
int i2cOpen (unsigned i2cBus, unsigned i2cAddr, unsigned i2cFlags)
 
int i2cClose (unsigned handle)
 
int i2cWriteQuick (unsigned handle, unsigned bit)
 
int i2cWriteByte (unsigned handle, unsigned bVal)
 
int i2cReadByte (unsigned handle)
 
int i2cWriteByteData (unsigned handle, unsigned i2cReg, unsigned bVal)
 
int i2cWriteWordData (unsigned handle, unsigned i2cReg, unsigned wVal)
 
int i2cReadByteData (unsigned handle, unsigned i2cReg)
 
int i2cReadWordData (unsigned handle, unsigned i2cReg)
 
int i2cProcessCall (unsigned handle, unsigned i2cReg, unsigned wVal)
 
int i2cWriteBlockData (unsigned handle, unsigned i2cReg, char *buf, unsigned count)
 
int i2cReadBlockData (unsigned handle, unsigned i2cReg, char *buf)
 
int i2cBlockProcessCall (unsigned handle, unsigned i2cReg, char *buf, unsigned count)
 
int i2cReadI2CBlockData (unsigned handle, unsigned i2cReg, char *buf, unsigned count)
 
int i2cWriteI2CBlockData (unsigned handle, unsigned i2cReg, char *buf, unsigned count)
 
int i2cReadDevice (unsigned handle, char *buf, unsigned count)
 
int i2cWriteDevice (unsigned handle, char *buf, unsigned count)
 
void i2cSwitchCombined (int setting)
 
int i2cSegments (unsigned handle, pi_i2c_msg_t *segs, unsigned numSegs)
 
int i2cZip (unsigned handle, char *inBuf, unsigned inLen, char *outBuf, unsigned outLen)
 
int bbI2COpen (unsigned SDA, unsigned SCL, unsigned baud)
 
int bbI2CClose (unsigned SDA)
 
int bbI2CZip (unsigned SDA, char *inBuf, unsigned inLen, char *outBuf, unsigned outLen)
 
int bscXfer (bsc_xfer_t *bsc_xfer)
 
int bbSPIOpen (unsigned CS, unsigned MISO, unsigned MOSI, unsigned SCLK, unsigned baud, unsigned spiFlags)
 
int bbSPIClose (unsigned CS)
 
int bbSPIXfer (unsigned CS, char *inBuf, char *outBuf, unsigned count)
 
int spiOpen (unsigned spiChan, unsigned baud, unsigned spiFlags)
 
int spiClose (unsigned handle)
 
int spiRead (unsigned handle, char *buf, unsigned count)
 
int spiWrite (unsigned handle, char *buf, unsigned count)
 
int spiXfer (unsigned handle, char *txBuf, char *rxBuf, unsigned count)
 
int serOpen (char *sertty, unsigned baud, unsigned serFlags)
 
int serClose (unsigned handle)
 
int serWriteByte (unsigned handle, unsigned bVal)
 
int serReadByte (unsigned handle)
 
int serWrite (unsigned handle, char *buf, unsigned count)
 
int serRead (unsigned handle, char *buf, unsigned count)
 
int serDataAvailable (unsigned handle)
 
int gpioTrigger (unsigned user_gpio, unsigned pulseLen, unsigned level)
 
int gpioSetWatchdog (unsigned user_gpio, unsigned timeout)
 
int gpioNoiseFilter (unsigned user_gpio, unsigned steady, unsigned active)
 
int gpioGlitchFilter (unsigned user_gpio, unsigned steady)
 
int gpioSetGetSamplesFunc (gpioGetSamplesFunc_t f, uint32_t bits)
 
int gpioSetGetSamplesFuncEx (gpioGetSamplesFuncEx_t f, uint32_t bits, void *userdata)
 
int gpioSetTimerFunc (unsigned timer, unsigned millis, gpioTimerFunc_t f)
 
int gpioSetTimerFuncEx (unsigned timer, unsigned millis, gpioTimerFuncEx_t f, void *userdata)
 
pthread_t * gpioStartThread (gpioThreadFunc_t f, void *userdata)
 
void gpioStopThread (pthread_t *pth)
 
int gpioStoreScript (char *script)
 
int gpioRunScript (unsigned script_id, unsigned numPar, uint32_t *param)
 
int gpioUpdateScript (unsigned script_id, unsigned numPar, uint32_t *param)
 
int gpioScriptStatus (unsigned script_id, uint32_t *param)
 
int gpioStopScript (unsigned script_id)
 
int gpioDeleteScript (unsigned script_id)
 
int gpioSetSignalFunc (unsigned signum, gpioSignalFunc_t f)
 
int gpioSetSignalFuncEx (unsigned signum, gpioSignalFuncEx_t f, void *userdata)
 
uint32_t gpioRead_Bits_0_31 (void)
 
uint32_t gpioRead_Bits_32_53 (void)
 
int gpioWrite_Bits_0_31_Clear (uint32_t bits)
 
int gpioWrite_Bits_32_53_Clear (uint32_t bits)
 
int gpioWrite_Bits_0_31_Set (uint32_t bits)
 
int gpioWrite_Bits_32_53_Set (uint32_t bits)
 
int gpioHardwareClock (unsigned gpio, unsigned clkfreq)
 
int gpioHardwarePWM (unsigned gpio, unsigned PWMfreq, unsigned PWMduty)
 
int gpioTime (unsigned timetype, int *seconds, int *micros)
 
int gpioSleep (unsigned timetype, int seconds, int micros)
 
uint32_t gpioDelay (uint32_t micros)
 
uint32_t gpioTick (void)
 
unsigned gpioHardwareRevision (void)
 
unsigned gpioVersion (void)
 
int gpioGetPad (unsigned pad)
 
int gpioSetPad (unsigned pad, unsigned padStrength)
 
int eventMonitor (unsigned handle, uint32_t bits)
 
int eventSetFunc (unsigned event, eventFunc_t f)
 
int eventSetFuncEx (unsigned event, eventFuncEx_t f, void *userdata)
 
int eventTrigger (unsigned event)
 
int shell (char *scriptName, char *scriptString)
 
int fileOpen (char *file, unsigned mode)
 
int fileClose (unsigned handle)
 
int fileWrite (unsigned handle, char *buf, unsigned count)
 
int fileRead (unsigned handle, char *buf, unsigned count)
 
int fileSeek (unsigned handle, int32_t seekOffset, int seekFrom)
 
int fileList (char *fpat, char *buf, unsigned count)
 
int gpioCfgBufferSize (unsigned cfgMillis)
 
int gpioCfgClock (unsigned cfgMicros, unsigned cfgPeripheral, unsigned cfgSource)
 
int gpioCfgDMAchannel (unsigned DMAchannel)
 
int gpioCfgDMAchannels (unsigned primaryChannel, unsigned secondaryChannel)
 
int gpioCfgPermissions (uint64_t updateMask)
 
int gpioCfgSocketPort (unsigned port)
 
int gpioCfgInterfaces (unsigned ifFlags)
 
int gpioCfgMemAlloc (unsigned memAllocMode)
 
int gpioCfgNetAddr (int numSockAddr, uint32_t *sockAddr)
 
uint32_t gpioCfgGetInternals (void)
 
int gpioCfgSetInternals (uint32_t cfgVal)
 
int gpioCustom1 (unsigned arg1, unsigned arg2, char *argx, unsigned argc)
 
int gpioCustom2 (unsigned arg1, char *argx, unsigned argc, char *retBuf, unsigned retMax)
 
int rawWaveAddSPI (rawSPI_t *spi, unsigned offset, unsigned spiSS, char *buf, unsigned spiTxBits, unsigned spiBitFirst, unsigned spiBitLast, unsigned spiBits)
 
int rawWaveAddGeneric (unsigned numPulses, rawWave_t *pulses)
 
unsigned rawWaveCB (void)
 
rawCbs_trawWaveCBAdr (int cbNum)
 
uint32_t rawWaveGetOOL (int pos)
 
void rawWaveSetOOL (int pos, uint32_t lVal)
 
uint32_t rawWaveGetOut (int pos)
 
void rawWaveSetOut (int pos, uint32_t lVal)
 
uint32_t rawWaveGetIn (int pos)
 
void rawWaveSetIn (int pos, uint32_t lVal)
 
rawWaveInfo_t rawWaveInfo (int wave_id)
 
int getBitInBytes (int bitPos, char *buf, int numBits)
 
void putBitInBytes (int bitPos, char *buf, int bit)
 
double time_time (void)
 
void time_sleep (double seconds)
 
void rawDumpWave (void)
 
void rawDumpScript (unsigned script_id)
 

Macro Definition Documentation

◆ BSC_CE_N

#define BSC_CE_N   21

◆ BSC_CE_N_2711

#define BSC_CE_N_2711   8

◆ BSC_CR

#define BSC_CR   3

◆ BSC_CR_BRK

#define BSC_CR_BRK   128

◆ BSC_CR_CPHA

#define BSC_CR_CPHA   8

◆ BSC_CR_CPOL

#define BSC_CR_CPOL   16

◆ BSC_CR_EN

#define BSC_CR_EN   1

◆ BSC_CR_I2C

#define BSC_CR_I2C   4

◆ BSC_CR_RXE

#define BSC_CR_RXE   512

◆ BSC_CR_SPI

#define BSC_CR_SPI   2

◆ BSC_CR_TESTFIFO

#define BSC_CR_TESTFIFO   2048

◆ BSC_CR_TXE

#define BSC_CR_TXE   256

◆ BSC_DEBUG_I2C

#define BSC_DEBUG_I2C   14

◆ BSC_DEBUG_SPI

#define BSC_DEBUG_SPI   15

◆ BSC_DMACR

#define BSC_DMACR   10

◆ BSC_DR

#define BSC_DR   0

◆ BSC_FIFO_SIZE

#define BSC_FIFO_SIZE   512

◆ BSC_FR

#define BSC_FR   4

◆ BSC_FR_RXBUSY

#define BSC_FR_RXBUSY   32

◆ BSC_FR_RXFE

#define BSC_FR_RXFE   2

◆ BSC_FR_RXFF

#define BSC_FR_RXFF   8

◆ BSC_FR_TXBUSY

#define BSC_FR_TXBUSY   1

◆ BSC_FR_TXFE

#define BSC_FR_TXFE   16

◆ BSC_FR_TXFF

#define BSC_FR_TXFF   4

◆ BSC_GPUSTAT

#define BSC_GPUSTAT   12

◆ BSC_HCTRL

#define BSC_HCTRL   13

◆ BSC_ICR

#define BSC_ICR   9

◆ BSC_IFLS

#define BSC_IFLS   5

◆ BSC_IMSC

#define BSC_IMSC   6

◆ BSC_MIS

#define BSC_MIS   8

◆ BSC_MISO

#define BSC_MISO   18

◆ BSC_MISO_2711

#define BSC_MISO_2711   10

◆ BSC_MOSI

#define BSC_MOSI   20

◆ BSC_MOSI_2711

#define BSC_MOSI_2711   9

◆ BSC_RIS

#define BSC_RIS   7

◆ BSC_RSR

#define BSC_RSR   1

◆ BSC_SCL_SCLK

#define BSC_SCL_SCLK   19

◆ BSC_SCL_SCLK_2711

#define BSC_SCL_SCLK_2711   11

◆ BSC_SDA

#define BSC_SDA   18

◆ BSC_SDA_2711

#define BSC_SDA_2711   10

◆ BSC_SLV

#define BSC_SLV   2

◆ BSC_TDR

#define BSC_TDR   11

◆ EITHER_EDGE

#define EITHER_EDGE   2

◆ FALLING_EDGE

#define FALLING_EDGE   1

◆ MAX_CONNECT_ADDRESSES

#define MAX_CONNECT_ADDRESSES   256

◆ PI_ALT0

#define PI_ALT0   4

◆ PI_ALT1

#define PI_ALT1   5

◆ PI_ALT2

#define PI_ALT2   6

◆ PI_ALT3

#define PI_ALT3   7

◆ PI_ALT4

#define PI_ALT4   3

◆ PI_ALT5

#define PI_ALT5   2

◆ PI_BAD_BUF_MILLIS

#define PI_BAD_BUF_MILLIS   -20

◆ PI_BAD_CFG_INTERNAL

#define PI_BAD_CFG_INTERNAL   -34

◆ PI_BAD_CHAIN_CMD

#define PI_BAD_CHAIN_CMD   -116

◆ PI_BAD_CHAIN_DELAY

#define PI_BAD_CHAIN_DELAY   -117

◆ PI_BAD_CHAIN_LOOP

#define PI_BAD_CHAIN_LOOP   -114

◆ PI_BAD_CHANNEL

#define PI_BAD_CHANNEL   -27

◆ PI_BAD_CLK_MICROS

#define PI_BAD_CLK_MICROS   -19

◆ PI_BAD_CLK_PERIPH

#define PI_BAD_CLK_PERIPH   -17

◆ PI_BAD_CLK_SOURCE

#define PI_BAD_CLK_SOURCE   -18

◆ PI_BAD_DATABITS

#define PI_BAD_DATABITS   -101

◆ PI_BAD_DUTY_RANGE

#define PI_BAD_DUTY_RANGE   -21

◆ PI_BAD_DUTYCYCLE

#define PI_BAD_DUTYCYCLE   -8

◆ PI_BAD_DUTYRANGE

#define PI_BAD_DUTYRANGE   -21

◆ PI_BAD_EDGE

#define PI_BAD_EDGE   -122

◆ PI_BAD_EVENT_ID

#define PI_BAD_EVENT_ID   -143

◆ PI_BAD_FIFO_COMMAND

#define PI_BAD_FIFO_COMMAND   -29

◆ PI_BAD_FILE_FLAG

#define PI_BAD_FILE_FLAG   -130

◆ PI_BAD_FILE_MODE

#define PI_BAD_FILE_MODE   -129

◆ PI_BAD_FILE_READ

#define PI_BAD_FILE_READ   -131

◆ PI_BAD_FILE_SEEK

#define PI_BAD_FILE_SEEK   -135

◆ PI_BAD_FILE_WRITE

#define PI_BAD_FILE_WRITE   -132

◆ PI_BAD_FILTER

#define PI_BAD_FILTER   -125

◆ PI_BAD_FLAGS

#define PI_BAD_FLAGS   -77

◆ PI_BAD_FOREVER

#define PI_BAD_FOREVER   -124

◆ PI_BAD_GPIO

#define PI_BAD_GPIO   -3

◆ PI_BAD_HANDLE

#define PI_BAD_HANDLE   -25

◆ PI_BAD_HCLK_FREQ

#define PI_BAD_HCLK_FREQ   -98

◆ PI_BAD_HCLK_PASS

#define PI_BAD_HCLK_PASS   -99

◆ PI_BAD_HPWM_DUTY

#define PI_BAD_HPWM_DUTY   -97

◆ PI_BAD_HPWM_FREQ

#define PI_BAD_HPWM_FREQ   -96

◆ PI_BAD_I2C_ADDR

#define PI_BAD_I2C_ADDR   -75

◆ PI_BAD_I2C_BAUD

#define PI_BAD_I2C_BAUD   -112

◆ PI_BAD_I2C_BUS

#define PI_BAD_I2C_BUS   -74

◆ PI_BAD_I2C_CMD

#define PI_BAD_I2C_CMD   -111

◆ PI_BAD_I2C_RLEN

#define PI_BAD_I2C_RLEN   -110

◆ PI_BAD_I2C_SEG

#define PI_BAD_I2C_SEG   -106

◆ PI_BAD_I2C_WLEN

#define PI_BAD_I2C_WLEN   -109

◆ PI_BAD_IF_FLAGS

#define PI_BAD_IF_FLAGS   -26

◆ PI_BAD_ISR_INIT

#define PI_BAD_ISR_INIT   -123

◆ PI_BAD_LEVEL

#define PI_BAD_LEVEL   -5

◆ PI_BAD_MALLOC_MODE

#define PI_BAD_MALLOC_MODE   -104

◆ PI_BAD_MICROS

#define PI_BAD_MICROS   -13

◆ PI_BAD_MICS_DELAY

#define PI_BAD_MICS_DELAY   -64

◆ PI_BAD_MILS_DELAY

#define PI_BAD_MILS_DELAY   -65

◆ PI_BAD_MODE

#define PI_BAD_MODE   -4

◆ PI_BAD_MS

#define PI_BAD_MS   -10

◆ PI_BAD_PAD

#define PI_BAD_PAD   -126

◆ PI_BAD_PARAM

#define PI_BAD_PARAM   -81

◆ PI_BAD_PARAM_NUM

#define PI_BAD_PARAM_NUM   -52

◆ PI_BAD_PATHNAME

#define PI_BAD_PATHNAME   -23

◆ PI_BAD_POINTER

#define PI_BAD_POINTER   -90

◆ PI_BAD_PRIM_CHANNEL

#define PI_BAD_PRIM_CHANNEL   -27

◆ PI_BAD_PUD

#define PI_BAD_PUD   -6

◆ PI_BAD_PULSELEN

#define PI_BAD_PULSELEN   -46

◆ PI_BAD_PULSEWIDTH

#define PI_BAD_PULSEWIDTH   -7

◆ PI_BAD_SCRIPT

#define PI_BAD_SCRIPT   -47

◆ PI_BAD_SCRIPT_CMD

#define PI_BAD_SCRIPT_CMD   -55

◆ PI_BAD_SCRIPT_ID

#define PI_BAD_SCRIPT_ID   -48

◆ PI_BAD_SCRIPT_NAME

#define PI_BAD_SCRIPT_NAME   -140

◆ PI_BAD_SECO_CHANNEL

#define PI_BAD_SECO_CHANNEL   -30

◆ PI_BAD_SECONDS

#define PI_BAD_SECONDS   -12

◆ PI_BAD_SER_DEVICE

#define PI_BAD_SER_DEVICE   -79

◆ PI_BAD_SER_INVERT

#define PI_BAD_SER_INVERT   -121

◆ PI_BAD_SER_OFFSET

#define PI_BAD_SER_OFFSET   -49

◆ PI_BAD_SER_SPEED

#define PI_BAD_SER_SPEED   -80

◆ PI_BAD_SERIAL_BUF

#define PI_BAD_SERIAL_BUF   -40

◆ PI_BAD_SERIAL_COUNT

#define PI_BAD_SERIAL_COUNT   -51

◆ PI_BAD_SERIAL_STRUC

#define PI_BAD_SERIAL_STRUC   -39

◆ PI_BAD_SHELL_STATUS

#define PI_BAD_SHELL_STATUS   -139

◆ PI_BAD_SIGNUM

#define PI_BAD_SIGNUM   -22

◆ PI_BAD_SMBUS_CMD

#define PI_BAD_SMBUS_CMD   -107

◆ PI_BAD_SOCKET_PORT

#define PI_BAD_SOCKET_PORT   -28

◆ PI_BAD_SPI_BAUD

#define PI_BAD_SPI_BAUD   -141

◆ PI_BAD_SPI_CHANNEL

#define PI_BAD_SPI_CHANNEL   -76

◆ PI_BAD_SPI_COUNT

#define PI_BAD_SPI_COUNT   -84

◆ PI_BAD_SPI_SPEED

#define PI_BAD_SPI_SPEED   -78

◆ PI_BAD_STOPBITS

#define PI_BAD_STOPBITS   -102

◆ PI_BAD_STRENGTH

#define PI_BAD_STRENGTH   -127

◆ PI_BAD_TAG

#define PI_BAD_TAG   -63

◆ PI_BAD_TIMER

#define PI_BAD_TIMER   -9

◆ PI_BAD_TIMETYPE

#define PI_BAD_TIMETYPE   -11

◆ PI_BAD_USER_GPIO

#define PI_BAD_USER_GPIO   -2

◆ PI_BAD_VAR_NUM

#define PI_BAD_VAR_NUM   -56

◆ PI_BAD_WAVE_BAUD

#define PI_BAD_WAVE_BAUD   -35

◆ PI_BAD_WAVE_ID

#define PI_BAD_WAVE_ID   -66

◆ PI_BAD_WAVE_MODE

#define PI_BAD_WAVE_MODE   -33

◆ PI_BAD_WDOG_TIMEOUT

#define PI_BAD_WDOG_TIMEOUT   -15

◆ PI_BAD_WVSC_COMMND

#define PI_BAD_WVSC_COMMND   -43

◆ PI_BAD_WVSM_COMMND

#define PI_BAD_WVSM_COMMND   -44

◆ PI_BAD_WVSP_COMMND

#define PI_BAD_WVSP_COMMND   -45

◆ PI_BB_I2C_MAX_BAUD

#define PI_BB_I2C_MAX_BAUD   500000

◆ PI_BB_I2C_MIN_BAUD

#define PI_BB_I2C_MIN_BAUD   50

◆ PI_BB_SER_INVERT

#define PI_BB_SER_INVERT   1

◆ PI_BB_SER_MAX_BAUD

#define PI_BB_SER_MAX_BAUD   250000

◆ PI_BB_SER_MIN_BAUD

#define PI_BB_SER_MIN_BAUD   50

◆ PI_BB_SER_NORMAL

#define PI_BB_SER_NORMAL   0

◆ PI_BB_SPI_MAX_BAUD

#define PI_BB_SPI_MAX_BAUD   250000

◆ PI_BB_SPI_MIN_BAUD

#define PI_BB_SPI_MIN_BAUD   50

◆ PI_BUF_MILLIS_MAX

#define PI_BUF_MILLIS_MAX   10000

◆ PI_BUF_MILLIS_MIN

#define PI_BUF_MILLIS_MIN   100

◆ PI_CFG_ALERT_FREQ

#define PI_CFG_ALERT_FREQ   4 /* bits 4-7 */

◆ PI_CFG_DBG_LEVEL

#define PI_CFG_DBG_LEVEL   0 /* bits 0-3 */

◆ PI_CFG_ILLEGAL_VAL

#define PI_CFG_ILLEGAL_VAL   (1<<11)

◆ PI_CFG_NOSIGHANDLER

#define PI_CFG_NOSIGHANDLER   (1<<10)

◆ PI_CFG_RT_PRIORITY

#define PI_CFG_RT_PRIORITY   (1<<8)

◆ PI_CFG_STATS

#define PI_CFG_STATS   (1<<9)

◆ PI_CHAIN_COUNTER

#define PI_CHAIN_COUNTER   -115

◆ PI_CHAIN_LOOP_CNT

#define PI_CHAIN_LOOP_CNT   -113

◆ PI_CHAIN_NESTING

#define PI_CHAIN_NESTING   -118

◆ PI_CHAIN_TOO_BIG

#define PI_CHAIN_TOO_BIG   -119

◆ PI_CLEAR

#define PI_CLEAR   0

◆ PI_CLOCK_PCM

#define PI_CLOCK_PCM   1

◆ PI_CLOCK_PWM

#define PI_CLOCK_PWM   0

◆ PI_CMD_ADD

#define PI_CMD_ADD   800

◆ PI_CMD_AND

#define PI_CMD_AND   801

◆ PI_CMD_BC1

#define PI_CMD_BC1   12

◆ PI_CMD_BC2

#define PI_CMD_BC2   13

◆ PI_CMD_BI2CC

#define PI_CMD_BI2CC   89

◆ PI_CMD_BI2CO

#define PI_CMD_BI2CO   90

◆ PI_CMD_BI2CZ

#define PI_CMD_BI2CZ   91

◆ PI_CMD_BR1

#define PI_CMD_BR1   10

◆ PI_CMD_BR2

#define PI_CMD_BR2   11

◆ PI_CMD_BS1

#define PI_CMD_BS1   14

◆ PI_CMD_BS2

#define PI_CMD_BS2   15

◆ PI_CMD_BSCX

#define PI_CMD_BSCX   114

◆ PI_CMD_BSPIC

#define PI_CMD_BSPIC   111

◆ PI_CMD_BSPIO

#define PI_CMD_BSPIO   112

◆ PI_CMD_BSPIX

#define PI_CMD_BSPIX   113

◆ PI_CMD_CALL

#define PI_CMD_CALL   802

◆ PI_CMD_CF1

#define PI_CMD_CF1   87

◆ PI_CMD_CF2

#define PI_CMD_CF2   88

◆ PI_CMD_CGI

#define PI_CMD_CGI   95

◆ PI_CMD_CMDR

#define PI_CMD_CMDR   803

◆ PI_CMD_CMDW

#define PI_CMD_CMDW   804

◆ PI_CMD_CMP

#define PI_CMD_CMP   805

◆ PI_CMD_CSI

#define PI_CMD_CSI   96

◆ PI_CMD_DCR

#define PI_CMD_DCR   806

◆ PI_CMD_DCRA

#define PI_CMD_DCRA   807

◆ PI_CMD_DIV

#define PI_CMD_DIV   808

◆ PI_CMD_EVM

#define PI_CMD_EVM   115

◆ PI_CMD_EVT

#define PI_CMD_EVT   116

◆ PI_CMD_EVTWT

#define PI_CMD_EVTWT   842

◆ PI_CMD_FC

#define PI_CMD_FC   105

◆ PI_CMD_FG

#define PI_CMD_FG   97

◆ PI_CMD_FL

#define PI_CMD_FL   109

◆ PI_CMD_FN

#define PI_CMD_FN   98

◆ PI_CMD_FO

#define PI_CMD_FO   104

◆ PI_CMD_FR

#define PI_CMD_FR   106

◆ PI_CMD_FS

#define PI_CMD_FS   108

◆ PI_CMD_FW

#define PI_CMD_FW   107

◆ PI_CMD_GDC

#define PI_CMD_GDC   83

◆ PI_CMD_GPW

#define PI_CMD_GPW   84

◆ PI_CMD_HALT

#define PI_CMD_HALT   809

◆ PI_CMD_HC

#define PI_CMD_HC   85

◆ PI_CMD_HELP

#define PI_CMD_HELP   25

◆ PI_CMD_HP

#define PI_CMD_HP   86

◆ PI_CMD_HWVER

#define PI_CMD_HWVER   17

◆ PI_CMD_I2CC

#define PI_CMD_I2CC   55

◆ PI_CMD_I2CO

#define PI_CMD_I2CO   54

◆ PI_CMD_I2CPC

#define PI_CMD_I2CPC   69

◆ PI_CMD_I2CPK

#define PI_CMD_I2CPK   70

◆ PI_CMD_I2CRB

#define PI_CMD_I2CRB   61

◆ PI_CMD_I2CRD

#define PI_CMD_I2CRD   56

◆ PI_CMD_I2CRI

#define PI_CMD_I2CRI   67

◆ PI_CMD_I2CRK

#define PI_CMD_I2CRK   65

◆ PI_CMD_I2CRS

#define PI_CMD_I2CRS   59

◆ PI_CMD_I2CRW

#define PI_CMD_I2CRW   63

◆ PI_CMD_I2CWB

#define PI_CMD_I2CWB   62

◆ PI_CMD_I2CWD

#define PI_CMD_I2CWD   57

◆ PI_CMD_I2CWI

#define PI_CMD_I2CWI   68

◆ PI_CMD_I2CWK

#define PI_CMD_I2CWK   66

◆ PI_CMD_I2CWQ

#define PI_CMD_I2CWQ   58

◆ PI_CMD_I2CWS

#define PI_CMD_I2CWS   60

◆ PI_CMD_I2CWW

#define PI_CMD_I2CWW   64

◆ PI_CMD_I2CZ

#define PI_CMD_I2CZ   92

◆ PI_CMD_INR

#define PI_CMD_INR   810

◆ PI_CMD_INRA

#define PI_CMD_INRA   811

◆ PI_CMD_INTERRUPTED

#define PI_CMD_INTERRUPTED   -144

◆ PI_CMD_JM

#define PI_CMD_JM   812

◆ PI_CMD_JMP

#define PI_CMD_JMP   813

◆ PI_CMD_JNZ

#define PI_CMD_JNZ   814

◆ PI_CMD_JP

#define PI_CMD_JP   815

◆ PI_CMD_JZ

#define PI_CMD_JZ   816

◆ PI_CMD_LD

#define PI_CMD_LD   818

◆ PI_CMD_LDA

#define PI_CMD_LDA   819

◆ PI_CMD_LDAB

#define PI_CMD_LDAB   820

◆ PI_CMD_MICS

#define PI_CMD_MICS   46

◆ PI_CMD_MILS

#define PI_CMD_MILS   47

◆ PI_CMD_MLT

#define PI_CMD_MLT   821

◆ PI_CMD_MOD

#define PI_CMD_MOD   822

◆ PI_CMD_MODEG

#define PI_CMD_MODEG   1

◆ PI_CMD_MODES

#define PI_CMD_MODES   0

◆ PI_CMD_NB

#define PI_CMD_NB   19

◆ PI_CMD_NC

#define PI_CMD_NC   21

◆ PI_CMD_NO

#define PI_CMD_NO   18

◆ PI_CMD_NOIB

#define PI_CMD_NOIB   99

◆ PI_CMD_NOP

#define PI_CMD_NOP   823

◆ PI_CMD_NP

#define PI_CMD_NP   20

◆ PI_CMD_OR

#define PI_CMD_OR   824

◆ PI_CMD_PADG

#define PI_CMD_PADG   103

◆ PI_CMD_PADS

#define PI_CMD_PADS   102

◆ PI_CMD_PARSE

#define PI_CMD_PARSE   48

◆ PI_CMD_PFG

#define PI_CMD_PFG   23

◆ PI_CMD_PFS

#define PI_CMD_PFS   7

◆ PI_CMD_PIGPV

#define PI_CMD_PIGPV   26

◆ PI_CMD_POP

#define PI_CMD_POP   825

◆ PI_CMD_POPA

#define PI_CMD_POPA   826

◆ PI_CMD_PRG

#define PI_CMD_PRG   22

◆ PI_CMD_PROC

#define PI_CMD_PROC   38

◆ PI_CMD_PROCD

#define PI_CMD_PROCD   39

◆ PI_CMD_PROCP

#define PI_CMD_PROCP   45

◆ PI_CMD_PROCR

#define PI_CMD_PROCR   40

◆ PI_CMD_PROCS

#define PI_CMD_PROCS   41

◆ PI_CMD_PROCU

#define PI_CMD_PROCU   117

◆ PI_CMD_PRRG

#define PI_CMD_PRRG   24

◆ PI_CMD_PRS

#define PI_CMD_PRS   6

◆ PI_CMD_PUD

#define PI_CMD_PUD   2

◆ PI_CMD_PUSH

#define PI_CMD_PUSH   827

◆ PI_CMD_PUSHA

#define PI_CMD_PUSHA   828

◆ PI_CMD_PWM

#define PI_CMD_PWM   5

◆ PI_CMD_READ

#define PI_CMD_READ   3

◆ PI_CMD_RET

#define PI_CMD_RET   829

◆ PI_CMD_RL

#define PI_CMD_RL   830

◆ PI_CMD_RLA

#define PI_CMD_RLA   831

◆ PI_CMD_RR

#define PI_CMD_RR   832

◆ PI_CMD_RRA

#define PI_CMD_RRA   833

◆ PI_CMD_SCRIPT

#define PI_CMD_SCRIPT   800

◆ PI_CMD_SERC

#define PI_CMD_SERC   77

◆ PI_CMD_SERDA

#define PI_CMD_SERDA   82

◆ PI_CMD_SERO

#define PI_CMD_SERO   76

◆ PI_CMD_SERR

#define PI_CMD_SERR   80

◆ PI_CMD_SERRB

#define PI_CMD_SERRB   78

◆ PI_CMD_SERVO

#define PI_CMD_SERVO   8

◆ PI_CMD_SERW

#define PI_CMD_SERW   81

◆ PI_CMD_SERWB

#define PI_CMD_SERWB   79

◆ PI_CMD_SHELL

#define PI_CMD_SHELL   110

◆ PI_CMD_SLR

#define PI_CMD_SLR   43

◆ PI_CMD_SLRC

#define PI_CMD_SLRC   44

◆ PI_CMD_SLRI

#define PI_CMD_SLRI   94

◆ PI_CMD_SLRO

#define PI_CMD_SLRO   42

◆ PI_CMD_SPIC

#define PI_CMD_SPIC   72

◆ PI_CMD_SPIO

#define PI_CMD_SPIO   71

◆ PI_CMD_SPIR

#define PI_CMD_SPIR   73

◆ PI_CMD_SPIW

#define PI_CMD_SPIW   74

◆ PI_CMD_SPIX

#define PI_CMD_SPIX   75

◆ PI_CMD_STA

#define PI_CMD_STA   834

◆ PI_CMD_STAB

#define PI_CMD_STAB   835

◆ PI_CMD_SUB

#define PI_CMD_SUB   836

◆ PI_CMD_SYS

#define PI_CMD_SYS   837

◆ PI_CMD_TAG

#define PI_CMD_TAG   817

◆ PI_CMD_TICK

#define PI_CMD_TICK   16

◆ PI_CMD_TRIG

#define PI_CMD_TRIG   37

◆ PI_CMD_WAIT

#define PI_CMD_WAIT   838

◆ PI_CMD_WDOG

#define PI_CMD_WDOG   9

◆ PI_CMD_WRITE

#define PI_CMD_WRITE   4

◆ PI_CMD_WVAG

#define PI_CMD_WVAG   28

◆ PI_CMD_WVAS

#define PI_CMD_WVAS   29

◆ PI_CMD_WVBSY

#define PI_CMD_WVBSY   32

◆ PI_CMD_WVCAP

#define PI_CMD_WVCAP   118

◆ PI_CMD_WVCHA

#define PI_CMD_WVCHA   93

◆ PI_CMD_WVCLR

#define PI_CMD_WVCLR   27

◆ PI_CMD_WVCRE

#define PI_CMD_WVCRE   49

◆ PI_CMD_WVDEL

#define PI_CMD_WVDEL   50

◆ PI_CMD_WVGO

#define PI_CMD_WVGO   30

◆ PI_CMD_WVGOR

#define PI_CMD_WVGOR   31

◆ PI_CMD_WVHLT

#define PI_CMD_WVHLT   33

◆ PI_CMD_WVNEW

#define PI_CMD_WVNEW   53

◆ PI_CMD_WVSC

#define PI_CMD_WVSC   36

◆ PI_CMD_WVSM

#define PI_CMD_WVSM   34

◆ PI_CMD_WVSP

#define PI_CMD_WVSP   35

◆ PI_CMD_WVTAT

#define PI_CMD_WVTAT   101

◆ PI_CMD_WVTX

#define PI_CMD_WVTX   51

◆ PI_CMD_WVTXM

#define PI_CMD_WVTXM   100

◆ PI_CMD_WVTXR

#define PI_CMD_WVTXR   52

◆ PI_CMD_X

#define PI_CMD_X   839

◆ PI_CMD_XA

#define PI_CMD_XA   840

◆ PI_CMD_XOR

#define PI_CMD_XOR   841

◆ PI_CUSTOM_ERR_0

#define PI_CUSTOM_ERR_0   -3000

◆ PI_CUSTOM_ERR_999

#define PI_CUSTOM_ERR_999   -3999

◆ PI_DEFAULT_BUFFER_MILLIS

#define PI_DEFAULT_BUFFER_MILLIS   120

◆ PI_DEFAULT_CFG_INTERNALS

#define PI_DEFAULT_CFG_INTERNALS   0

◆ PI_DEFAULT_CLK_MICROS

#define PI_DEFAULT_CLK_MICROS   5

◆ PI_DEFAULT_CLK_PERIPHERAL

#define PI_DEFAULT_CLK_PERIPHERAL   PI_CLOCK_PCM

◆ PI_DEFAULT_DMA_CHANNEL

#define PI_DEFAULT_DMA_CHANNEL   14

◆ PI_DEFAULT_DMA_NOT_SET

#define PI_DEFAULT_DMA_NOT_SET   15

◆ PI_DEFAULT_DMA_PRIMARY_CH_2711

#define PI_DEFAULT_DMA_PRIMARY_CH_2711   7

◆ PI_DEFAULT_DMA_PRIMARY_CHANNEL

#define PI_DEFAULT_DMA_PRIMARY_CHANNEL   14

◆ PI_DEFAULT_DMA_SECONDARY_CH_2711

#define PI_DEFAULT_DMA_SECONDARY_CH_2711   6

◆ PI_DEFAULT_DMA_SECONDARY_CHANNEL

#define PI_DEFAULT_DMA_SECONDARY_CHANNEL   6

◆ PI_DEFAULT_DUTYCYCLE_RANGE

#define PI_DEFAULT_DUTYCYCLE_RANGE   255

◆ PI_DEFAULT_FOREGROUND

#define PI_DEFAULT_FOREGROUND   0

◆ PI_DEFAULT_IF_FLAGS

#define PI_DEFAULT_IF_FLAGS   0

◆ PI_DEFAULT_MEM_ALLOC_MODE

#define PI_DEFAULT_MEM_ALLOC_MODE   PI_MEM_ALLOC_AUTO

◆ PI_DEFAULT_SOCKET_ADDR_STR

#define PI_DEFAULT_SOCKET_ADDR_STR   "localhost"

◆ PI_DEFAULT_SOCKET_PORT

#define PI_DEFAULT_SOCKET_PORT   8888

◆ PI_DEFAULT_SOCKET_PORT_STR

#define PI_DEFAULT_SOCKET_PORT_STR   "8888"

◆ PI_DEFAULT_UPDATE_MASK_A_B2

#define PI_DEFAULT_UPDATE_MASK_A_B2   0xFBC7CF9C

◆ PI_DEFAULT_UPDATE_MASK_APLUS_BPLUS

#define PI_DEFAULT_UPDATE_MASK_APLUS_BPLUS   0x0080480FFFFFFCLL

◆ PI_DEFAULT_UPDATE_MASK_B1

#define PI_DEFAULT_UPDATE_MASK_B1   0x03E7CF93

◆ PI_DEFAULT_UPDATE_MASK_COMPUTE

#define PI_DEFAULT_UPDATE_MASK_COMPUTE   0x00FFFFFFFFFFFFLL

◆ PI_DEFAULT_UPDATE_MASK_PI2B

#define PI_DEFAULT_UPDATE_MASK_PI2B   0x0080480FFFFFFCLL

◆ PI_DEFAULT_UPDATE_MASK_PI3B

#define PI_DEFAULT_UPDATE_MASK_PI3B   0x0000000FFFFFFCLL

◆ PI_DEFAULT_UPDATE_MASK_PI4B

#define PI_DEFAULT_UPDATE_MASK_PI4B   0x0000000FFFFFFCLL

◆ PI_DEFAULT_UPDATE_MASK_UNKNOWN

#define PI_DEFAULT_UPDATE_MASK_UNKNOWN   0x0000000FFFFFFCLL

◆ PI_DEFAULT_UPDATE_MASK_ZERO

#define PI_DEFAULT_UPDATE_MASK_ZERO   0x0080000FFFFFFCLL

◆ PI_DEPRECATED

#define PI_DEPRECATED   -120

◆ PI_DISABLE_ALERT

#define PI_DISABLE_ALERT   8

◆ PI_DISABLE_FIFO_IF

#define PI_DISABLE_FIFO_IF   1

◆ PI_DISABLE_SOCK_IF

#define PI_DISABLE_SOCK_IF   2

◆ PI_DUP_TAG

#define PI_DUP_TAG   -53

◆ PI_EMPTY_WAVEFORM

#define PI_EMPTY_WAVEFORM   -69

◆ PI_ENVADDR

#define PI_ENVADDR   "PIGPIO_ADDR"

◆ PI_ENVPORT

#define PI_ENVPORT   "PIGPIO_PORT"

◆ PI_ERRFIFO

#define PI_ERRFIFO   "/dev/pigerr"

◆ PI_EVENT_BSC

#define PI_EVENT_BSC   31

◆ PI_FIL_OPEN_FAILED

#define PI_FIL_OPEN_FAILED   -128

◆ PI_FILE_APPEND

#define PI_FILE_APPEND   4

◆ PI_FILE_CREATE

#define PI_FILE_CREATE   8

◆ PI_FILE_IS_A_DIR

#define PI_FILE_IS_A_DIR   -138

◆ PI_FILE_MAX

#define PI_FILE_MAX   31

◆ PI_FILE_MIN

#define PI_FILE_MIN   1

◆ PI_FILE_NONE

#define PI_FILE_NONE   0

◆ PI_FILE_NOT_ROPEN

#define PI_FILE_NOT_ROPEN   -133

◆ PI_FILE_NOT_WOPEN

#define PI_FILE_NOT_WOPEN   -134

◆ PI_FILE_READ

#define PI_FILE_READ   1

◆ PI_FILE_RW

#define PI_FILE_RW   3

◆ PI_FILE_SLOTS

#define PI_FILE_SLOTS   16

◆ PI_FILE_TRUNC

#define PI_FILE_TRUNC   16

◆ PI_FILE_WRITE

#define PI_FILE_WRITE   2

◆ PI_FROM_CURRENT

#define PI_FROM_CURRENT   1

◆ PI_FROM_END

#define PI_FROM_END   2

◆ PI_FROM_START

#define PI_FROM_START   0

◆ PI_GPIO_IN_USE

#define PI_GPIO_IN_USE   -50

◆ PI_HIGH

#define PI_HIGH   1

◆ PI_HPWM_ILLEGAL

#define PI_HPWM_ILLEGAL   -100

◆ PI_HW_CLK_MAX_FREQ

#define PI_HW_CLK_MAX_FREQ   250000000

◆ PI_HW_CLK_MAX_FREQ_2711

#define PI_HW_CLK_MAX_FREQ_2711   375000000

◆ PI_HW_CLK_MIN_FREQ

#define PI_HW_CLK_MIN_FREQ   4689

◆ PI_HW_CLK_MIN_FREQ_2711

#define PI_HW_CLK_MIN_FREQ_2711   13184

◆ PI_HW_PWM_MAX_FREQ

#define PI_HW_PWM_MAX_FREQ   125000000

◆ PI_HW_PWM_MAX_FREQ_2711

#define PI_HW_PWM_MAX_FREQ_2711   187500000

◆ PI_HW_PWM_MIN_FREQ

#define PI_HW_PWM_MIN_FREQ   1

◆ PI_HW_PWM_RANGE

#define PI_HW_PWM_RANGE   1000000

◆ PI_I2C_ADDR

#define PI_I2C_ADDR   4

◆ PI_I2C_COMBINED

#define PI_I2C_COMBINED   "/sys/module/i2c_bcm2708/parameters/combined"

◆ PI_I2C_COMBINED_OFF

#define PI_I2C_COMBINED_OFF   3

◆ PI_I2C_COMBINED_ON

#define PI_I2C_COMBINED_ON   2

◆ PI_I2C_END

#define PI_I2C_END   0

◆ PI_I2C_ESC

#define PI_I2C_ESC   1

◆ PI_I2C_FLAGS

#define PI_I2C_FLAGS   5

◆ PI_I2C_M_IGNORE_NAK

#define PI_I2C_M_IGNORE_NAK   0x1000 /* if I2C_FUNC_PROTOCOL_MANGLING */

◆ PI_I2C_M_NO_RD_ACK

#define PI_I2C_M_NO_RD_ACK   0x0800 /* if I2C_FUNC_PROTOCOL_MANGLING */

◆ PI_I2C_M_NOSTART

#define PI_I2C_M_NOSTART   0x4000 /* if I2C_FUNC_PROTOCOL_MANGLING */

◆ PI_I2C_M_RD

#define PI_I2C_M_RD   0x0001 /* read data */

◆ PI_I2C_M_RECV_LEN

#define PI_I2C_M_RECV_LEN   0x0400 /* length will be first received byte */

◆ PI_I2C_M_REV_DIR_ADDR

#define PI_I2C_M_REV_DIR_ADDR   0x2000 /* if I2C_FUNC_PROTOCOL_MANGLING */

◆ PI_I2C_M_TEN

#define PI_I2C_M_TEN   0x0010 /* ten bit chip address */

◆ PI_I2C_M_WR

#define PI_I2C_M_WR   0x0000 /* write data */

◆ PI_I2C_OPEN_FAILED

#define PI_I2C_OPEN_FAILED   -71

◆ PI_I2C_RDRW_IOCTL_MAX_MSGS

#define PI_I2C_RDRW_IOCTL_MAX_MSGS   42

◆ PI_I2C_READ

#define PI_I2C_READ   6

◆ PI_I2C_READ_FAILED

#define PI_I2C_READ_FAILED   -83

◆ PI_I2C_SLOTS

#define PI_I2C_SLOTS   512

◆ PI_I2C_START

#define PI_I2C_START   2

◆ PI_I2C_STOP

#define PI_I2C_STOP   3

◆ PI_I2C_WRITE

#define PI_I2C_WRITE   7

◆ PI_I2C_WRITE_FAILED

#define PI_I2C_WRITE_FAILED   -82

◆ PI_INIT_FAILED

#define PI_INIT_FAILED   -1

◆ PI_INITIALISED

#define PI_INITIALISED   -32

◆ PI_INPFIFO

#define PI_INPFIFO   "/dev/pigpio"

◆ PI_INPUT

#define PI_INPUT   0

◆ PI_LOCALHOST_SOCK_IF

#define PI_LOCALHOST_SOCK_IF   4

◆ PI_LOCKFILE

#define PI_LOCKFILE   "/var/run/pigpio.pid"

◆ PI_LOW

#define PI_LOW   0

◆ PI_MAX_ACTIVE

#define PI_MAX_ACTIVE   1000000

◆ PI_MAX_BUSY_DELAY

#define PI_MAX_BUSY_DELAY   100

◆ PI_MAX_DMA_CHANNEL

#define PI_MAX_DMA_CHANNEL   15

◆ PI_MAX_DUTYCYCLE_RANGE

#define PI_MAX_DUTYCYCLE_RANGE   40000

◆ PI_MAX_EVENT

#define PI_MAX_EVENT   31

◆ PI_MAX_GPIO

#define PI_MAX_GPIO   53

◆ PI_MAX_I2C_ADDR

#define PI_MAX_I2C_ADDR   0x7F

◆ PI_MAX_I2C_DEVICE_COUNT

#define PI_MAX_I2C_DEVICE_COUNT   (1<<16)

◆ PI_MAX_MICS_DELAY

#define PI_MAX_MICS_DELAY   1000000 /* 1 second */

◆ PI_MAX_MILS_DELAY

#define PI_MAX_MILS_DELAY   60000 /* 60 seconds */

◆ PI_MAX_MS

#define PI_MAX_MS   60000

◆ PI_MAX_PAD

#define PI_MAX_PAD   2

◆ PI_MAX_PAD_STRENGTH

#define PI_MAX_PAD_STRENGTH   16

◆ PI_MAX_SCRIPT_PARAMS

#define PI_MAX_SCRIPT_PARAMS   10

◆ PI_MAX_SCRIPT_TAGS

#define PI_MAX_SCRIPT_TAGS   50

◆ PI_MAX_SCRIPT_VARS

#define PI_MAX_SCRIPT_VARS   150

◆ PI_MAX_SCRIPTS

#define PI_MAX_SCRIPTS   32

◆ PI_MAX_SERVO_PULSEWIDTH

#define PI_MAX_SERVO_PULSEWIDTH   2500

◆ PI_MAX_SIGNUM

#define PI_MAX_SIGNUM   63

◆ PI_MAX_SOCKET_PORT

#define PI_MAX_SOCKET_PORT   32000

◆ PI_MAX_SPI_DEVICE_COUNT

#define PI_MAX_SPI_DEVICE_COUNT   (1<<16)

◆ PI_MAX_STEADY

#define PI_MAX_STEADY   300000

◆ PI_MAX_TIMER

#define PI_MAX_TIMER   9

◆ PI_MAX_USER_GPIO

#define PI_MAX_USER_GPIO   31

◆ PI_MAX_WAVE_CYCLES

#define PI_MAX_WAVE_CYCLES   65535

◆ PI_MAX_WAVE_DATABITS

#define PI_MAX_WAVE_DATABITS   32

◆ PI_MAX_WAVE_DELAY

#define PI_MAX_WAVE_DELAY   65535

◆ PI_MAX_WAVE_HALFSTOPBITS

#define PI_MAX_WAVE_HALFSTOPBITS   8

◆ PI_MAX_WAVES

#define PI_MAX_WAVES   250

◆ PI_MAX_WDOG_TIMEOUT

#define PI_MAX_WDOG_TIMEOUT   60000

◆ PI_MEM_ALLOC_AUTO

#define PI_MEM_ALLOC_AUTO   0

◆ PI_MEM_ALLOC_MAILBOX

#define PI_MEM_ALLOC_MAILBOX   2

◆ PI_MEM_ALLOC_PAGEMAP

#define PI_MEM_ALLOC_PAGEMAP   1

◆ PI_MIN_DMA_CHANNEL

#define PI_MIN_DMA_CHANNEL   0

◆ PI_MIN_DUTYCYCLE_RANGE

#define PI_MIN_DUTYCYCLE_RANGE   25

◆ PI_MIN_GPIO

#define PI_MIN_GPIO   0

◆ PI_MIN_MS

#define PI_MIN_MS   10

◆ PI_MIN_PAD_STRENGTH

#define PI_MIN_PAD_STRENGTH   1

◆ PI_MIN_SERVO_PULSEWIDTH

#define PI_MIN_SERVO_PULSEWIDTH   500

◆ PI_MIN_SIGNUM

#define PI_MIN_SIGNUM   0

◆ PI_MIN_SOCKET_PORT

#define PI_MIN_SOCKET_PORT   1024

◆ PI_MIN_TIMER

#define PI_MIN_TIMER   0

◆ PI_MIN_WAVE_DATABITS

#define PI_MIN_WAVE_DATABITS   1

◆ PI_MIN_WAVE_HALFSTOPBITS

#define PI_MIN_WAVE_HALFSTOPBITS   2

◆ PI_MIN_WDOG_TIMEOUT

#define PI_MIN_WDOG_TIMEOUT   0

◆ PI_MSG_TOOBIG

#define PI_MSG_TOOBIG   -103

◆ PI_NO_ALERT_FUNC

#define PI_NO_ALERT_FUNC   -16

◆ PI_NO_AUX_SPI

#define PI_NO_AUX_SPI   -91

◆ PI_NO_FILE_ACCESS

#define PI_NO_FILE_ACCESS   -137

◆ PI_NO_FILE_MATCH

#define PI_NO_FILE_MATCH   -136

◆ PI_NO_HANDLE

#define PI_NO_HANDLE   -24

◆ PI_NO_MEMORY

#define PI_NO_MEMORY   -58

◆ PI_NO_SCRIPT_ROOM

#define PI_NO_SCRIPT_ROOM   -57

◆ PI_NO_TX_WAVE

#define PI_NO_TX_WAVE   9999 /* No wave being transmitted. */

◆ PI_NO_WAVEFORM_ID

#define PI_NO_WAVEFORM_ID   -70

◆ PI_NOT_HALTED

#define PI_NOT_HALTED   -62

◆ PI_NOT_HCLK_GPIO

#define PI_NOT_HCLK_GPIO   -94

◆ PI_NOT_HPWM_GPIO

#define PI_NOT_HPWM_GPIO   -95

◆ PI_NOT_I2C_GPIO

#define PI_NOT_I2C_GPIO   -108

◆ PI_NOT_INITIALISED

#define PI_NOT_INITIALISED   -31

◆ PI_NOT_ON_BCM2711

#define PI_NOT_ON_BCM2711   -145

◆ PI_NOT_PERMITTED

#define PI_NOT_PERMITTED   -41

◆ PI_NOT_PWM_GPIO

#define PI_NOT_PWM_GPIO   -92

◆ PI_NOT_SERIAL_GPIO

#define PI_NOT_SERIAL_GPIO   -38

◆ PI_NOT_SERVO_GPIO

#define PI_NOT_SERVO_GPIO   -93

◆ PI_NOT_SPI_GPIO

#define PI_NOT_SPI_GPIO   -142

◆ PI_NOTIFY_SLOTS

#define PI_NOTIFY_SLOTS   32

◆ PI_NTFY_FLAGS_ALIVE

#define PI_NTFY_FLAGS_ALIVE   (1 <<6)

◆ PI_NTFY_FLAGS_BIT

#define PI_NTFY_FLAGS_BIT ( x)    (((x)<<0)&31)

◆ PI_NTFY_FLAGS_EVENT

#define PI_NTFY_FLAGS_EVENT   (1 <<7)

◆ PI_NTFY_FLAGS_WDOG

#define PI_NTFY_FLAGS_WDOG   (1 <<5)

◆ PI_NUM_AUX_SPI_CHANNEL

#define PI_NUM_AUX_SPI_CHANNEL   3

◆ PI_NUM_STD_SPI_CHANNEL

#define PI_NUM_STD_SPI_CHANNEL   2

◆ PI_OFF

#define PI_OFF   0

◆ PI_ON

#define PI_ON   1

◆ PI_ONLY_ON_BCM2711

#define PI_ONLY_ON_BCM2711   -146

◆ PI_OUTFIFO

#define PI_OUTFIFO   "/dev/pigout"

◆ PI_OUTPUT

#define PI_OUTPUT   1

◆ PI_PIGIF_ERR_0

#define PI_PIGIF_ERR_0   -2000

◆ PI_PIGIF_ERR_99

#define PI_PIGIF_ERR_99   -2099

◆ PI_PUD_DOWN

#define PI_PUD_DOWN   1

◆ PI_PUD_OFF

#define PI_PUD_OFF   0

◆ PI_PUD_UP

#define PI_PUD_UP   2

◆ PI_SCRIPT_FAILED

#define PI_SCRIPT_FAILED   4

◆ PI_SCRIPT_HALTED

#define PI_SCRIPT_HALTED   1

◆ PI_SCRIPT_INITING

#define PI_SCRIPT_INITING   0

◆ PI_SCRIPT_NOT_READY

#define PI_SCRIPT_NOT_READY   -62

◆ PI_SCRIPT_RUNNING

#define PI_SCRIPT_RUNNING   2

◆ PI_SCRIPT_WAITING

#define PI_SCRIPT_WAITING   3

◆ PI_SER_OPEN_FAILED

#define PI_SER_OPEN_FAILED   -72

◆ PI_SER_READ_FAILED

#define PI_SER_READ_FAILED   -86

◆ PI_SER_READ_NO_DATA

#define PI_SER_READ_NO_DATA   -87

◆ PI_SER_SLOTS

#define PI_SER_SLOTS   16

◆ PI_SER_WRITE_FAILED

#define PI_SER_WRITE_FAILED   -85

◆ PI_SERVO_OFF

#define PI_SERVO_OFF   0

◆ PI_SET

#define PI_SET   1

◆ PI_SOCK_READ_FAILED

#define PI_SOCK_READ_FAILED   -59

◆ PI_SOCK_WRIT_FAILED

#define PI_SOCK_WRIT_FAILED   -60

◆ PI_SOME_PERMITTED

#define PI_SOME_PERMITTED   -42

◆ PI_SPI_FLAGS_3WIRE

#define PI_SPI_FLAGS_3WIRE ( x)    ((x&1)<<9)

◆ PI_SPI_FLAGS_3WREN

#define PI_SPI_FLAGS_3WREN ( x)    ((x&15)<<10)

◆ PI_SPI_FLAGS_AUX_SPI

#define PI_SPI_FLAGS_AUX_SPI ( x)    ((x&1)<<8)

◆ PI_SPI_FLAGS_BITLEN

#define PI_SPI_FLAGS_BITLEN ( x)    ((x&63)<<16)

◆ PI_SPI_FLAGS_CSPOLS

#define PI_SPI_FLAGS_CSPOLS ( x)    ((x&7)<<2)

◆ PI_SPI_FLAGS_MODE

#define PI_SPI_FLAGS_MODE ( x)    ((x&3))

◆ PI_SPI_FLAGS_RESVD

#define PI_SPI_FLAGS_RESVD ( x)    ((x&7)<<5)

◆ PI_SPI_FLAGS_RX_LSB

#define PI_SPI_FLAGS_RX_LSB ( x)    ((x&1)<<15)

◆ PI_SPI_FLAGS_TX_LSB

#define PI_SPI_FLAGS_TX_LSB ( x)    ((x&1)<<14)

◆ PI_SPI_MAX_BAUD

#define PI_SPI_MAX_BAUD   125000000

◆ PI_SPI_MIN_BAUD

#define PI_SPI_MIN_BAUD   32000

◆ PI_SPI_OPEN_FAILED

#define PI_SPI_OPEN_FAILED   -73

◆ PI_SPI_SLOTS

#define PI_SPI_SLOTS   32

◆ PI_SPI_XFER_FAILED

#define PI_SPI_XFER_FAILED   -89

◆ PI_TIME_ABSOLUTE

#define PI_TIME_ABSOLUTE   1

◆ PI_TIME_RELATIVE

#define PI_TIME_RELATIVE   0

◆ PI_TIMEOUT

#define PI_TIMEOUT   2

◆ PI_TIMER_FAILED

#define PI_TIMER_FAILED   -14

◆ PI_TOO_MANY_CBS

#define PI_TOO_MANY_CBS   -67

◆ PI_TOO_MANY_CHARS

#define PI_TOO_MANY_CHARS   -37

◆ PI_TOO_MANY_OOL

#define PI_TOO_MANY_OOL   -68

◆ PI_TOO_MANY_PARAM

#define PI_TOO_MANY_PARAM   -61

◆ PI_TOO_MANY_PULSES

#define PI_TOO_MANY_PULSES   -36

◆ PI_TOO_MANY_SEGS

#define PI_TOO_MANY_SEGS   -105

◆ PI_TOO_MANY_TAGS

#define PI_TOO_MANY_TAGS   -54

◆ PI_UNKNOWN_COMMAND

#define PI_UNKNOWN_COMMAND   -88

◆ PI_WAVE_BLOCKS

#define PI_WAVE_BLOCKS   4

◆ PI_WAVE_COUNT_PAGES

#define PI_WAVE_COUNT_PAGES   10

◆ PI_WAVE_MAX_BAUD

#define PI_WAVE_MAX_BAUD   1000000

◆ PI_WAVE_MAX_CHARS

#define PI_WAVE_MAX_CHARS   (PI_WAVE_BLOCKS * 300)

◆ PI_WAVE_MAX_MICROS

#define PI_WAVE_MAX_MICROS   (30 * 60 * 1000000) /* half an hour */

◆ PI_WAVE_MAX_PULSES

#define PI_WAVE_MAX_PULSES   (PI_WAVE_BLOCKS * 3000)

◆ PI_WAVE_MIN_BAUD

#define PI_WAVE_MIN_BAUD   50

◆ PI_WAVE_MODE_ONE_SHOT

#define PI_WAVE_MODE_ONE_SHOT   0

◆ PI_WAVE_MODE_ONE_SHOT_SYNC

#define PI_WAVE_MODE_ONE_SHOT_SYNC   2

◆ PI_WAVE_MODE_REPEAT

#define PI_WAVE_MODE_REPEAT   1

◆ PI_WAVE_MODE_REPEAT_SYNC

#define PI_WAVE_MODE_REPEAT_SYNC   3

◆ PI_WAVE_NOT_FOUND

#define PI_WAVE_NOT_FOUND   9998 /* Transmitted wave not found. */

◆ PIGPIO_VERSION

#define PIGPIO_VERSION   79

◆ RISING_EDGE

#define RISING_EDGE   0

◆ WAVE_FLAG_READ

#define WAVE_FLAG_READ   1

◆ WAVE_FLAG_TICK

#define WAVE_FLAG_TICK   2

Typedef Documentation

◆ eventFunc_t

typedef void(* eventFunc_t) (int event, uint32_t tick)

◆ eventFuncEx_t

typedef void(* eventFuncEx_t) (int event, uint32_t tick, void *userdata)

◆ gpioAlertFunc_t

typedef void(* gpioAlertFunc_t) (int gpio, int level, uint32_t tick)

◆ gpioAlertFuncEx_t

typedef void(* gpioAlertFuncEx_t) (int gpio, int level, uint32_t tick, void *userdata)

◆ gpioGetSamplesFunc_t

typedef void(* gpioGetSamplesFunc_t) (const gpioSample_t *samples, int numSamples)

◆ gpioGetSamplesFuncEx_t

typedef void(* gpioGetSamplesFuncEx_t) (const gpioSample_t *samples, int numSamples, void *userdata)

◆ gpioISRFunc_t

typedef void(* gpioISRFunc_t) (int gpio, int level, uint32_t tick)

◆ gpioISRFuncEx_t

typedef void(* gpioISRFuncEx_t) (int gpio, int level, uint32_t tick, void *userdata)

◆ gpioSignalFunc_t

typedef void(* gpioSignalFunc_t) (int signum)

◆ gpioSignalFuncEx_t

typedef void(* gpioSignalFuncEx_t) (int signum, void *userdata)

◆ gpioThreadFunc_t

typedef void * gpioThreadFunc_t(void *)

◆ gpioTimerFunc_t

typedef void(* gpioTimerFunc_t) (void)

◆ gpioTimerFuncEx_t

typedef void(* gpioTimerFuncEx_t) (void *userdata)

Function Documentation

◆ bbI2CClose()

int bbI2CClose ( unsigned SDA)

◆ bbI2COpen()

int bbI2COpen ( unsigned SDA,
unsigned SCL,
unsigned baud )

◆ bbI2CZip()

int bbI2CZip ( unsigned SDA,
char * inBuf,
unsigned inLen,
char * outBuf,
unsigned outLen )

◆ bbSPIClose()

int bbSPIClose ( unsigned CS)

◆ bbSPIOpen()

int bbSPIOpen ( unsigned CS,
unsigned MISO,
unsigned MOSI,
unsigned SCLK,
unsigned baud,
unsigned spiFlags )

◆ bbSPIXfer()

int bbSPIXfer ( unsigned CS,
char * inBuf,
char * outBuf,
unsigned count )

◆ bscXfer()

int bscXfer ( bsc_xfer_t * bsc_xfer)

◆ eventMonitor()

int eventMonitor ( unsigned handle,
uint32_t bits )

◆ eventSetFunc()

int eventSetFunc ( unsigned event,
eventFunc_t f )

◆ eventSetFuncEx()

int eventSetFuncEx ( unsigned event,
eventFuncEx_t f,
void * userdata )

◆ eventTrigger()

int eventTrigger ( unsigned event)

◆ fileClose()

int fileClose ( unsigned handle)

◆ fileList()

int fileList ( char * fpat,
char * buf,
unsigned count )

◆ fileOpen()

int fileOpen ( char * file,
unsigned mode )

◆ fileRead()

int fileRead ( unsigned handle,
char * buf,
unsigned count )

◆ fileSeek()

int fileSeek ( unsigned handle,
int32_t seekOffset,
int seekFrom )

◆ fileWrite()

int fileWrite ( unsigned handle,
char * buf,
unsigned count )

◆ getBitInBytes()

int getBitInBytes ( int bitPos,
char * buf,
int numBits )

◆ gpioCfgBufferSize()

int gpioCfgBufferSize ( unsigned cfgMillis)

◆ gpioCfgClock()

int gpioCfgClock ( unsigned cfgMicros,
unsigned cfgPeripheral,
unsigned cfgSource )

◆ gpioCfgDMAchannel()

int gpioCfgDMAchannel ( unsigned DMAchannel)

◆ gpioCfgDMAchannels()

int gpioCfgDMAchannels ( unsigned primaryChannel,
unsigned secondaryChannel )

◆ gpioCfgGetInternals()

uint32_t gpioCfgGetInternals ( void )

◆ gpioCfgInterfaces()

int gpioCfgInterfaces ( unsigned ifFlags)

◆ gpioCfgMemAlloc()

int gpioCfgMemAlloc ( unsigned memAllocMode)

◆ gpioCfgNetAddr()

int gpioCfgNetAddr ( int numSockAddr,
uint32_t * sockAddr )

◆ gpioCfgPermissions()

int gpioCfgPermissions ( uint64_t updateMask)

◆ gpioCfgSetInternals()

int gpioCfgSetInternals ( uint32_t cfgVal)

◆ gpioCfgSocketPort()

int gpioCfgSocketPort ( unsigned port)

◆ gpioCustom1()

int gpioCustom1 ( unsigned arg1,
unsigned arg2,
char * argx,
unsigned argc )

◆ gpioCustom2()

int gpioCustom2 ( unsigned arg1,
char * argx,
unsigned argc,
char * retBuf,
unsigned retMax )

◆ gpioDelay()

uint32_t gpioDelay ( uint32_t micros)

◆ gpioDeleteScript()

int gpioDeleteScript ( unsigned script_id)

◆ gpioGetMode()

int gpioGetMode ( unsigned gpio)

◆ gpioGetPad()

int gpioGetPad ( unsigned pad)

◆ gpioGetPWMdutycycle()

int gpioGetPWMdutycycle ( unsigned user_gpio)

◆ gpioGetPWMfrequency()

int gpioGetPWMfrequency ( unsigned user_gpio)

◆ gpioGetPWMrange()

int gpioGetPWMrange ( unsigned user_gpio)

◆ gpioGetPWMrealRange()

int gpioGetPWMrealRange ( unsigned user_gpio)

◆ gpioGetServoPulsewidth()

int gpioGetServoPulsewidth ( unsigned user_gpio)

◆ gpioGlitchFilter()

int gpioGlitchFilter ( unsigned user_gpio,
unsigned steady )

◆ gpioHardwareClock()

int gpioHardwareClock ( unsigned gpio,
unsigned clkfreq )

◆ gpioHardwarePWM()

int gpioHardwarePWM ( unsigned gpio,
unsigned PWMfreq,
unsigned PWMduty )

◆ gpioHardwareRevision()

unsigned gpioHardwareRevision ( void )

◆ gpioInitialise()

int gpioInitialise ( void )

◆ gpioNoiseFilter()

int gpioNoiseFilter ( unsigned user_gpio,
unsigned steady,
unsigned active )

◆ gpioNotifyBegin()

int gpioNotifyBegin ( unsigned handle,
uint32_t bits )

◆ gpioNotifyClose()

int gpioNotifyClose ( unsigned handle)

◆ gpioNotifyOpen()

int gpioNotifyOpen ( void )

◆ gpioNotifyOpenWithSize()

int gpioNotifyOpenWithSize ( int bufSize)

◆ gpioNotifyPause()

int gpioNotifyPause ( unsigned handle)

◆ gpioPWM()

int gpioPWM ( unsigned user_gpio,
unsigned dutycycle )

◆ gpioRead()

int gpioRead ( unsigned gpio)

◆ gpioRead_Bits_0_31()

uint32_t gpioRead_Bits_0_31 ( void )

◆ gpioRead_Bits_32_53()

uint32_t gpioRead_Bits_32_53 ( void )

◆ gpioRunScript()

int gpioRunScript ( unsigned script_id,
unsigned numPar,
uint32_t * param )

◆ gpioScriptStatus()

int gpioScriptStatus ( unsigned script_id,
uint32_t * param )

◆ gpioSerialRead()

int gpioSerialRead ( unsigned user_gpio,
void * buf,
size_t bufSize )

◆ gpioSerialReadClose()

int gpioSerialReadClose ( unsigned user_gpio)

◆ gpioSerialReadInvert()

int gpioSerialReadInvert ( unsigned user_gpio,
unsigned invert )

◆ gpioSerialReadOpen()

int gpioSerialReadOpen ( unsigned user_gpio,
unsigned baud,
unsigned data_bits )

◆ gpioServo()

int gpioServo ( unsigned user_gpio,
unsigned pulsewidth )

◆ gpioSetAlertFunc()

int gpioSetAlertFunc ( unsigned user_gpio,
gpioAlertFunc_t f )

◆ gpioSetAlertFuncEx()

int gpioSetAlertFuncEx ( unsigned user_gpio,
gpioAlertFuncEx_t f,
void * userdata )

◆ gpioSetGetSamplesFunc()

int gpioSetGetSamplesFunc ( gpioGetSamplesFunc_t f,
uint32_t bits )

◆ gpioSetGetSamplesFuncEx()

int gpioSetGetSamplesFuncEx ( gpioGetSamplesFuncEx_t f,
uint32_t bits,
void * userdata )

◆ gpioSetISRFunc()

int gpioSetISRFunc ( unsigned gpio,
unsigned edge,
int timeout,
gpioISRFunc_t f )

◆ gpioSetISRFuncEx()

int gpioSetISRFuncEx ( unsigned gpio,
unsigned edge,
int timeout,
gpioISRFuncEx_t f,
void * userdata )

◆ gpioSetMode()

int gpioSetMode ( unsigned gpio,
unsigned mode )

◆ gpioSetPad()

int gpioSetPad ( unsigned pad,
unsigned padStrength )

◆ gpioSetPullUpDown()

int gpioSetPullUpDown ( unsigned gpio,
unsigned pud )

◆ gpioSetPWMfrequency()

int gpioSetPWMfrequency ( unsigned user_gpio,
unsigned frequency )

◆ gpioSetPWMrange()

int gpioSetPWMrange ( unsigned user_gpio,
unsigned range )

◆ gpioSetSignalFunc()

int gpioSetSignalFunc ( unsigned signum,
gpioSignalFunc_t f )

◆ gpioSetSignalFuncEx()

int gpioSetSignalFuncEx ( unsigned signum,
gpioSignalFuncEx_t f,
void * userdata )

◆ gpioSetTimerFunc()

int gpioSetTimerFunc ( unsigned timer,
unsigned millis,
gpioTimerFunc_t f )

◆ gpioSetTimerFuncEx()

int gpioSetTimerFuncEx ( unsigned timer,
unsigned millis,
gpioTimerFuncEx_t f,
void * userdata )

◆ gpioSetWatchdog()

int gpioSetWatchdog ( unsigned user_gpio,
unsigned timeout )

◆ gpioSleep()

int gpioSleep ( unsigned timetype,
int seconds,
int micros )

◆ gpioStartThread()

pthread_t * gpioStartThread ( gpioThreadFunc_t f,
void * userdata )

◆ gpioStopScript()

int gpioStopScript ( unsigned script_id)

◆ gpioStopThread()

void gpioStopThread ( pthread_t * pth)

◆ gpioStoreScript()

int gpioStoreScript ( char * script)

◆ gpioTerminate()

void gpioTerminate ( void )

◆ gpioTick()

uint32_t gpioTick ( void )

◆ gpioTime()

int gpioTime ( unsigned timetype,
int * seconds,
int * micros )

◆ gpioTrigger()

int gpioTrigger ( unsigned user_gpio,
unsigned pulseLen,
unsigned level )

◆ gpioUpdateScript()

int gpioUpdateScript ( unsigned script_id,
unsigned numPar,
uint32_t * param )

◆ gpioVersion()

unsigned gpioVersion ( void )

◆ gpioWaveAddGeneric()

int gpioWaveAddGeneric ( unsigned numPulses,
gpioPulse_t * pulses )

◆ gpioWaveAddNew()

int gpioWaveAddNew ( void )

◆ gpioWaveAddSerial()

int gpioWaveAddSerial ( unsigned user_gpio,
unsigned baud,
unsigned data_bits,
unsigned stop_bits,
unsigned offset,
unsigned numBytes,
char * str )

◆ gpioWaveChain()

int gpioWaveChain ( char * buf,
unsigned bufSize )

◆ gpioWaveClear()

int gpioWaveClear ( void )

◆ gpioWaveCreate()

int gpioWaveCreate ( void )

◆ gpioWaveCreatePad()

int gpioWaveCreatePad ( int pctCB,
int pctBOOL,
int pctTOOL )

◆ gpioWaveDelete()

int gpioWaveDelete ( unsigned wave_id)

◆ gpioWaveGetCbs()

int gpioWaveGetCbs ( void )

◆ gpioWaveGetHighCbs()

int gpioWaveGetHighCbs ( void )

◆ gpioWaveGetHighMicros()

int gpioWaveGetHighMicros ( void )

◆ gpioWaveGetHighPulses()

int gpioWaveGetHighPulses ( void )

◆ gpioWaveGetMaxCbs()

int gpioWaveGetMaxCbs ( void )

◆ gpioWaveGetMaxMicros()

int gpioWaveGetMaxMicros ( void )

◆ gpioWaveGetMaxPulses()

int gpioWaveGetMaxPulses ( void )

◆ gpioWaveGetMicros()

int gpioWaveGetMicros ( void )

◆ gpioWaveGetPulses()

int gpioWaveGetPulses ( void )

◆ gpioWaveTxAt()

int gpioWaveTxAt ( void )

◆ gpioWaveTxBusy()

int gpioWaveTxBusy ( void )

◆ gpioWaveTxSend()

int gpioWaveTxSend ( unsigned wave_id,
unsigned wave_mode )

◆ gpioWaveTxStop()

int gpioWaveTxStop ( void )

◆ gpioWrite()

int gpioWrite ( unsigned gpio,
unsigned level )

◆ gpioWrite_Bits_0_31_Clear()

int gpioWrite_Bits_0_31_Clear ( uint32_t bits)

◆ gpioWrite_Bits_0_31_Set()

int gpioWrite_Bits_0_31_Set ( uint32_t bits)

◆ gpioWrite_Bits_32_53_Clear()

int gpioWrite_Bits_32_53_Clear ( uint32_t bits)

◆ gpioWrite_Bits_32_53_Set()

int gpioWrite_Bits_32_53_Set ( uint32_t bits)

◆ i2cBlockProcessCall()

int i2cBlockProcessCall ( unsigned handle,
unsigned i2cReg,
char * buf,
unsigned count )

◆ i2cClose()

int i2cClose ( unsigned handle)

◆ i2cOpen()

int i2cOpen ( unsigned i2cBus,
unsigned i2cAddr,
unsigned i2cFlags )

◆ i2cProcessCall()

int i2cProcessCall ( unsigned handle,
unsigned i2cReg,
unsigned wVal )

◆ i2cReadBlockData()

int i2cReadBlockData ( unsigned handle,
unsigned i2cReg,
char * buf )

◆ i2cReadByte()

int i2cReadByte ( unsigned handle)

◆ i2cReadByteData()

int i2cReadByteData ( unsigned handle,
unsigned i2cReg )

◆ i2cReadDevice()

int i2cReadDevice ( unsigned handle,
char * buf,
unsigned count )

◆ i2cReadI2CBlockData()

int i2cReadI2CBlockData ( unsigned handle,
unsigned i2cReg,
char * buf,
unsigned count )

◆ i2cReadWordData()

int i2cReadWordData ( unsigned handle,
unsigned i2cReg )

◆ i2cSegments()

int i2cSegments ( unsigned handle,
pi_i2c_msg_t * segs,
unsigned numSegs )

◆ i2cSwitchCombined()

void i2cSwitchCombined ( int setting)

◆ i2cWriteBlockData()

int i2cWriteBlockData ( unsigned handle,
unsigned i2cReg,
char * buf,
unsigned count )

◆ i2cWriteByte()

int i2cWriteByte ( unsigned handle,
unsigned bVal )

◆ i2cWriteByteData()

int i2cWriteByteData ( unsigned handle,
unsigned i2cReg,
unsigned bVal )

◆ i2cWriteDevice()

int i2cWriteDevice ( unsigned handle,
char * buf,
unsigned count )

◆ i2cWriteI2CBlockData()

int i2cWriteI2CBlockData ( unsigned handle,
unsigned i2cReg,
char * buf,
unsigned count )

◆ i2cWriteQuick()

int i2cWriteQuick ( unsigned handle,
unsigned bit )

◆ i2cWriteWordData()

int i2cWriteWordData ( unsigned handle,
unsigned i2cReg,
unsigned wVal )

◆ i2cZip()

int i2cZip ( unsigned handle,
char * inBuf,
unsigned inLen,
char * outBuf,
unsigned outLen )

◆ putBitInBytes()

void putBitInBytes ( int bitPos,
char * buf,
int bit )

◆ rawDumpScript()

void rawDumpScript ( unsigned script_id)

◆ rawDumpWave()

void rawDumpWave ( void )

◆ rawWaveAddGeneric()

int rawWaveAddGeneric ( unsigned numPulses,
rawWave_t * pulses )

◆ rawWaveAddSPI()

int rawWaveAddSPI ( rawSPI_t * spi,
unsigned offset,
unsigned spiSS,
char * buf,
unsigned spiTxBits,
unsigned spiBitFirst,
unsigned spiBitLast,
unsigned spiBits )

◆ rawWaveCB()

unsigned rawWaveCB ( void )

◆ rawWaveCBAdr()

rawCbs_t * rawWaveCBAdr ( int cbNum)

◆ rawWaveGetIn()

uint32_t rawWaveGetIn ( int pos)

◆ rawWaveGetOOL()

uint32_t rawWaveGetOOL ( int pos)

◆ rawWaveGetOut()

uint32_t rawWaveGetOut ( int pos)

◆ rawWaveInfo()

rawWaveInfo_t rawWaveInfo ( int wave_id)

◆ rawWaveSetIn()

void rawWaveSetIn ( int pos,
uint32_t lVal )

◆ rawWaveSetOOL()

void rawWaveSetOOL ( int pos,
uint32_t lVal )

◆ rawWaveSetOut()

void rawWaveSetOut ( int pos,
uint32_t lVal )

◆ serClose()

int serClose ( unsigned handle)

◆ serDataAvailable()

int serDataAvailable ( unsigned handle)

◆ serOpen()

int serOpen ( char * sertty,
unsigned baud,
unsigned serFlags )

◆ serRead()

int serRead ( unsigned handle,
char * buf,
unsigned count )

◆ serReadByte()

int serReadByte ( unsigned handle)

◆ serWrite()

int serWrite ( unsigned handle,
char * buf,
unsigned count )

◆ serWriteByte()

int serWriteByte ( unsigned handle,
unsigned bVal )

◆ shell()

int shell ( char * scriptName,
char * scriptString )

◆ spiClose()

int spiClose ( unsigned handle)

◆ spiOpen()

int spiOpen ( unsigned spiChan,
unsigned baud,
unsigned spiFlags )

◆ spiRead()

int spiRead ( unsigned handle,
char * buf,
unsigned count )

◆ spiWrite()

int spiWrite ( unsigned handle,
char * buf,
unsigned count )

◆ spiXfer()

int spiXfer ( unsigned handle,
char * txBuf,
char * rxBuf,
unsigned count )

◆ time_sleep()

void time_sleep ( double seconds)

◆ time_time()

double time_time ( void )