pigpio 0.1.8 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +4 -0
- data/example/loopback/readme.md +19 -0
- data/example/loopback/spi.rb +24 -0
- data/example/loopback/uart.rb +24 -0
- data/example/loopback/uart.svg +2690 -0
- data/example/simple/wave.rb +1 -1
- data/lib/pigpio.rb +15 -4
- data/lib/pigpio/bit_bang_serial.rb +19 -0
- data/lib/pigpio/bit_bang_serial_rx.rb +19 -0
- data/lib/pigpio/bit_bang_serial_tx.rb +41 -0
- data/lib/pigpio/constant.rb +642 -641
- data/lib/pigpio/gpio.rb +1 -3
- data/lib/pigpio/serial.rb +29 -0
- data/lib/pigpio/spi.rb +33 -0
- data/lib/pigpio/version.rb +1 -1
- data/lib/pigpio/wave.rb +2 -2
- data/pigpio.gemspec +1 -0
- metadata +12 -3
data/example/simple/wave.rb
CHANGED
data/lib/pigpio.rb
CHANGED
@@ -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
|
data/lib/pigpio/constant.rb
CHANGED
@@ -1,747 +1,748 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
class Pigpio
|
2
|
+
module Constant
|
3
|
+
#/* gpio: 0-53 */
|
3
4
|
|
4
|
-
|
5
|
-
|
5
|
+
PI_MIN_GPIO =0
|
6
|
+
PI_MAX_GPIO =53
|
6
7
|
|
7
|
-
|
8
|
+
#/* user_gpio: 0-31 */
|
8
9
|
|
9
|
-
|
10
|
+
PI_MAX_USER_GPIO =31
|
10
11
|
|
11
|
-
|
12
|
+
#/* level: 0-1 */
|
12
13
|
|
13
|
-
|
14
|
-
|
14
|
+
PI_OFF =0
|
15
|
+
PI_ON =1
|
15
16
|
|
16
|
-
|
17
|
-
|
17
|
+
PI_CLEAR =0
|
18
|
+
PI_SET =1
|
18
19
|
|
19
|
-
|
20
|
-
|
20
|
+
PI_LOW =0
|
21
|
+
PI_HIGH =1
|
21
22
|
|
22
|
-
|
23
|
+
#/* level: only reported for GPIO time-out, see gpioSetWatchdog */
|
23
24
|
|
24
|
-
|
25
|
+
PI_TIMEOUT =2
|
25
26
|
|
26
|
-
|
27
|
+
#/* mode: 0-7 */
|
27
28
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
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
|
-
|
38
|
+
#/* pud: 0-2 */
|
38
39
|
|
39
|
-
|
40
|
-
|
41
|
-
|
40
|
+
PI_PUD_OFF =0
|
41
|
+
PI_PUD_DOWN =1
|
42
|
+
PI_PUD_UP =2
|
42
43
|
|
43
|
-
|
44
|
+
#/* dutycycle: 0-range */
|
44
45
|
|
45
|
-
|
46
|
+
PI_DEFAULT_DUTYCYCLE_RANGE =255
|
46
47
|
|
47
|
-
|
48
|
+
#/* range: 25-40000 */
|
48
49
|
|
49
|
-
|
50
|
-
|
50
|
+
PI_MIN_DUTYCYCLE_RANGE =25
|
51
|
+
PI_MAX_DUTYCYCLE_RANGE =40000
|
51
52
|
|
52
|
-
|
53
|
+
#/* pulsewidth: 0, 500-2500 */
|
53
54
|
|
54
|
-
|
55
|
-
|
56
|
-
|
55
|
+
PI_SERVO_OFF =0
|
56
|
+
PI_MIN_SERVO_PULSEWIDTH =500
|
57
|
+
PI_MAX_SERVO_PULSEWIDTH =2500
|
57
58
|
|
58
|
-
|
59
|
+
#/* hardware PWM */
|
59
60
|
|
60
|
-
|
61
|
-
|
62
|
-
|
61
|
+
PI_HW_PWM_MIN_FREQ =1
|
62
|
+
PI_HW_PWM_MAX_FREQ =125000000
|
63
|
+
PI_HW_PWM_RANGE =1000000
|
63
64
|
|
64
|
-
|
65
|
+
#/* hardware clock */
|
65
66
|
|
66
|
-
|
67
|
-
|
67
|
+
PI_HW_CLK_MIN_FREQ =4689
|
68
|
+
PI_HW_CLK_MAX_FREQ =250000000
|
68
69
|
|
69
|
-
|
70
|
+
PI_NOTIFY_SLOTS =32
|
70
71
|
|
71
|
-
|
72
|
-
|
73
|
-
|
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
|
-
|
77
|
-
|
78
|
-
|
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
|
-
|
81
|
-
|
81
|
+
PI_BB_I2C_MIN_BAUD =50
|
82
|
+
PI_BB_I2C_MAX_BAUD =500000
|
82
83
|
|
83
|
-
|
84
|
-
|
84
|
+
PI_BB_SPI_MIN_BAUD =50
|
85
|
+
PI_BB_SPI_MAX_BAUD =250000
|
85
86
|
|
86
|
-
|
87
|
-
|
87
|
+
PI_BB_SER_MIN_BAUD =50
|
88
|
+
PI_BB_SER_MAX_BAUD =250000
|
88
89
|
|
89
|
-
|
90
|
-
|
90
|
+
PI_BB_SER_NORMAL =0
|
91
|
+
PI_BB_SER_INVERT =1
|
91
92
|
|
92
|
-
|
93
|
-
|
93
|
+
PI_WAVE_MIN_BAUD =50
|
94
|
+
PI_WAVE_MAX_BAUD =1000000
|
94
95
|
|
95
|
-
|
96
|
-
|
96
|
+
PI_SPI_MIN_BAUD =32000
|
97
|
+
PI_SPI_MAX_BAUD =125000000
|
97
98
|
|
98
|
-
|
99
|
-
|
99
|
+
PI_MIN_WAVE_DATABITS =1
|
100
|
+
PI_MAX_WAVE_DATABITS =32
|
100
101
|
|
101
|
-
|
102
|
-
|
102
|
+
PI_MIN_WAVE_HALFSTOPBITS =2
|
103
|
+
PI_MAX_WAVE_HALFSTOPBITS =8
|
103
104
|
|
104
|
-
|
105
|
+
PI_WAVE_MAX_MICROS =(30 * 60 * 1000000) #/* half an hour */
|
105
106
|
|
106
|
-
|
107
|
+
PI_MAX_WAVES =250
|
107
108
|
|
108
|
-
|
109
|
-
|
109
|
+
PI_MAX_WAVE_CYCLES =65535
|
110
|
+
PI_MAX_WAVE_DELAY =65535
|
110
111
|
|
111
|
-
|
112
|
+
PI_WAVE_COUNT_PAGES =10
|
112
113
|
|
113
|
-
|
114
|
+
#/* wave tx mode */
|
114
115
|
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
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
|
-
|
121
|
+
#/* special wave at return values */
|
121
122
|
|
122
|
-
|
123
|
-
|
123
|
+
PI_WAVE_NOT_FOUND =9998 #/* Transmitted wave not found. */
|
124
|
+
PI_NO_TX_WAVE =9999 #/* No wave being transmitted. */
|
124
125
|
|
125
|
-
|
126
|
+
#/* Files, I2C, SPI, SER */
|
126
127
|
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
128
|
+
PI_FILE_SLOTS =16
|
129
|
+
PI_I2C_SLOTS =64
|
130
|
+
PI_SPI_SLOTS =32
|
131
|
+
PI_SER_SLOTS =16
|
131
132
|
|
132
|
-
|
133
|
+
PI_MAX_I2C_ADDR =0x7F
|
133
134
|
|
134
|
-
|
135
|
-
|
135
|
+
PI_NUM_AUX_SPI_CHANNEL =3
|
136
|
+
PI_NUM_STD_SPI_CHANNEL =2
|
136
137
|
|
137
|
-
|
138
|
-
|
138
|
+
PI_MAX_I2C_DEVICE_COUNT =(1<<16)
|
139
|
+
PI_MAX_SPI_DEVICE_COUNT =(1<<16)
|
139
140
|
|
140
|
-
|
141
|
+
#/* max pi_i2c_msg_t per transaction */
|
141
142
|
|
142
|
-
|
143
|
+
PI_I2C_RDRW_IOCTL_MAX_MSGS =42
|
143
144
|
|
144
|
-
|
145
|
+
#/* flags for i2cTransaction, pi_i2c_msg_t */
|
145
146
|
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
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
|
-
|
156
|
+
#/* bbI2CZip and i2cZip commands */
|
156
157
|
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
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
|
-
|
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
|
-
|
181
|
+
#/* BSC registers */
|
181
182
|
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
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
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
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
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
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
|
-
|
217
|
+
#/* BSC GPIO */
|
217
218
|
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
219
|
+
BSC_SDA_MOSI =18
|
220
|
+
BSC_SCL_SCLK =19
|
221
|
+
BSC_MISO =20
|
222
|
+
BSC_CE_N =21
|
222
223
|
|
223
|
-
|
224
|
+
#/* Longest busy delay */
|
224
225
|
|
225
|
-
|
226
|
+
PI_MAX_BUSY_DELAY =100
|
226
227
|
|
227
|
-
|
228
|
+
#/* timeout: 0-60000 */
|
228
229
|
|
229
|
-
|
230
|
-
|
230
|
+
PI_MIN_WDOG_TIMEOUT =0
|
231
|
+
PI_MAX_WDOG_TIMEOUT =60000
|
231
232
|
|
232
|
-
|
233
|
+
#/* timer: 0-9 */
|
233
234
|
|
234
|
-
|
235
|
-
|
235
|
+
PI_MIN_TIMER =0
|
236
|
+
PI_MAX_TIMER =9
|
236
237
|
|
237
|
-
|
238
|
+
#/* millis: 10-60000 */
|
238
239
|
|
239
|
-
|
240
|
-
|
240
|
+
PI_MIN_MS =10
|
241
|
+
PI_MAX_MS =60000
|
241
242
|
|
242
|
-
|
243
|
+
PI_MAX_SCRIPTS =32
|
243
244
|
|
244
|
-
|
245
|
-
|
246
|
-
|
245
|
+
PI_MAX_SCRIPT_TAGS =50
|
246
|
+
PI_MAX_SCRIPT_VARS =150
|
247
|
+
PI_MAX_SCRIPT_PARAMS =10
|
247
248
|
|
248
|
-
|
249
|
+
#/* script status */
|
249
250
|
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
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
|
-
|
257
|
+
#/* signum: 0-63 */
|
257
258
|
|
258
|
-
|
259
|
-
|
259
|
+
PI_MIN_SIGNUM =0
|
260
|
+
PI_MAX_SIGNUM =63
|
260
261
|
|
261
|
-
|
262
|
+
#/* timetype: 0-1 */
|
262
263
|
|
263
|
-
|
264
|
-
|
264
|
+
PI_TIME_RELATIVE =0
|
265
|
+
PI_TIME_ABSOLUTE =1
|
265
266
|
|
266
|
-
|
267
|
-
|
267
|
+
PI_MAX_MICS_DELAY =1000000 #/* 1 second */
|
268
|
+
PI_MAX_MILS_DELAY =60000 #/* 60 seconds */
|
268
269
|
|
269
|
-
|
270
|
+
#/* cfgMillis */
|
270
271
|
|
271
|
-
|
272
|
-
|
272
|
+
PI_BUF_MILLIS_MIN =100
|
273
|
+
PI_BUF_MILLIS_MAX =10000
|
273
274
|
|
274
|
-
|
275
|
+
#/* cfgMicros: 1, 2, 4, 5, 8, or 10 */
|
275
276
|
|
276
|
-
|
277
|
+
#/* cfgPeripheral: 0-1 */
|
277
278
|
|
278
|
-
|
279
|
-
|
279
|
+
PI_CLOCK_PWM =0
|
280
|
+
PI_CLOCK_PCM =1
|
280
281
|
|
281
|
-
|
282
|
+
#/* DMA channel: 0-14 */
|
282
283
|
|
283
|
-
|
284
|
-
|
284
|
+
PI_MIN_DMA_CHANNEL =0
|
285
|
+
PI_MAX_DMA_CHANNEL =14
|
285
286
|
|
286
|
-
|
287
|
+
#/* port */
|
287
288
|
|
288
|
-
|
289
|
-
|
289
|
+
PI_MIN_SOCKET_PORT =1024
|
290
|
+
PI_MAX_SOCKET_PORT =32000
|
290
291
|
|
291
292
|
|
292
|
-
|
293
|
+
#/* ifFlags: */
|
293
294
|
|
294
|
-
|
295
|
-
|
296
|
-
|
295
|
+
PI_DISABLE_FIFO_IF =1
|
296
|
+
PI_DISABLE_SOCK_IF =2
|
297
|
+
PI_LOCALHOST_SOCK_IF =4
|
297
298
|
|
298
|
-
|
299
|
+
#/* memAllocMode */
|
299
300
|
|
300
|
-
|
301
|
-
|
302
|
-
|
301
|
+
PI_MEM_ALLOC_AUTO =0
|
302
|
+
PI_MEM_ALLOC_PAGEMAP =1
|
303
|
+
PI_MEM_ALLOC_MAILBOX =2
|
303
304
|
|
304
|
-
|
305
|
+
#/* filters */
|
305
306
|
|
306
|
-
|
307
|
-
|
307
|
+
PI_MAX_STEADY =300000
|
308
|
+
PI_MAX_ACTIVE =1000000
|
308
309
|
|
309
|
-
|
310
|
+
#/* gpioCfgInternals */
|
310
311
|
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
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
|
-
|
317
|
+
PI_CFG_ILLEGAL_VAL =(1<<10)
|
317
318
|
|
318
|
-
|
319
|
+
#/* gpioISR */
|
319
320
|
|
320
|
-
|
321
|
-
|
322
|
-
|
321
|
+
RISING_EDGE =0
|
322
|
+
FALLING_EDGE =1
|
323
|
+
EITHER_EDGE =2
|
323
324
|
|
324
325
|
|
325
|
-
|
326
|
+
#/* pads */
|
326
327
|
|
327
|
-
|
328
|
+
PI_MAX_PAD =2
|
328
329
|
|
329
|
-
|
330
|
-
|
330
|
+
PI_MIN_PAD_STRENGTH =1
|
331
|
+
PI_MAX_PAD_STRENGTH =16
|
331
332
|
|
332
|
-
|
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
|