pigpio 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,4 +21,4 @@ while wave.tx_busy
21
21
  sleep 0.1
22
22
  end
23
23
  wave.clear
24
-
24
+ pi.stop
@@ -6,8 +6,14 @@ require "pigpio/user_gpio"
6
6
  require "pigpio/pwm"
7
7
  require "pigpio/bank"
8
8
  require "pigpio/wave"
9
+ require "pigpio/bit_bang_serial_rx"
10
+ require "pigpio/bit_bang_serial_tx"
11
+ require "pigpio/bit_bang_serial"
12
+ require "pigpio/serial"
13
+ require "pigpio/spi"
9
14
 
10
15
  class Pigpio
16
+ attr_reader :pi
11
17
  def initialize(addr=nil,port=nil,&blk)
12
18
  @pi=IF.pigpio_start(addr,port)
13
19
  if blk && connect
@@ -18,9 +24,6 @@ class Pigpio
18
24
  def connect
19
25
  @pi>=0
20
26
  end
21
- def pi
22
- @pi
23
- end
24
27
  def stop
25
28
  IF.pigpio_stop(@pi)
26
29
  @pi=-1
@@ -44,5 +47,13 @@ class Pigpio
44
47
  def wave()
45
48
  Wave.new(@pi)
46
49
  end
47
-
50
+ def serial(rx,tx=nil,baud=9600,data_bits=8,stop_bits=1,parity_type=:none)
51
+ return BitBangSerialRx.new(rx,baud,data_bits) if tx==nil
52
+ return BitBangSerialTx.new(tx,baud,data_bits,stop_bits) if rx==nil
53
+ return BitBangSerial.new(rx,tx,baud,data_bits,stop_bits)
54
+ end
55
+ def spi(spi_channel=0,enable_cex=1,baud=500000,
56
+ bits_per_word: 8,first_MISO: false,first_MOSI: false,idol_bytes: 0,is_3wire: false,active_low_cex: 0,spi_mode: 0)
57
+ SPI.new(@pi,spi_channel,enable_cex,baud,bits_per_word: bits_per_word,first_MISO:first_MISO,first_MOSI:first_MOSI,idol_bytes:idol_bytes,is_3wire:is_3wire,active_low_cex:active_low_cex,spi_mode:spi_mode)
58
+ end
48
59
  end
@@ -0,0 +1,19 @@
1
+ require_relative "./bit_bang_serial_rx"
2
+ require_relative "./bit_bang_serial_tx"
3
+
4
+ class Pigpio
5
+ class BitBangSerial < BitBangSerialTx
6
+ attr_reader :rx
7
+ def initialize(rx,tx,baud=9600,data_bits=8,stop_bits=1,parity_type=:none)
8
+ super(tx,baud,data_bits,stop_bits)
9
+ @rx=BitBangSerialRx.new(rx,baud,data_bits)
10
+ end
11
+ def close
12
+ super
13
+ @rx.close
14
+ end
15
+ def read(bufsize=1)
16
+ @rx.read(bufsize)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ class Pigpio
2
+ class BitBangSerialRx
3
+ attr_reader :rx
4
+ def initialize(rx,baud=9600,data_bits=8)
5
+ @rx=rx
6
+ IF.bb_serial_read_open(@rx.pi,@rx.gpio,baud,data_bits)
7
+ IF.bb_serial_invert(@rx.pi,@rx.gpio,0)
8
+ end
9
+ def close
10
+ IF.bb_serial_read_close(@rx.pi,@rx.gpio)
11
+ end
12
+ def read(bufsize=1)
13
+ IF.bb_serial_read(@rx.pi,@rx.gpio,bufsize)
14
+ end
15
+ def invert(invert=1)
16
+ IF.bb_serial_invert(@rx.pi,@rx.gpio,invert)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,41 @@
1
+ class Pigpio
2
+ class BitBangSerialTx
3
+ attr_reader :tx
4
+ def initialize(tx,baud=9600,data_bits=8,stop_bits=1)
5
+ @tx=tx
6
+ @baud=baud
7
+ @data_bits=data_bits
8
+ @stop_half_bits=(stop_bits*2).round.to_i
9
+ end
10
+ def close
11
+ IF.wave_tx_stop(@tx.pi) if busy?
12
+ IF.wave_clear(@tx.pi)
13
+ end
14
+ def write(buf)
15
+ IF.wave_clear(@tx.pi)
16
+ IF.wave_add_new(@tx.pi)
17
+ ret=IF.wave_add_serial(@tx.pi,@tx.gpio,@baud,@data_bits,@stop_half_bits,0,buf)
18
+ return ret if ret < 0
19
+ wid=IF.wave_create(@tx.pi)
20
+ return wid if wid < 0
21
+ IF.wave_send_once(@tx.pi,wid)
22
+ end
23
+ def sync
24
+ while busy?
25
+ sleep 0.1
26
+ end
27
+ end
28
+ def write_sync(buf)
29
+ ret=write(buf)
30
+ return ret if ret < 0
31
+ sync
32
+ IF.wave_clear(@tx.pi)
33
+ end
34
+ def busy?
35
+ IF.wave_tx_busy(@tx.pi)
36
+ end
37
+ def stop
38
+ IF.wave_tx_stop(@tx.pi)
39
+ end
40
+ end
41
+ end
@@ -1,747 +1,748 @@
1
- module Pigpio::Constant
2
- #/* gpio: 0-53 */
1
+ class Pigpio
2
+ module Constant
3
+ #/* gpio: 0-53 */
3
4
 
4
- PI_MIN_GPIO =0
5
- PI_MAX_GPIO =53
5
+ PI_MIN_GPIO =0
6
+ PI_MAX_GPIO =53
6
7
 
7
- #/* user_gpio: 0-31 */
8
+ #/* user_gpio: 0-31 */
8
9
 
9
- PI_MAX_USER_GPIO =31
10
+ PI_MAX_USER_GPIO =31
10
11
 
11
- #/* level: 0-1 */
12
+ #/* level: 0-1 */
12
13
 
13
- PI_OFF =0
14
- PI_ON =1
14
+ PI_OFF =0
15
+ PI_ON =1
15
16
 
16
- PI_CLEAR =0
17
- PI_SET =1
17
+ PI_CLEAR =0
18
+ PI_SET =1
18
19
 
19
- PI_LOW =0
20
- PI_HIGH =1
20
+ PI_LOW =0
21
+ PI_HIGH =1
21
22
 
22
- #/* level: only reported for GPIO time-out, see gpioSetWatchdog */
23
+ #/* level: only reported for GPIO time-out, see gpioSetWatchdog */
23
24
 
24
- PI_TIMEOUT =2
25
+ PI_TIMEOUT =2
25
26
 
26
- #/* mode: 0-7 */
27
+ #/* mode: 0-7 */
27
28
 
28
- PI_INPUT =0
29
- PI_OUTPUT =1
30
- PI_ALT0 =4
31
- PI_ALT1 =5
32
- PI_ALT2 =6
33
- PI_ALT3 =7
34
- PI_ALT4 =3
35
- PI_ALT5 =2
29
+ PI_INPUT =0
30
+ PI_OUTPUT =1
31
+ PI_ALT0 =4
32
+ PI_ALT1 =5
33
+ PI_ALT2 =6
34
+ PI_ALT3 =7
35
+ PI_ALT4 =3
36
+ PI_ALT5 =2
36
37
 
37
- #/* pud: 0-2 */
38
+ #/* pud: 0-2 */
38
39
 
39
- PI_PUD_OFF =0
40
- PI_PUD_DOWN =1
41
- PI_PUD_UP =2
40
+ PI_PUD_OFF =0
41
+ PI_PUD_DOWN =1
42
+ PI_PUD_UP =2
42
43
 
43
- #/* dutycycle: 0-range */
44
+ #/* dutycycle: 0-range */
44
45
 
45
- PI_DEFAULT_DUTYCYCLE_RANGE =255
46
+ PI_DEFAULT_DUTYCYCLE_RANGE =255
46
47
 
47
- #/* range: 25-40000 */
48
+ #/* range: 25-40000 */
48
49
 
49
- PI_MIN_DUTYCYCLE_RANGE =25
50
- PI_MAX_DUTYCYCLE_RANGE =40000
50
+ PI_MIN_DUTYCYCLE_RANGE =25
51
+ PI_MAX_DUTYCYCLE_RANGE =40000
51
52
 
52
- #/* pulsewidth: 0, 500-2500 */
53
+ #/* pulsewidth: 0, 500-2500 */
53
54
 
54
- PI_SERVO_OFF =0
55
- PI_MIN_SERVO_PULSEWIDTH =500
56
- PI_MAX_SERVO_PULSEWIDTH =2500
55
+ PI_SERVO_OFF =0
56
+ PI_MIN_SERVO_PULSEWIDTH =500
57
+ PI_MAX_SERVO_PULSEWIDTH =2500
57
58
 
58
- #/* hardware PWM */
59
+ #/* hardware PWM */
59
60
 
60
- PI_HW_PWM_MIN_FREQ =1
61
- PI_HW_PWM_MAX_FREQ =125000000
62
- PI_HW_PWM_RANGE =1000000
61
+ PI_HW_PWM_MIN_FREQ =1
62
+ PI_HW_PWM_MAX_FREQ =125000000
63
+ PI_HW_PWM_RANGE =1000000
63
64
 
64
- #/* hardware clock */
65
+ #/* hardware clock */
65
66
 
66
- PI_HW_CLK_MIN_FREQ =4689
67
- PI_HW_CLK_MAX_FREQ =250000000
67
+ PI_HW_CLK_MIN_FREQ =4689
68
+ PI_HW_CLK_MAX_FREQ =250000000
68
69
 
69
- PI_NOTIFY_SLOTS =32
70
+ PI_NOTIFY_SLOTS =32
70
71
 
71
- PI_NTFY_FLAGS_EVENT =(1 <<7)
72
- PI_NTFY_FLAGS_ALIVE =(1 <<6)
73
- PI_NTFY_FLAGS_WDOG =(1 <<5)
74
- # PI_NTFY_FLAGS_BIT(x) =(((x)<<0)&31)
72
+ PI_NTFY_FLAGS_EVENT =(1 <<7)
73
+ PI_NTFY_FLAGS_ALIVE =(1 <<6)
74
+ PI_NTFY_FLAGS_WDOG =(1 <<5)
75
+ # PI_NTFY_FLAGS_BIT(x) =(((x)<<0)&31)
75
76
 
76
- PI_WAVE_BLOCKS =4
77
- PI_WAVE_MAX_PULSES =(PI_WAVE_BLOCKS * 3000)
78
- PI_WAVE_MAX_CHARS =(PI_WAVE_BLOCKS * 300)
77
+ PI_WAVE_BLOCKS =4
78
+ PI_WAVE_MAX_PULSES =(PI_WAVE_BLOCKS * 3000)
79
+ PI_WAVE_MAX_CHARS =(PI_WAVE_BLOCKS * 300)
79
80
 
80
- PI_BB_I2C_MIN_BAUD =50
81
- PI_BB_I2C_MAX_BAUD =500000
81
+ PI_BB_I2C_MIN_BAUD =50
82
+ PI_BB_I2C_MAX_BAUD =500000
82
83
 
83
- PI_BB_SPI_MIN_BAUD =50
84
- PI_BB_SPI_MAX_BAUD =250000
84
+ PI_BB_SPI_MIN_BAUD =50
85
+ PI_BB_SPI_MAX_BAUD =250000
85
86
 
86
- PI_BB_SER_MIN_BAUD =50
87
- PI_BB_SER_MAX_BAUD =250000
87
+ PI_BB_SER_MIN_BAUD =50
88
+ PI_BB_SER_MAX_BAUD =250000
88
89
 
89
- PI_BB_SER_NORMAL =0
90
- PI_BB_SER_INVERT =1
90
+ PI_BB_SER_NORMAL =0
91
+ PI_BB_SER_INVERT =1
91
92
 
92
- PI_WAVE_MIN_BAUD =50
93
- PI_WAVE_MAX_BAUD =1000000
93
+ PI_WAVE_MIN_BAUD =50
94
+ PI_WAVE_MAX_BAUD =1000000
94
95
 
95
- PI_SPI_MIN_BAUD =32000
96
- PI_SPI_MAX_BAUD =125000000
96
+ PI_SPI_MIN_BAUD =32000
97
+ PI_SPI_MAX_BAUD =125000000
97
98
 
98
- PI_MIN_WAVE_DATABITS =1
99
- PI_MAX_WAVE_DATABITS =32
99
+ PI_MIN_WAVE_DATABITS =1
100
+ PI_MAX_WAVE_DATABITS =32
100
101
 
101
- PI_MIN_WAVE_HALFSTOPBITS =2
102
- PI_MAX_WAVE_HALFSTOPBITS =8
102
+ PI_MIN_WAVE_HALFSTOPBITS =2
103
+ PI_MAX_WAVE_HALFSTOPBITS =8
103
104
 
104
- PI_WAVE_MAX_MICROS =(30 * 60 * 1000000) #/* half an hour */
105
+ PI_WAVE_MAX_MICROS =(30 * 60 * 1000000) #/* half an hour */
105
106
 
106
- PI_MAX_WAVES =250
107
+ PI_MAX_WAVES =250
107
108
 
108
- PI_MAX_WAVE_CYCLES =65535
109
- PI_MAX_WAVE_DELAY =65535
109
+ PI_MAX_WAVE_CYCLES =65535
110
+ PI_MAX_WAVE_DELAY =65535
110
111
 
111
- PI_WAVE_COUNT_PAGES =10
112
+ PI_WAVE_COUNT_PAGES =10
112
113
 
113
- #/* wave tx mode */
114
+ #/* wave tx mode */
114
115
 
115
- PI_WAVE_MODE_ONE_SHOT =0
116
- PI_WAVE_MODE_REPEAT =1
117
- PI_WAVE_MODE_ONE_SHOT_SYNC =2
118
- PI_WAVE_MODE_REPEAT_SYNC =3
116
+ PI_WAVE_MODE_ONE_SHOT =0
117
+ PI_WAVE_MODE_REPEAT =1
118
+ PI_WAVE_MODE_ONE_SHOT_SYNC =2
119
+ PI_WAVE_MODE_REPEAT_SYNC =3
119
120
 
120
- #/* special wave at return values */
121
+ #/* special wave at return values */
121
122
 
122
- PI_WAVE_NOT_FOUND =9998 #/* Transmitted wave not found. */
123
- PI_NO_TX_WAVE =9999 #/* No wave being transmitted. */
123
+ PI_WAVE_NOT_FOUND =9998 #/* Transmitted wave not found. */
124
+ PI_NO_TX_WAVE =9999 #/* No wave being transmitted. */
124
125
 
125
- #/* Files, I2C, SPI, SER */
126
+ #/* Files, I2C, SPI, SER */
126
127
 
127
- PI_FILE_SLOTS =16
128
- PI_I2C_SLOTS =64
129
- PI_SPI_SLOTS =32
130
- PI_SER_SLOTS =16
128
+ PI_FILE_SLOTS =16
129
+ PI_I2C_SLOTS =64
130
+ PI_SPI_SLOTS =32
131
+ PI_SER_SLOTS =16
131
132
 
132
- PI_MAX_I2C_ADDR =0x7F
133
+ PI_MAX_I2C_ADDR =0x7F
133
134
 
134
- PI_NUM_AUX_SPI_CHANNEL =3
135
- PI_NUM_STD_SPI_CHANNEL =2
135
+ PI_NUM_AUX_SPI_CHANNEL =3
136
+ PI_NUM_STD_SPI_CHANNEL =2
136
137
 
137
- PI_MAX_I2C_DEVICE_COUNT =(1<<16)
138
- PI_MAX_SPI_DEVICE_COUNT =(1<<16)
138
+ PI_MAX_I2C_DEVICE_COUNT =(1<<16)
139
+ PI_MAX_SPI_DEVICE_COUNT =(1<<16)
139
140
 
140
- #/* max pi_i2c_msg_t per transaction */
141
+ #/* max pi_i2c_msg_t per transaction */
141
142
 
142
- PI_I2C_RDRW_IOCTL_MAX_MSGS =42
143
+ PI_I2C_RDRW_IOCTL_MAX_MSGS =42
143
144
 
144
- #/* flags for i2cTransaction, pi_i2c_msg_t */
145
+ #/* flags for i2cTransaction, pi_i2c_msg_t */
145
146
 
146
- PI_I2C_M_WR =0x0000 #/* write data */
147
- PI_I2C_M_RD =0x0001 #/* read data */
148
- PI_I2C_M_TEN =0x0010 #/* ten bit chip address */
149
- PI_I2C_M_RECV_LEN =0x0400 #/* length will be first received byte */
150
- PI_I2C_M_NO_RD_ACK =0x0800 #/* if I2C_FUNC_PROTOCOL_MANGLING */
151
- PI_I2C_M_IGNORE_NAK =0x1000 #/* if I2C_FUNC_PROTOCOL_MANGLING */
152
- PI_I2C_M_REV_DIR_ADDR =0x2000 #/* if I2C_FUNC_PROTOCOL_MANGLING */
153
- PI_I2C_M_NOSTART =0x4000 #/* if I2C_FUNC_PROTOCOL_MANGLING */
147
+ PI_I2C_M_WR =0x0000 #/* write data */
148
+ PI_I2C_M_RD =0x0001 #/* read data */
149
+ PI_I2C_M_TEN =0x0010 #/* ten bit chip address */
150
+ PI_I2C_M_RECV_LEN =0x0400 #/* length will be first received byte */
151
+ PI_I2C_M_NO_RD_ACK =0x0800 #/* if I2C_FUNC_PROTOCOL_MANGLING */
152
+ PI_I2C_M_IGNORE_NAK =0x1000 #/* if I2C_FUNC_PROTOCOL_MANGLING */
153
+ PI_I2C_M_REV_DIR_ADDR =0x2000 #/* if I2C_FUNC_PROTOCOL_MANGLING */
154
+ PI_I2C_M_NOSTART =0x4000 #/* if I2C_FUNC_PROTOCOL_MANGLING */
154
155
 
155
- #/* bbI2CZip and i2cZip commands */
156
+ #/* bbI2CZip and i2cZip commands */
156
157
 
157
- PI_I2C_END =0
158
- PI_I2C_ESC =1
159
- PI_I2C_START =2
160
- PI_I2C_COMBINED_ON =2
161
- PI_I2C_STOP =3
162
- PI_I2C_COMBINED_OFF =3
163
- PI_I2C_ADDR =4
164
- PI_I2C_FLAGS =5
165
- PI_I2C_READ =6
166
- PI_I2C_WRITE =7
158
+ PI_I2C_END =0
159
+ PI_I2C_ESC =1
160
+ PI_I2C_START =2
161
+ PI_I2C_COMBINED_ON =2
162
+ PI_I2C_STOP =3
163
+ PI_I2C_COMBINED_OFF =3
164
+ PI_I2C_ADDR =4
165
+ PI_I2C_FLAGS =5
166
+ PI_I2C_READ =6
167
+ PI_I2C_WRITE =7
167
168
 
168
- #/* SPI */
169
+ #/* SPI */
169
170
 
170
- # PI_SPI_FLAGS_BITLEN(x) =((x&63)<<16)
171
- # PI_SPI_FLAGS_RX_LSB(x) =((x&1)<<15)
172
- # PI_SPI_FLAGS_TX_LSB(x) =((x&1)<<14)
173
- # PI_SPI_FLAGS_3WREN(x) =((x&15)<<10)
174
- # PI_SPI_FLAGS_3WIRE(x) =((x&1)<<9)
175
- # PI_SPI_FLAGS_AUX_SPI(x) =((x&1)<<8)
176
- # PI_SPI_FLAGS_RESVD(x) =((x&7)<<5)
177
- # PI_SPI_FLAGS_CSPOLS(x) =((x&7)<<2)
178
- # PI_SPI_FLAGS_MODE(x) =((x&3))
171
+ # PI_SPI_FLAGS_BITLEN(x) =((x&63)<<16)
172
+ # PI_SPI_FLAGS_RX_LSB(x) =((x&1)<<15)
173
+ # PI_SPI_FLAGS_TX_LSB(x) =((x&1)<<14)
174
+ # PI_SPI_FLAGS_3WREN(x) =((x&15)<<10)
175
+ # PI_SPI_FLAGS_3WIRE(x) =((x&1)<<9)
176
+ # PI_SPI_FLAGS_AUX_SPI(x) =((x&1)<<8)
177
+ # PI_SPI_FLAGS_RESVD(x) =((x&7)<<5)
178
+ # PI_SPI_FLAGS_CSPOLS(x) =((x&7)<<2)
179
+ # PI_SPI_FLAGS_MODE(x) =((x&3))
179
180
 
180
- #/* BSC registers */
181
+ #/* BSC registers */
181
182
 
182
- BSC_DR =0
183
- BSC_RSR =1
184
- BSC_SLV =2
185
- BSC_CR =3
186
- BSC_FR =4
187
- BSC_IFLS =5
188
- BSC_IMSC =6
189
- BSC_RIS =7
190
- BSC_MIS =8
191
- BSC_ICR =9
192
- BSC_DMACR =10
193
- BSC_TDR =11
194
- BSC_GPUSTAT =12
195
- BSC_HCTRL =13
196
- BSC_DEBUG_I2C =14
197
- BSC_DEBUG_SPI =15
183
+ BSC_DR =0
184
+ BSC_RSR =1
185
+ BSC_SLV =2
186
+ BSC_CR =3
187
+ BSC_FR =4
188
+ BSC_IFLS =5
189
+ BSC_IMSC =6
190
+ BSC_RIS =7
191
+ BSC_MIS =8
192
+ BSC_ICR =9
193
+ BSC_DMACR =10
194
+ BSC_TDR =11
195
+ BSC_GPUSTAT =12
196
+ BSC_HCTRL =13
197
+ BSC_DEBUG_I2C =14
198
+ BSC_DEBUG_SPI =15
198
199
 
199
- BSC_CR_TESTFIFO =2048
200
- BSC_CR_RXE =512
201
- BSC_CR_TXE =256
202
- BSC_CR_BRK =128
203
- BSC_CR_CPOL =16
204
- BSC_CR_CPHA =8
205
- BSC_CR_I2C =4
206
- BSC_CR_SPI =2
207
- BSC_CR_EN =1
200
+ BSC_CR_TESTFIFO =2048
201
+ BSC_CR_RXE =512
202
+ BSC_CR_TXE =256
203
+ BSC_CR_BRK =128
204
+ BSC_CR_CPOL =16
205
+ BSC_CR_CPHA =8
206
+ BSC_CR_I2C =4
207
+ BSC_CR_SPI =2
208
+ BSC_CR_EN =1
208
209
 
209
- BSC_FR_RXBUSY =32
210
- BSC_FR_TXFE =16
211
- BSC_FR_RXFF =8
212
- BSC_FR_TXFF =4
213
- BSC_FR_RXFE =2
214
- BSC_FR_TXBUSY =1
210
+ BSC_FR_RXBUSY =32
211
+ BSC_FR_TXFE =16
212
+ BSC_FR_RXFF =8
213
+ BSC_FR_TXFF =4
214
+ BSC_FR_RXFE =2
215
+ BSC_FR_TXBUSY =1
215
216
 
216
- #/* BSC GPIO */
217
+ #/* BSC GPIO */
217
218
 
218
- BSC_SDA_MOSI =18
219
- BSC_SCL_SCLK =19
220
- BSC_MISO =20
221
- BSC_CE_N =21
219
+ BSC_SDA_MOSI =18
220
+ BSC_SCL_SCLK =19
221
+ BSC_MISO =20
222
+ BSC_CE_N =21
222
223
 
223
- #/* Longest busy delay */
224
+ #/* Longest busy delay */
224
225
 
225
- PI_MAX_BUSY_DELAY =100
226
+ PI_MAX_BUSY_DELAY =100
226
227
 
227
- #/* timeout: 0-60000 */
228
+ #/* timeout: 0-60000 */
228
229
 
229
- PI_MIN_WDOG_TIMEOUT =0
230
- PI_MAX_WDOG_TIMEOUT =60000
230
+ PI_MIN_WDOG_TIMEOUT =0
231
+ PI_MAX_WDOG_TIMEOUT =60000
231
232
 
232
- #/* timer: 0-9 */
233
+ #/* timer: 0-9 */
233
234
 
234
- PI_MIN_TIMER =0
235
- PI_MAX_TIMER =9
235
+ PI_MIN_TIMER =0
236
+ PI_MAX_TIMER =9
236
237
 
237
- #/* millis: 10-60000 */
238
+ #/* millis: 10-60000 */
238
239
 
239
- PI_MIN_MS =10
240
- PI_MAX_MS =60000
240
+ PI_MIN_MS =10
241
+ PI_MAX_MS =60000
241
242
 
242
- PI_MAX_SCRIPTS =32
243
+ PI_MAX_SCRIPTS =32
243
244
 
244
- PI_MAX_SCRIPT_TAGS =50
245
- PI_MAX_SCRIPT_VARS =150
246
- PI_MAX_SCRIPT_PARAMS =10
245
+ PI_MAX_SCRIPT_TAGS =50
246
+ PI_MAX_SCRIPT_VARS =150
247
+ PI_MAX_SCRIPT_PARAMS =10
247
248
 
248
- #/* script status */
249
+ #/* script status */
249
250
 
250
- PI_SCRIPT_INITING =0
251
- PI_SCRIPT_HALTED =1
252
- PI_SCRIPT_RUNNING =2
253
- PI_SCRIPT_WAITING =3
254
- PI_SCRIPT_FAILED =4
251
+ PI_SCRIPT_INITING =0
252
+ PI_SCRIPT_HALTED =1
253
+ PI_SCRIPT_RUNNING =2
254
+ PI_SCRIPT_WAITING =3
255
+ PI_SCRIPT_FAILED =4
255
256
 
256
- #/* signum: 0-63 */
257
+ #/* signum: 0-63 */
257
258
 
258
- PI_MIN_SIGNUM =0
259
- PI_MAX_SIGNUM =63
259
+ PI_MIN_SIGNUM =0
260
+ PI_MAX_SIGNUM =63
260
261
 
261
- #/* timetype: 0-1 */
262
+ #/* timetype: 0-1 */
262
263
 
263
- PI_TIME_RELATIVE =0
264
- PI_TIME_ABSOLUTE =1
264
+ PI_TIME_RELATIVE =0
265
+ PI_TIME_ABSOLUTE =1
265
266
 
266
- PI_MAX_MICS_DELAY =1000000 #/* 1 second */
267
- PI_MAX_MILS_DELAY =60000 #/* 60 seconds */
267
+ PI_MAX_MICS_DELAY =1000000 #/* 1 second */
268
+ PI_MAX_MILS_DELAY =60000 #/* 60 seconds */
268
269
 
269
- #/* cfgMillis */
270
+ #/* cfgMillis */
270
271
 
271
- PI_BUF_MILLIS_MIN =100
272
- PI_BUF_MILLIS_MAX =10000
272
+ PI_BUF_MILLIS_MIN =100
273
+ PI_BUF_MILLIS_MAX =10000
273
274
 
274
- #/* cfgMicros: 1, 2, 4, 5, 8, or 10 */
275
+ #/* cfgMicros: 1, 2, 4, 5, 8, or 10 */
275
276
 
276
- #/* cfgPeripheral: 0-1 */
277
+ #/* cfgPeripheral: 0-1 */
277
278
 
278
- PI_CLOCK_PWM =0
279
- PI_CLOCK_PCM =1
279
+ PI_CLOCK_PWM =0
280
+ PI_CLOCK_PCM =1
280
281
 
281
- #/* DMA channel: 0-14 */
282
+ #/* DMA channel: 0-14 */
282
283
 
283
- PI_MIN_DMA_CHANNEL =0
284
- PI_MAX_DMA_CHANNEL =14
284
+ PI_MIN_DMA_CHANNEL =0
285
+ PI_MAX_DMA_CHANNEL =14
285
286
 
286
- #/* port */
287
+ #/* port */
287
288
 
288
- PI_MIN_SOCKET_PORT =1024
289
- PI_MAX_SOCKET_PORT =32000
289
+ PI_MIN_SOCKET_PORT =1024
290
+ PI_MAX_SOCKET_PORT =32000
290
291
 
291
292
 
292
- #/* ifFlags: */
293
+ #/* ifFlags: */
293
294
 
294
- PI_DISABLE_FIFO_IF =1
295
- PI_DISABLE_SOCK_IF =2
296
- PI_LOCALHOST_SOCK_IF =4
295
+ PI_DISABLE_FIFO_IF =1
296
+ PI_DISABLE_SOCK_IF =2
297
+ PI_LOCALHOST_SOCK_IF =4
297
298
 
298
- #/* memAllocMode */
299
+ #/* memAllocMode */
299
300
 
300
- PI_MEM_ALLOC_AUTO =0
301
- PI_MEM_ALLOC_PAGEMAP =1
302
- PI_MEM_ALLOC_MAILBOX =2
301
+ PI_MEM_ALLOC_AUTO =0
302
+ PI_MEM_ALLOC_PAGEMAP =1
303
+ PI_MEM_ALLOC_MAILBOX =2
303
304
 
304
- #/* filters */
305
+ #/* filters */
305
306
 
306
- PI_MAX_STEADY =300000
307
- PI_MAX_ACTIVE =1000000
307
+ PI_MAX_STEADY =300000
308
+ PI_MAX_ACTIVE =1000000
308
309
 
309
- #/* gpioCfgInternals */
310
+ #/* gpioCfgInternals */
310
311
 
311
- PI_CFG_DBG_LEVEL =0 #/* bits 0-3 */
312
- PI_CFG_ALERT_FREQ =4 #/* bits 4-7 */
313
- PI_CFG_RT_PRIORITY =(1<<8)
314
- PI_CFG_STATS =(1<<9)
312
+ PI_CFG_DBG_LEVEL =0 #/* bits 0-3 */
313
+ PI_CFG_ALERT_FREQ =4 #/* bits 4-7 */
314
+ PI_CFG_RT_PRIORITY =(1<<8)
315
+ PI_CFG_STATS =(1<<9)
315
316
 
316
- PI_CFG_ILLEGAL_VAL =(1<<10)
317
+ PI_CFG_ILLEGAL_VAL =(1<<10)
317
318
 
318
- #/* gpioISR */
319
+ #/* gpioISR */
319
320
 
320
- RISING_EDGE =0
321
- FALLING_EDGE =1
322
- EITHER_EDGE =2
321
+ RISING_EDGE =0
322
+ FALLING_EDGE =1
323
+ EITHER_EDGE =2
323
324
 
324
325
 
325
- #/* pads */
326
+ #/* pads */
326
327
 
327
- PI_MAX_PAD =2
328
+ PI_MAX_PAD =2
328
329
 
329
- PI_MIN_PAD_STRENGTH =1
330
- PI_MAX_PAD_STRENGTH =16
330
+ PI_MIN_PAD_STRENGTH =1
331
+ PI_MAX_PAD_STRENGTH =16
331
332
 
332
- #/* files */
333
-
334
- PI_FILE_NONE =0
335
- PI_FILE_MIN =1
336
- PI_FILE_READ =1
337
- PI_FILE_WRITE =2
338
- PI_FILE_RW =3
339
- PI_FILE_APPEND =4
340
- PI_FILE_CREATE =8
341
- PI_FILE_TRUNC =16
342
- PI_FILE_MAX =31
343
-
344
- PI_FROM_START =0
345
- PI_FROM_CURRENT =1
346
- PI_FROM_END =2
347
-
348
- #/* Allowed socket connect addresses */
349
-
350
- MAX_CONNECT_ADDRESSES =256
351
-
352
- #/* events */
353
-
354
- PI_MAX_EVENT =31
355
-
356
- #/* Event auto generated on BSC slave activity */
357
-
358
- PI_EVENT_BSC =31
359
-
360
-
361
- #/*DEF_S Socket Command Codes*/
362
-
363
- PI_CMD_MODES =0
364
- PI_CMD_MODEG =1
365
- PI_CMD_PUD =2
366
- PI_CMD_READ =3
367
- PI_CMD_WRITE =4
368
- PI_CMD_PWM =5
369
- PI_CMD_PRS =6
370
- PI_CMD_PFS =7
371
- PI_CMD_SERVO =8
372
- PI_CMD_WDOG =9
373
- PI_CMD_BR1 =10
374
- PI_CMD_BR2 =11
375
- PI_CMD_BC1 =12
376
- PI_CMD_BC2 =13
377
- PI_CMD_BS1 =14
378
- PI_CMD_BS2 =15
379
- PI_CMD_TICK =16
380
- PI_CMD_HWVER =17
381
- PI_CMD_NO =18
382
- PI_CMD_NB =19
383
- PI_CMD_NP =20
384
- PI_CMD_NC =21
385
- PI_CMD_PRG =22
386
- PI_CMD_PFG =23
387
- PI_CMD_PRRG =24
388
- PI_CMD_HELP =25
389
- PI_CMD_PIGPV =26
390
- PI_CMD_WVCLR =27
391
- PI_CMD_WVAG =28
392
- PI_CMD_WVAS =29
393
- PI_CMD_WVGO =30
394
- PI_CMD_WVGOR =31
395
- PI_CMD_WVBSY =32
396
- PI_CMD_WVHLT =33
397
- PI_CMD_WVSM =34
398
- PI_CMD_WVSP =35
399
- PI_CMD_WVSC =36
400
- PI_CMD_TRIG =37
401
- PI_CMD_PROC =38
402
- PI_CMD_PROCD =39
403
- PI_CMD_PROCR =40
404
- PI_CMD_PROCS =41
405
- PI_CMD_SLRO =42
406
- PI_CMD_SLR =43
407
- PI_CMD_SLRC =44
408
- PI_CMD_PROCP =45
409
- PI_CMD_MICS =46
410
- PI_CMD_MILS =47
411
- PI_CMD_PARSE =48
412
- PI_CMD_WVCRE =49
413
- PI_CMD_WVDEL =50
414
- PI_CMD_WVTX =51
415
- PI_CMD_WVTXR =52
416
- PI_CMD_WVNEW =53
417
-
418
- PI_CMD_I2CO =54
419
- PI_CMD_I2CC =55
420
- PI_CMD_I2CRD =56
421
- PI_CMD_I2CWD =57
422
- PI_CMD_I2CWQ =58
423
- PI_CMD_I2CRS =59
424
- PI_CMD_I2CWS =60
425
- PI_CMD_I2CRB =61
426
- PI_CMD_I2CWB =62
427
- PI_CMD_I2CRW =63
428
- PI_CMD_I2CWW =64
429
- PI_CMD_I2CRK =65
430
- PI_CMD_I2CWK =66
431
- PI_CMD_I2CRI =67
432
- PI_CMD_I2CWI =68
433
- PI_CMD_I2CPC =69
434
- PI_CMD_I2CPK =70
435
-
436
- PI_CMD_SPIO =71
437
- PI_CMD_SPIC =72
438
- PI_CMD_SPIR =73
439
- PI_CMD_SPIW =74
440
- PI_CMD_SPIX =75
441
-
442
- PI_CMD_SERO =76
443
- PI_CMD_SERC =77
444
- PI_CMD_SERRB =78
445
- PI_CMD_SERWB =79
446
- PI_CMD_SERR =80
447
- PI_CMD_SERW =81
448
- PI_CMD_SERDA =82
449
-
450
- PI_CMD_GDC =83
451
- PI_CMD_GPW =84
452
-
453
- PI_CMD_HC =85
454
- PI_CMD_HP =86
455
-
456
- PI_CMD_CF1 =87
457
- PI_CMD_CF2 =88
458
-
459
- PI_CMD_BI2CC =89
460
- PI_CMD_BI2CO =90
461
- PI_CMD_BI2CZ =91
462
-
463
- PI_CMD_I2CZ =92
464
-
465
- PI_CMD_WVCHA =93
466
-
467
- PI_CMD_SLRI =94
468
-
469
- PI_CMD_CGI =95
470
- PI_CMD_CSI =96
471
-
472
- PI_CMD_FG =97
473
- PI_CMD_FN =98
474
-
475
- PI_CMD_NOIB =99
476
-
477
- PI_CMD_WVTXM =100
478
- PI_CMD_WVTAT =101
479
-
480
- PI_CMD_PADS =102
481
- PI_CMD_PADG =103
482
-
483
- PI_CMD_FO =104
484
- PI_CMD_FC =105
485
- PI_CMD_FR =106
486
- PI_CMD_FW =107
487
- PI_CMD_FS =108
488
- PI_CMD_FL =109
489
-
490
- PI_CMD_SHELL =110
491
-
492
- PI_CMD_BSPIC =111
493
- PI_CMD_BSPIO =112
494
- PI_CMD_BSPIX =113
495
-
496
- PI_CMD_BSCX =114
497
-
498
- PI_CMD_EVM =115
499
- PI_CMD_EVT =116
500
-
501
- #/*DEF_E*/
502
-
503
- #/* pseudo commands */
504
-
505
- PI_CMD_SCRIPT =800
506
-
507
- PI_CMD_ADD =800
508
- PI_CMD_AND =801
509
- PI_CMD_CALL =802
510
- PI_CMD_CMDR =803
511
- PI_CMD_CMDW =804
512
- PI_CMD_CMP =805
513
- PI_CMD_DCR =806
514
- PI_CMD_DCRA =807
515
- PI_CMD_DIV =808
516
- PI_CMD_HALT =809
517
- PI_CMD_INR =810
518
- PI_CMD_INRA =811
519
- PI_CMD_JM =812
520
- PI_CMD_JMP =813
521
- PI_CMD_JNZ =814
522
- PI_CMD_JP =815
523
- PI_CMD_JZ =816
524
- PI_CMD_TAG =817
525
- PI_CMD_LD =818
526
- PI_CMD_LDA =819
527
- PI_CMD_LDAB =820
528
- PI_CMD_MLT =821
529
- PI_CMD_MOD =822
530
- PI_CMD_NOP =823
531
- PI_CMD_OR =824
532
- PI_CMD_POP =825
533
- PI_CMD_POPA =826
534
- PI_CMD_PUSH =827
535
- PI_CMD_PUSHA =828
536
- PI_CMD_RET =829
537
- PI_CMD_RL =830
538
- PI_CMD_RLA =831
539
- PI_CMD_RR =832
540
- PI_CMD_RRA =833
541
- PI_CMD_STA =834
542
- PI_CMD_STAB =835
543
- PI_CMD_SUB =836
544
- PI_CMD_SYS =837
545
- PI_CMD_WAIT =838
546
- PI_CMD_X =839
547
- PI_CMD_XA =840
548
- PI_CMD_XOR =841
549
- PI_CMD_EVTWT =842
550
-
551
- #/*DEF_S Error Codes*/
552
-
553
- PI_INIT_FAILED =-1 #Error Code: gpioInitialise failed
554
- PI_BAD_USER_GPIO =-2 #Error Code: GPIO not 0-31
555
- PI_BAD_GPIO =-3 #Error Code: GPIO not 0-53
556
- PI_BAD_MODE =-4 #Error Code: mode not 0-7
557
- PI_BAD_LEVEL =-5 #Error Code: level not 0-1
558
- PI_BAD_PUD =-6 #Error Code: pud not 0-2
559
- PI_BAD_PULSEWIDTH =-7 #Error Code: pulsewidth not 0 or 500-2500
560
- PI_BAD_DUTYCYCLE =-8 #Error Code: dutycycle outside set range
561
- PI_BAD_TIMER =-9 #Error Code: timer not 0-9
562
- PI_BAD_MS =-10 #Error Code: ms not 10-60000
563
- PI_BAD_TIMETYPE =-11 #Error Code: timetype not 0-1
564
- PI_BAD_SECONDS =-12 #Error Code: seconds < 0
565
- PI_BAD_MICROS =-13 #Error Code: micros not 0-999999
566
- PI_TIMER_FAILED =-14 #Error Code: gpioSetTimerFunc failed
567
- PI_BAD_WDOG_TIMEOUT =-15 #Error Code: timeout not 0-60000
568
- PI_NO_ALERT_FUNC =-16 #Error Code: DEPRECATED
569
- PI_BAD_CLK_PERIPH =-17 #Error Code: clock peripheral not 0-1
570
- PI_BAD_CLK_SOURCE =-18 #Error Code: DEPRECATED
571
- PI_BAD_CLK_MICROS =-19 #Error Code: clock micros not 1, 2, 4, 5, 8, or 10
572
- PI_BAD_BUF_MILLIS =-20 #Error Code: buf millis not 100-10000
573
- PI_BAD_DUTYRANGE =-21 #Error Code: dutycycle range not 25-40000
574
- PI_BAD_DUTY_RANGE =-21 #Error Code: DEPRECATED (use PI_BAD_DUTYRANGE)
575
- PI_BAD_SIGNUM =-22 #Error Code: signum not 0-63
576
- PI_BAD_PATHNAME =-23 #Error Code: can't open pathname
577
- PI_NO_HANDLE =-24 #Error Code: no handle available
578
- PI_BAD_HANDLE =-25 #Error Code: unknown handle
579
- PI_BAD_IF_FLAGS =-26 #Error Code: ifFlags > 3
580
- PI_BAD_CHANNEL =-27 #Error Code: DMA channel not 0-14
581
- PI_BAD_PRIM_CHANNEL =-27 #Error Code: DMA primary channel not 0-14
582
- PI_BAD_SOCKET_PORT =-28 #Error Code: socket port not 1024-32000
583
- PI_BAD_FIFO_COMMAND =-29 #Error Code: unrecognized fifo command
584
- PI_BAD_SECO_CHANNEL =-30 #Error Code: DMA secondary channel not 0-6
585
- PI_NOT_INITIALISED =-31 #Error Code: function called before gpioInitialise
586
- PI_INITIALISED =-32 #Error Code: function called after gpioInitialise
587
- PI_BAD_WAVE_MODE =-33 #Error Code: waveform mode not 0-3
588
- PI_BAD_CFG_INTERNAL =-34 #Error Code: bad parameter in gpioCfgInternals call
589
- PI_BAD_WAVE_BAUD =-35 #Error Code: baud rate not 50-250K(RX)/50-1M(TX)
590
- PI_TOO_MANY_PULSES =-36 #Error Code: waveform has too many pulses
591
- PI_TOO_MANY_CHARS =-37 #Error Code: waveform has too many chars
592
- PI_NOT_SERIAL_GPIO =-38 #Error Code: no bit bang serial read on GPIO
593
- PI_BAD_SERIAL_STRUC =-39 #Error Code: bad (null) serial structure parameter
594
- PI_BAD_SERIAL_BUF =-40 #Error Code: bad (null) serial buf parameter
595
- PI_NOT_PERMITTED =-41 #Error Code: GPIO operation not permitted
596
- PI_SOME_PERMITTED =-42 #Error Code: one or more GPIO not permitted
597
- PI_BAD_WVSC_COMMND =-43 #Error Code: bad WVSC subcommand
598
- PI_BAD_WVSM_COMMND =-44 #Error Code: bad WVSM subcommand
599
- PI_BAD_WVSP_COMMND =-45 #Error Code: bad WVSP subcommand
600
- PI_BAD_PULSELEN =-46 #Error Code: trigger pulse length not 1-100
601
- PI_BAD_SCRIPT =-47 #Error Code: invalid script
602
- PI_BAD_SCRIPT_ID =-48 #Error Code: unknown script id
603
- PI_BAD_SER_OFFSET =-49 #Error Code: add serial data offset > 30 minutes
604
- PI_GPIO_IN_USE =-50 #Error Code: GPIO already in use
605
- PI_BAD_SERIAL_COUNT =-51 #Error Code: must read at least a byte at a time
606
- PI_BAD_PARAM_NUM =-52 #Error Code: script parameter id not 0-9
607
- PI_DUP_TAG =-53 #Error Code: script has duplicate tag
608
- PI_TOO_MANY_TAGS =-54 #Error Code: script has too many tags
609
- PI_BAD_SCRIPT_CMD =-55 #Error Code: illegal script command
610
- PI_BAD_VAR_NUM =-56 #Error Code: script variable id not 0-149
611
- PI_NO_SCRIPT_ROOM =-57 #Error Code: no more room for scripts
612
- PI_NO_MEMORY =-58 #Error Code: can't allocate temporary memory
613
- PI_SOCK_READ_FAILED =-59 #Error Code: socket read failed
614
- PI_SOCK_WRIT_FAILED =-60 #Error Code: socket write failed
615
- PI_TOO_MANY_PARAM =-61 #Error Code: too many script parameters (> 10)
616
- PI_NOT_HALTED =-62 #Error Code: DEPRECATED
617
- PI_SCRIPT_NOT_READY =-62 #Error Code: script initialising
618
- PI_BAD_TAG =-63 #Error Code: script has unresolved tag
619
- PI_BAD_MICS_DELAY =-64 #Error Code: bad MICS delay (too large)
620
- PI_BAD_MILS_DELAY =-65 #Error Code: bad MILS delay (too large)
621
- PI_BAD_WAVE_ID =-66 #Error Code: non existent wave id
622
- PI_TOO_MANY_CBS =-67 #Error Code: No more CBs for waveform
623
- PI_TOO_MANY_OOL =-68 #Error Code: No more OOL for waveform
624
- PI_EMPTY_WAVEFORM =-69 #Error Code: attempt to create an empty waveform
625
- PI_NO_WAVEFORM_ID =-70 #Error Code: no more waveforms
626
- PI_I2C_OPEN_FAILED =-71 #Error Code: can't open I2C device
627
- PI_SER_OPEN_FAILED =-72 #Error Code: can't open serial device
628
- PI_SPI_OPEN_FAILED =-73 #Error Code: can't open SPI device
629
- PI_BAD_I2C_BUS =-74 #Error Code: bad I2C bus
630
- PI_BAD_I2C_ADDR =-75 #Error Code: bad I2C address
631
- PI_BAD_SPI_CHANNEL =-76 #Error Code: bad SPI channel
632
- PI_BAD_FLAGS =-77 #Error Code: bad i2c/spi/ser open flags
633
- PI_BAD_SPI_SPEED =-78 #Error Code: bad SPI speed
634
- PI_BAD_SER_DEVICE =-79 #Error Code: bad serial device name
635
- PI_BAD_SER_SPEED =-80 #Error Code: bad serial baud rate
636
- PI_BAD_PARAM =-81 #Error Code: bad i2c/spi/ser parameter
637
- PI_I2C_WRITE_FAILED =-82 #Error Code: i2c write failed
638
- PI_I2C_READ_FAILED =-83 #Error Code: i2c read failed
639
- PI_BAD_SPI_COUNT =-84 #Error Code: bad SPI count
640
- PI_SER_WRITE_FAILED =-85 #Error Code: ser write failed
641
- PI_SER_READ_FAILED =-86 #Error Code: ser read failed
642
- PI_SER_READ_NO_DATA =-87 #Error Code: ser read no data available
643
- PI_UNKNOWN_COMMAND =-88 #Error Code: unknown command
644
- PI_SPI_XFER_FAILED =-89 #Error Code: spi xfer/read/write failed
645
- PI_BAD_POINTER =-90 #Error Code: bad (NULL) pointer
646
- PI_NO_AUX_SPI =-91 #Error Code: no auxiliary SPI on Pi A or B
647
- PI_NOT_PWM_GPIO =-92 #Error Code: GPIO is not in use for PWM
648
- PI_NOT_SERVO_GPIO =-93 #Error Code: GPIO is not in use for servo pulses
649
- PI_NOT_HCLK_GPIO =-94 #Error Code: GPIO has no hardware clock
650
- PI_NOT_HPWM_GPIO =-95 #Error Code: GPIO has no hardware PWM
651
- PI_BAD_HPWM_FREQ =-96 #Error Code: hardware PWM frequency not 1-125M
652
- PI_BAD_HPWM_DUTY =-97 #Error Code: hardware PWM dutycycle not 0-1M
653
- PI_BAD_HCLK_FREQ =-98 #Error Code: hardware clock frequency not 4689-250M
654
- PI_BAD_HCLK_PASS =-99 #Error Code: need password to use hardware clock 1
655
- PI_HPWM_ILLEGAL =-100 #Error Code: illegal, PWM in use for main clock
656
- PI_BAD_DATABITS =-101 #Error Code: serial data bits not 1-32
657
- PI_BAD_STOPBITS =-102 #Error Code: serial (half) stop bits not 2-8
658
- PI_MSG_TOOBIG =-103 #Error Code: socket/pipe message too big
659
- PI_BAD_MALLOC_MODE =-104 #Error Code: bad memory allocation mode
660
- PI_TOO_MANY_SEGS =-105 #Error Code: too many I2C transaction segments
661
- PI_BAD_I2C_SEG =-106 #Error Code: an I2C transaction segment failed
662
- PI_BAD_SMBUS_CMD =-107 #Error Code: SMBus command not supported by driver
663
- PI_NOT_I2C_GPIO =-108 #Error Code: no bit bang I2C in progress on GPIO
664
- PI_BAD_I2C_WLEN =-109 #Error Code: bad I2C write length
665
- PI_BAD_I2C_RLEN =-110 #Error Code: bad I2C read length
666
- PI_BAD_I2C_CMD =-111 #Error Code: bad I2C command
667
- PI_BAD_I2C_BAUD =-112 #Error Code: bad I2C baud rate, not 50-500k
668
- PI_CHAIN_LOOP_CNT =-113 #Error Code: bad chain loop count
669
- PI_BAD_CHAIN_LOOP =-114 #Error Code: empty chain loop
670
- PI_CHAIN_COUNTER =-115 #Error Code: too many chain counters
671
- PI_BAD_CHAIN_CMD =-116 #Error Code: bad chain command
672
- PI_BAD_CHAIN_DELAY =-117 #Error Code: bad chain delay micros
673
- PI_CHAIN_NESTING =-118 #Error Code: chain counters nested too deeply
674
- PI_CHAIN_TOO_BIG =-119 #Error Code: chain is too long
675
- PI_DEPRECATED =-120 #Error Code: deprecated function removed
676
- PI_BAD_SER_INVERT =-121 #Error Code: bit bang serial invert not 0 or 1
677
- PI_BAD_EDGE =-122 #Error Code: bad ISR edge value, not 0-2
678
- PI_BAD_ISR_INIT =-123 #Error Code: bad ISR initialisation
679
- PI_BAD_FOREVER =-124 #Error Code: loop forever must be last command
680
- PI_BAD_FILTER =-125 #Error Code: bad filter parameter
681
- PI_BAD_PAD =-126 #Error Code: bad pad number
682
- PI_BAD_STRENGTH =-127 #Error Code: bad pad drive strength
683
- PI_FIL_OPEN_FAILED =-128 #Error Code: file open failed
684
- PI_BAD_FILE_MODE =-129 #Error Code: bad file mode
685
- PI_BAD_FILE_FLAG =-130 #Error Code: bad file flag
686
- PI_BAD_FILE_READ =-131 #Error Code: bad file read
687
- PI_BAD_FILE_WRITE =-132 #Error Code: bad file write
688
- PI_FILE_NOT_ROPEN =-133 #Error Code: file not open for read
689
- PI_FILE_NOT_WOPEN =-134 #Error Code: file not open for write
690
- PI_BAD_FILE_SEEK =-135 #Error Code: bad file seek
691
- PI_NO_FILE_MATCH =-136 #Error Code: no files match pattern
692
- PI_NO_FILE_ACCESS =-137 #Error Code: no permission to access file
693
- PI_FILE_IS_A_DIR =-138 #Error Code: file is a directory
694
- PI_BAD_SHELL_STATUS=-139 #Error Code: bad shell return status
695
- PI_BAD_SCRIPT_NAME =-140 #Error Code: bad script name
696
- PI_BAD_SPI_BAUD =-141 #Error Code: bad SPI baud rate, not 50-500k
697
- PI_NOT_SPI_GPIO =-142 #Error Code: no bit bang SPI in progress on GPIO
698
- PI_BAD_EVENT_ID =-143 #Error Code: bad event id
699
-
700
- PI_PIGIF_ERR_0 =-2000
701
- PI_PIGIF_ERR_99 =-2099
702
-
703
- PI_CUSTOM_ERR_0 =-3000
704
- PI_CUSTOM_ERR_999 =-3999
705
-
706
- #/*DEF_E*/
707
-
708
- #/*DEF_S Defaults*/
709
-
710
- PI_DEFAULT_BUFFER_MILLIS =120
711
- PI_DEFAULT_CLK_MICROS =5
712
- PI_DEFAULT_CLK_PERIPHERAL =PI_CLOCK_PCM
713
- PI_DEFAULT_IF_FLAGS =0
714
- PI_DEFAULT_FOREGROUND =0
715
- PI_DEFAULT_DMA_CHANNEL =14
716
- PI_DEFAULT_DMA_PRIMARY_CHANNEL =14
717
- PI_DEFAULT_DMA_SECONDARY_CHANNEL =6
718
- PI_DEFAULT_SOCKET_PORT =8888
719
- PI_DEFAULT_SOCKET_PORT_STR ="8888"
720
- PI_DEFAULT_SOCKET_ADDR_STR ="127.0.0.1"
721
- PI_DEFAULT_UPDATE_MASK_UNKNOWN =0xFFFFFFFF
722
- PI_DEFAULT_UPDATE_MASK_B1 =0x03E7CF93
723
- PI_DEFAULT_UPDATE_MASK_A_B2 =0xFBC7CF9C
724
- PI_DEFAULT_UPDATE_MASK_APLUS_BPLUS =0x0080480FFFFFFC
725
- PI_DEFAULT_UPDATE_MASK_ZERO =0x0080000FFFFFFC
726
- PI_DEFAULT_UPDATE_MASK_PI2B =0x0080480FFFFFFC
727
- PI_DEFAULT_UPDATE_MASK_PI3B =0x0000000FFFFFFC
728
- PI_DEFAULT_UPDATE_MASK_COMPUTE =0x00FFFFFFFFFFFF
729
- PI_DEFAULT_MEM_ALLOC_MODE =PI_MEM_ALLOC_AUTO
730
-
731
- PI_DEFAULT_CFG_INTERNALS =0
732
-
733
- Pigif_bad_send = -2000
734
- Pigif_bad_recv = -2001
735
- Pigif_bad_getaddrinfo = -2002
736
- Pigif_bad_connect = -2003
737
- Pigif_bad_socket = -2004
738
- Pigif_bad_noib = -2005
739
- Pigif_duplicate_callback = -2006
740
- Pigif_bad_malloc = -2007
741
- Pigif_bad_callback = -2008
742
- Pigif_notify_failed = -2009
743
- Pigif_callback_not_found = -2010
744
- Pigif_unconnected_pi = -2011
745
- Pigif_too_many_pis = -2012
333
+ #/* files */
746
334
 
335
+ PI_FILE_NONE =0
336
+ PI_FILE_MIN =1
337
+ PI_FILE_READ =1
338
+ PI_FILE_WRITE =2
339
+ PI_FILE_RW =3
340
+ PI_FILE_APPEND =4
341
+ PI_FILE_CREATE =8
342
+ PI_FILE_TRUNC =16
343
+ PI_FILE_MAX =31
344
+
345
+ PI_FROM_START =0
346
+ PI_FROM_CURRENT =1
347
+ PI_FROM_END =2
348
+
349
+ #/* Allowed socket connect addresses */
350
+
351
+ MAX_CONNECT_ADDRESSES =256
352
+
353
+ #/* events */
354
+
355
+ PI_MAX_EVENT =31
356
+
357
+ #/* Event auto generated on BSC slave activity */
358
+
359
+ PI_EVENT_BSC =31
360
+
361
+
362
+ #/*DEF_S Socket Command Codes*/
363
+
364
+ PI_CMD_MODES =0
365
+ PI_CMD_MODEG =1
366
+ PI_CMD_PUD =2
367
+ PI_CMD_READ =3
368
+ PI_CMD_WRITE =4
369
+ PI_CMD_PWM =5
370
+ PI_CMD_PRS =6
371
+ PI_CMD_PFS =7
372
+ PI_CMD_SERVO =8
373
+ PI_CMD_WDOG =9
374
+ PI_CMD_BR1 =10
375
+ PI_CMD_BR2 =11
376
+ PI_CMD_BC1 =12
377
+ PI_CMD_BC2 =13
378
+ PI_CMD_BS1 =14
379
+ PI_CMD_BS2 =15
380
+ PI_CMD_TICK =16
381
+ PI_CMD_HWVER =17
382
+ PI_CMD_NO =18
383
+ PI_CMD_NB =19
384
+ PI_CMD_NP =20
385
+ PI_CMD_NC =21
386
+ PI_CMD_PRG =22
387
+ PI_CMD_PFG =23
388
+ PI_CMD_PRRG =24
389
+ PI_CMD_HELP =25
390
+ PI_CMD_PIGPV =26
391
+ PI_CMD_WVCLR =27
392
+ PI_CMD_WVAG =28
393
+ PI_CMD_WVAS =29
394
+ PI_CMD_WVGO =30
395
+ PI_CMD_WVGOR =31
396
+ PI_CMD_WVBSY =32
397
+ PI_CMD_WVHLT =33
398
+ PI_CMD_WVSM =34
399
+ PI_CMD_WVSP =35
400
+ PI_CMD_WVSC =36
401
+ PI_CMD_TRIG =37
402
+ PI_CMD_PROC =38
403
+ PI_CMD_PROCD =39
404
+ PI_CMD_PROCR =40
405
+ PI_CMD_PROCS =41
406
+ PI_CMD_SLRO =42
407
+ PI_CMD_SLR =43
408
+ PI_CMD_SLRC =44
409
+ PI_CMD_PROCP =45
410
+ PI_CMD_MICS =46
411
+ PI_CMD_MILS =47
412
+ PI_CMD_PARSE =48
413
+ PI_CMD_WVCRE =49
414
+ PI_CMD_WVDEL =50
415
+ PI_CMD_WVTX =51
416
+ PI_CMD_WVTXR =52
417
+ PI_CMD_WVNEW =53
418
+
419
+ PI_CMD_I2CO =54
420
+ PI_CMD_I2CC =55
421
+ PI_CMD_I2CRD =56
422
+ PI_CMD_I2CWD =57
423
+ PI_CMD_I2CWQ =58
424
+ PI_CMD_I2CRS =59
425
+ PI_CMD_I2CWS =60
426
+ PI_CMD_I2CRB =61
427
+ PI_CMD_I2CWB =62
428
+ PI_CMD_I2CRW =63
429
+ PI_CMD_I2CWW =64
430
+ PI_CMD_I2CRK =65
431
+ PI_CMD_I2CWK =66
432
+ PI_CMD_I2CRI =67
433
+ PI_CMD_I2CWI =68
434
+ PI_CMD_I2CPC =69
435
+ PI_CMD_I2CPK =70
436
+
437
+ PI_CMD_SPIO =71
438
+ PI_CMD_SPIC =72
439
+ PI_CMD_SPIR =73
440
+ PI_CMD_SPIW =74
441
+ PI_CMD_SPIX =75
442
+
443
+ PI_CMD_SERO =76
444
+ PI_CMD_SERC =77
445
+ PI_CMD_SERRB =78
446
+ PI_CMD_SERWB =79
447
+ PI_CMD_SERR =80
448
+ PI_CMD_SERW =81
449
+ PI_CMD_SERDA =82
450
+
451
+ PI_CMD_GDC =83
452
+ PI_CMD_GPW =84
453
+
454
+ PI_CMD_HC =85
455
+ PI_CMD_HP =86
456
+
457
+ PI_CMD_CF1 =87
458
+ PI_CMD_CF2 =88
459
+
460
+ PI_CMD_BI2CC =89
461
+ PI_CMD_BI2CO =90
462
+ PI_CMD_BI2CZ =91
463
+
464
+ PI_CMD_I2CZ =92
465
+
466
+ PI_CMD_WVCHA =93
467
+
468
+ PI_CMD_SLRI =94
469
+
470
+ PI_CMD_CGI =95
471
+ PI_CMD_CSI =96
472
+
473
+ PI_CMD_FG =97
474
+ PI_CMD_FN =98
475
+
476
+ PI_CMD_NOIB =99
477
+
478
+ PI_CMD_WVTXM =100
479
+ PI_CMD_WVTAT =101
480
+
481
+ PI_CMD_PADS =102
482
+ PI_CMD_PADG =103
483
+
484
+ PI_CMD_FO =104
485
+ PI_CMD_FC =105
486
+ PI_CMD_FR =106
487
+ PI_CMD_FW =107
488
+ PI_CMD_FS =108
489
+ PI_CMD_FL =109
490
+
491
+ PI_CMD_SHELL =110
492
+
493
+ PI_CMD_BSPIC =111
494
+ PI_CMD_BSPIO =112
495
+ PI_CMD_BSPIX =113
496
+
497
+ PI_CMD_BSCX =114
498
+
499
+ PI_CMD_EVM =115
500
+ PI_CMD_EVT =116
501
+
502
+ #/*DEF_E*/
503
+
504
+ #/* pseudo commands */
505
+
506
+ PI_CMD_SCRIPT =800
507
+
508
+ PI_CMD_ADD =800
509
+ PI_CMD_AND =801
510
+ PI_CMD_CALL =802
511
+ PI_CMD_CMDR =803
512
+ PI_CMD_CMDW =804
513
+ PI_CMD_CMP =805
514
+ PI_CMD_DCR =806
515
+ PI_CMD_DCRA =807
516
+ PI_CMD_DIV =808
517
+ PI_CMD_HALT =809
518
+ PI_CMD_INR =810
519
+ PI_CMD_INRA =811
520
+ PI_CMD_JM =812
521
+ PI_CMD_JMP =813
522
+ PI_CMD_JNZ =814
523
+ PI_CMD_JP =815
524
+ PI_CMD_JZ =816
525
+ PI_CMD_TAG =817
526
+ PI_CMD_LD =818
527
+ PI_CMD_LDA =819
528
+ PI_CMD_LDAB =820
529
+ PI_CMD_MLT =821
530
+ PI_CMD_MOD =822
531
+ PI_CMD_NOP =823
532
+ PI_CMD_OR =824
533
+ PI_CMD_POP =825
534
+ PI_CMD_POPA =826
535
+ PI_CMD_PUSH =827
536
+ PI_CMD_PUSHA =828
537
+ PI_CMD_RET =829
538
+ PI_CMD_RL =830
539
+ PI_CMD_RLA =831
540
+ PI_CMD_RR =832
541
+ PI_CMD_RRA =833
542
+ PI_CMD_STA =834
543
+ PI_CMD_STAB =835
544
+ PI_CMD_SUB =836
545
+ PI_CMD_SYS =837
546
+ PI_CMD_WAIT =838
547
+ PI_CMD_X =839
548
+ PI_CMD_XA =840
549
+ PI_CMD_XOR =841
550
+ PI_CMD_EVTWT =842
551
+
552
+ #/*DEF_S Error Codes*/
553
+
554
+ PI_INIT_FAILED =-1 #Error Code: gpioInitialise failed
555
+ PI_BAD_USER_GPIO =-2 #Error Code: GPIO not 0-31
556
+ PI_BAD_GPIO =-3 #Error Code: GPIO not 0-53
557
+ PI_BAD_MODE =-4 #Error Code: mode not 0-7
558
+ PI_BAD_LEVEL =-5 #Error Code: level not 0-1
559
+ PI_BAD_PUD =-6 #Error Code: pud not 0-2
560
+ PI_BAD_PULSEWIDTH =-7 #Error Code: pulsewidth not 0 or 500-2500
561
+ PI_BAD_DUTYCYCLE =-8 #Error Code: dutycycle outside set range
562
+ PI_BAD_TIMER =-9 #Error Code: timer not 0-9
563
+ PI_BAD_MS =-10 #Error Code: ms not 10-60000
564
+ PI_BAD_TIMETYPE =-11 #Error Code: timetype not 0-1
565
+ PI_BAD_SECONDS =-12 #Error Code: seconds < 0
566
+ PI_BAD_MICROS =-13 #Error Code: micros not 0-999999
567
+ PI_TIMER_FAILED =-14 #Error Code: gpioSetTimerFunc failed
568
+ PI_BAD_WDOG_TIMEOUT =-15 #Error Code: timeout not 0-60000
569
+ PI_NO_ALERT_FUNC =-16 #Error Code: DEPRECATED
570
+ PI_BAD_CLK_PERIPH =-17 #Error Code: clock peripheral not 0-1
571
+ PI_BAD_CLK_SOURCE =-18 #Error Code: DEPRECATED
572
+ PI_BAD_CLK_MICROS =-19 #Error Code: clock micros not 1, 2, 4, 5, 8, or 10
573
+ PI_BAD_BUF_MILLIS =-20 #Error Code: buf millis not 100-10000
574
+ PI_BAD_DUTYRANGE =-21 #Error Code: dutycycle range not 25-40000
575
+ PI_BAD_DUTY_RANGE =-21 #Error Code: DEPRECATED (use PI_BAD_DUTYRANGE)
576
+ PI_BAD_SIGNUM =-22 #Error Code: signum not 0-63
577
+ PI_BAD_PATHNAME =-23 #Error Code: can't open pathname
578
+ PI_NO_HANDLE =-24 #Error Code: no handle available
579
+ PI_BAD_HANDLE =-25 #Error Code: unknown handle
580
+ PI_BAD_IF_FLAGS =-26 #Error Code: ifFlags > 3
581
+ PI_BAD_CHANNEL =-27 #Error Code: DMA channel not 0-14
582
+ PI_BAD_PRIM_CHANNEL =-27 #Error Code: DMA primary channel not 0-14
583
+ PI_BAD_SOCKET_PORT =-28 #Error Code: socket port not 1024-32000
584
+ PI_BAD_FIFO_COMMAND =-29 #Error Code: unrecognized fifo command
585
+ PI_BAD_SECO_CHANNEL =-30 #Error Code: DMA secondary channel not 0-6
586
+ PI_NOT_INITIALISED =-31 #Error Code: function called before gpioInitialise
587
+ PI_INITIALISED =-32 #Error Code: function called after gpioInitialise
588
+ PI_BAD_WAVE_MODE =-33 #Error Code: waveform mode not 0-3
589
+ PI_BAD_CFG_INTERNAL =-34 #Error Code: bad parameter in gpioCfgInternals call
590
+ PI_BAD_WAVE_BAUD =-35 #Error Code: baud rate not 50-250K(RX)/50-1M(TX)
591
+ PI_TOO_MANY_PULSES =-36 #Error Code: waveform has too many pulses
592
+ PI_TOO_MANY_CHARS =-37 #Error Code: waveform has too many chars
593
+ PI_NOT_SERIAL_GPIO =-38 #Error Code: no bit bang serial read on GPIO
594
+ PI_BAD_SERIAL_STRUC =-39 #Error Code: bad (null) serial structure parameter
595
+ PI_BAD_SERIAL_BUF =-40 #Error Code: bad (null) serial buf parameter
596
+ PI_NOT_PERMITTED =-41 #Error Code: GPIO operation not permitted
597
+ PI_SOME_PERMITTED =-42 #Error Code: one or more GPIO not permitted
598
+ PI_BAD_WVSC_COMMND =-43 #Error Code: bad WVSC subcommand
599
+ PI_BAD_WVSM_COMMND =-44 #Error Code: bad WVSM subcommand
600
+ PI_BAD_WVSP_COMMND =-45 #Error Code: bad WVSP subcommand
601
+ PI_BAD_PULSELEN =-46 #Error Code: trigger pulse length not 1-100
602
+ PI_BAD_SCRIPT =-47 #Error Code: invalid script
603
+ PI_BAD_SCRIPT_ID =-48 #Error Code: unknown script id
604
+ PI_BAD_SER_OFFSET =-49 #Error Code: add serial data offset > 30 minutes
605
+ PI_GPIO_IN_USE =-50 #Error Code: GPIO already in use
606
+ PI_BAD_SERIAL_COUNT =-51 #Error Code: must read at least a byte at a time
607
+ PI_BAD_PARAM_NUM =-52 #Error Code: script parameter id not 0-9
608
+ PI_DUP_TAG =-53 #Error Code: script has duplicate tag
609
+ PI_TOO_MANY_TAGS =-54 #Error Code: script has too many tags
610
+ PI_BAD_SCRIPT_CMD =-55 #Error Code: illegal script command
611
+ PI_BAD_VAR_NUM =-56 #Error Code: script variable id not 0-149
612
+ PI_NO_SCRIPT_ROOM =-57 #Error Code: no more room for scripts
613
+ PI_NO_MEMORY =-58 #Error Code: can't allocate temporary memory
614
+ PI_SOCK_READ_FAILED =-59 #Error Code: socket read failed
615
+ PI_SOCK_WRIT_FAILED =-60 #Error Code: socket write failed
616
+ PI_TOO_MANY_PARAM =-61 #Error Code: too many script parameters (> 10)
617
+ PI_NOT_HALTED =-62 #Error Code: DEPRECATED
618
+ PI_SCRIPT_NOT_READY =-62 #Error Code: script initialising
619
+ PI_BAD_TAG =-63 #Error Code: script has unresolved tag
620
+ PI_BAD_MICS_DELAY =-64 #Error Code: bad MICS delay (too large)
621
+ PI_BAD_MILS_DELAY =-65 #Error Code: bad MILS delay (too large)
622
+ PI_BAD_WAVE_ID =-66 #Error Code: non existent wave id
623
+ PI_TOO_MANY_CBS =-67 #Error Code: No more CBs for waveform
624
+ PI_TOO_MANY_OOL =-68 #Error Code: No more OOL for waveform
625
+ PI_EMPTY_WAVEFORM =-69 #Error Code: attempt to create an empty waveform
626
+ PI_NO_WAVEFORM_ID =-70 #Error Code: no more waveforms
627
+ PI_I2C_OPEN_FAILED =-71 #Error Code: can't open I2C device
628
+ PI_SER_OPEN_FAILED =-72 #Error Code: can't open serial device
629
+ PI_SPI_OPEN_FAILED =-73 #Error Code: can't open SPI device
630
+ PI_BAD_I2C_BUS =-74 #Error Code: bad I2C bus
631
+ PI_BAD_I2C_ADDR =-75 #Error Code: bad I2C address
632
+ PI_BAD_SPI_CHANNEL =-76 #Error Code: bad SPI channel
633
+ PI_BAD_FLAGS =-77 #Error Code: bad i2c/spi/ser open flags
634
+ PI_BAD_SPI_SPEED =-78 #Error Code: bad SPI speed
635
+ PI_BAD_SER_DEVICE =-79 #Error Code: bad serial device name
636
+ PI_BAD_SER_SPEED =-80 #Error Code: bad serial baud rate
637
+ PI_BAD_PARAM =-81 #Error Code: bad i2c/spi/ser parameter
638
+ PI_I2C_WRITE_FAILED =-82 #Error Code: i2c write failed
639
+ PI_I2C_READ_FAILED =-83 #Error Code: i2c read failed
640
+ PI_BAD_SPI_COUNT =-84 #Error Code: bad SPI count
641
+ PI_SER_WRITE_FAILED =-85 #Error Code: ser write failed
642
+ PI_SER_READ_FAILED =-86 #Error Code: ser read failed
643
+ PI_SER_READ_NO_DATA =-87 #Error Code: ser read no data available
644
+ PI_UNKNOWN_COMMAND =-88 #Error Code: unknown command
645
+ PI_SPI_XFER_FAILED =-89 #Error Code: spi xfer/read/write failed
646
+ PI_BAD_POINTER =-90 #Error Code: bad (NULL) pointer
647
+ PI_NO_AUX_SPI =-91 #Error Code: no auxiliary SPI on Pi A or B
648
+ PI_NOT_PWM_GPIO =-92 #Error Code: GPIO is not in use for PWM
649
+ PI_NOT_SERVO_GPIO =-93 #Error Code: GPIO is not in use for servo pulses
650
+ PI_NOT_HCLK_GPIO =-94 #Error Code: GPIO has no hardware clock
651
+ PI_NOT_HPWM_GPIO =-95 #Error Code: GPIO has no hardware PWM
652
+ PI_BAD_HPWM_FREQ =-96 #Error Code: hardware PWM frequency not 1-125M
653
+ PI_BAD_HPWM_DUTY =-97 #Error Code: hardware PWM dutycycle not 0-1M
654
+ PI_BAD_HCLK_FREQ =-98 #Error Code: hardware clock frequency not 4689-250M
655
+ PI_BAD_HCLK_PASS =-99 #Error Code: need password to use hardware clock 1
656
+ PI_HPWM_ILLEGAL =-100 #Error Code: illegal, PWM in use for main clock
657
+ PI_BAD_DATABITS =-101 #Error Code: serial data bits not 1-32
658
+ PI_BAD_STOPBITS =-102 #Error Code: serial (half) stop bits not 2-8
659
+ PI_MSG_TOOBIG =-103 #Error Code: socket/pipe message too big
660
+ PI_BAD_MALLOC_MODE =-104 #Error Code: bad memory allocation mode
661
+ PI_TOO_MANY_SEGS =-105 #Error Code: too many I2C transaction segments
662
+ PI_BAD_I2C_SEG =-106 #Error Code: an I2C transaction segment failed
663
+ PI_BAD_SMBUS_CMD =-107 #Error Code: SMBus command not supported by driver
664
+ PI_NOT_I2C_GPIO =-108 #Error Code: no bit bang I2C in progress on GPIO
665
+ PI_BAD_I2C_WLEN =-109 #Error Code: bad I2C write length
666
+ PI_BAD_I2C_RLEN =-110 #Error Code: bad I2C read length
667
+ PI_BAD_I2C_CMD =-111 #Error Code: bad I2C command
668
+ PI_BAD_I2C_BAUD =-112 #Error Code: bad I2C baud rate, not 50-500k
669
+ PI_CHAIN_LOOP_CNT =-113 #Error Code: bad chain loop count
670
+ PI_BAD_CHAIN_LOOP =-114 #Error Code: empty chain loop
671
+ PI_CHAIN_COUNTER =-115 #Error Code: too many chain counters
672
+ PI_BAD_CHAIN_CMD =-116 #Error Code: bad chain command
673
+ PI_BAD_CHAIN_DELAY =-117 #Error Code: bad chain delay micros
674
+ PI_CHAIN_NESTING =-118 #Error Code: chain counters nested too deeply
675
+ PI_CHAIN_TOO_BIG =-119 #Error Code: chain is too long
676
+ PI_DEPRECATED =-120 #Error Code: deprecated function removed
677
+ PI_BAD_SER_INVERT =-121 #Error Code: bit bang serial invert not 0 or 1
678
+ PI_BAD_EDGE =-122 #Error Code: bad ISR edge value, not 0-2
679
+ PI_BAD_ISR_INIT =-123 #Error Code: bad ISR initialisation
680
+ PI_BAD_FOREVER =-124 #Error Code: loop forever must be last command
681
+ PI_BAD_FILTER =-125 #Error Code: bad filter parameter
682
+ PI_BAD_PAD =-126 #Error Code: bad pad number
683
+ PI_BAD_STRENGTH =-127 #Error Code: bad pad drive strength
684
+ PI_FIL_OPEN_FAILED =-128 #Error Code: file open failed
685
+ PI_BAD_FILE_MODE =-129 #Error Code: bad file mode
686
+ PI_BAD_FILE_FLAG =-130 #Error Code: bad file flag
687
+ PI_BAD_FILE_READ =-131 #Error Code: bad file read
688
+ PI_BAD_FILE_WRITE =-132 #Error Code: bad file write
689
+ PI_FILE_NOT_ROPEN =-133 #Error Code: file not open for read
690
+ PI_FILE_NOT_WOPEN =-134 #Error Code: file not open for write
691
+ PI_BAD_FILE_SEEK =-135 #Error Code: bad file seek
692
+ PI_NO_FILE_MATCH =-136 #Error Code: no files match pattern
693
+ PI_NO_FILE_ACCESS =-137 #Error Code: no permission to access file
694
+ PI_FILE_IS_A_DIR =-138 #Error Code: file is a directory
695
+ PI_BAD_SHELL_STATUS=-139 #Error Code: bad shell return status
696
+ PI_BAD_SCRIPT_NAME =-140 #Error Code: bad script name
697
+ PI_BAD_SPI_BAUD =-141 #Error Code: bad SPI baud rate, not 50-500k
698
+ PI_NOT_SPI_GPIO =-142 #Error Code: no bit bang SPI in progress on GPIO
699
+ PI_BAD_EVENT_ID =-143 #Error Code: bad event id
700
+
701
+ PI_PIGIF_ERR_0 =-2000
702
+ PI_PIGIF_ERR_99 =-2099
703
+
704
+ PI_CUSTOM_ERR_0 =-3000
705
+ PI_CUSTOM_ERR_999 =-3999
706
+
707
+ #/*DEF_E*/
708
+
709
+ #/*DEF_S Defaults*/
710
+
711
+ PI_DEFAULT_BUFFER_MILLIS =120
712
+ PI_DEFAULT_CLK_MICROS =5
713
+ PI_DEFAULT_CLK_PERIPHERAL =PI_CLOCK_PCM
714
+ PI_DEFAULT_IF_FLAGS =0
715
+ PI_DEFAULT_FOREGROUND =0
716
+ PI_DEFAULT_DMA_CHANNEL =14
717
+ PI_DEFAULT_DMA_PRIMARY_CHANNEL =14
718
+ PI_DEFAULT_DMA_SECONDARY_CHANNEL =6
719
+ PI_DEFAULT_SOCKET_PORT =8888
720
+ PI_DEFAULT_SOCKET_PORT_STR ="8888"
721
+ PI_DEFAULT_SOCKET_ADDR_STR ="127.0.0.1"
722
+ PI_DEFAULT_UPDATE_MASK_UNKNOWN =0xFFFFFFFF
723
+ PI_DEFAULT_UPDATE_MASK_B1 =0x03E7CF93
724
+ PI_DEFAULT_UPDATE_MASK_A_B2 =0xFBC7CF9C
725
+ PI_DEFAULT_UPDATE_MASK_APLUS_BPLUS =0x0080480FFFFFFC
726
+ PI_DEFAULT_UPDATE_MASK_ZERO =0x0080000FFFFFFC
727
+ PI_DEFAULT_UPDATE_MASK_PI2B =0x0080480FFFFFFC
728
+ PI_DEFAULT_UPDATE_MASK_PI3B =0x0000000FFFFFFC
729
+ PI_DEFAULT_UPDATE_MASK_COMPUTE =0x00FFFFFFFFFFFF
730
+ PI_DEFAULT_MEM_ALLOC_MODE =PI_MEM_ALLOC_AUTO
731
+
732
+ PI_DEFAULT_CFG_INTERNALS =0
733
+
734
+ Pigif_bad_send = -2000
735
+ Pigif_bad_recv = -2001
736
+ Pigif_bad_getaddrinfo = -2002
737
+ Pigif_bad_connect = -2003
738
+ Pigif_bad_socket = -2004
739
+ Pigif_bad_noib = -2005
740
+ Pigif_duplicate_callback = -2006
741
+ Pigif_bad_malloc = -2007
742
+ Pigif_bad_callback = -2008
743
+ Pigif_notify_failed = -2009
744
+ Pigif_callback_not_found = -2010
745
+ Pigif_unconnected_pi = -2011
746
+ Pigif_too_many_pis = -2012
747
+ end
747
748
  end