pigpio 0.1.0

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