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.
- 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
|