pigpio 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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