wiringpi 1.1.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/ext/wiringpi/WiringPi/devLib/ds1302.c +240 -0
  3. data/ext/wiringpi/WiringPi/devLib/ds1302.h +44 -0
  4. data/ext/wiringpi/WiringPi/devLib/font.h +2577 -0
  5. data/ext/wiringpi/WiringPi/devLib/gertboard.c +164 -0
  6. data/ext/wiringpi/WiringPi/devLib/gertboard.h +45 -0
  7. data/ext/wiringpi/WiringPi/devLib/lcd.c +495 -0
  8. data/ext/wiringpi/WiringPi/devLib/lcd.h +52 -0
  9. data/ext/wiringpi/WiringPi/devLib/lcd128x64.c +673 -0
  10. data/ext/wiringpi/WiringPi/devLib/lcd128x64.h +39 -0
  11. data/ext/wiringpi/WiringPi/devLib/maxdetect.c +165 -0
  12. data/ext/wiringpi/{serial.h → WiringPi/devLib/maxdetect.h} +14 -15
  13. data/ext/wiringpi/WiringPi/devLib/piFace.c +112 -0
  14. data/ext/wiringpi/WiringPi/devLib/piFace.h +32 -0
  15. data/ext/wiringpi/WiringPi/devLib/piFaceOld.c +178 -0
  16. data/ext/wiringpi/WiringPi/devLib/piGlow.c +118 -0
  17. data/ext/wiringpi/WiringPi/devLib/piGlow.h +45 -0
  18. data/ext/wiringpi/WiringPi/devLib/piNes.c +113 -0
  19. data/ext/wiringpi/WiringPi/devLib/piNes.h +45 -0
  20. data/ext/wiringpi/WiringPi/examples/Gertboard/7segments.c +221 -0
  21. data/ext/wiringpi/WiringPi/examples/Gertboard/buttons.c +83 -0
  22. data/ext/wiringpi/WiringPi/examples/Gertboard/gertboard.c +96 -0
  23. data/ext/wiringpi/WiringPi/examples/Gertboard/record.c +60 -0
  24. data/ext/wiringpi/WiringPi/examples/Gertboard/temperature.c +78 -0
  25. data/ext/wiringpi/WiringPi/examples/Gertboard/voltmeter.c +73 -0
  26. data/ext/wiringpi/WiringPi/examples/Gertboard/vumeter.c +152 -0
  27. data/ext/wiringpi/WiringPi/examples/PiFace/blink.c +59 -0
  28. data/ext/wiringpi/WiringPi/examples/PiFace/buttons.c +103 -0
  29. data/ext/wiringpi/WiringPi/examples/PiFace/ladder.c +337 -0
  30. data/ext/wiringpi/WiringPi/examples/PiFace/metro.c +111 -0
  31. data/ext/wiringpi/WiringPi/examples/PiFace/motor.c +120 -0
  32. data/ext/wiringpi/WiringPi/examples/PiFace/reaction.c +194 -0
  33. data/ext/wiringpi/WiringPi/examples/PiGlow/piGlow0.c +51 -0
  34. data/ext/wiringpi/WiringPi/examples/PiGlow/piGlow1.c +258 -0
  35. data/ext/wiringpi/WiringPi/examples/PiGlow/piglow.c +176 -0
  36. data/ext/wiringpi/WiringPi/examples/blink.c +48 -0
  37. data/ext/wiringpi/WiringPi/examples/blink12.c +111 -0
  38. data/ext/wiringpi/WiringPi/examples/blink12drcs.c +125 -0
  39. data/ext/wiringpi/WiringPi/examples/blink6drcs.c +115 -0
  40. data/ext/wiringpi/WiringPi/examples/blink8.c +57 -0
  41. data/ext/wiringpi/WiringPi/examples/clock.c +201 -0
  42. data/ext/wiringpi/WiringPi/examples/delayTest.c +107 -0
  43. data/ext/wiringpi/WiringPi/examples/ds1302.c +238 -0
  44. data/ext/wiringpi/WiringPi/examples/header.h +23 -0
  45. data/ext/wiringpi/WiringPi/examples/isr-osc.c +118 -0
  46. data/ext/wiringpi/WiringPi/examples/isr.c +110 -0
  47. data/ext/wiringpi/WiringPi/examples/lcd-adafruit.c +347 -0
  48. data/ext/wiringpi/WiringPi/examples/lcd.c +286 -0
  49. data/ext/wiringpi/WiringPi/examples/lowPower.c +68 -0
  50. data/ext/wiringpi/WiringPi/examples/nes.c +67 -0
  51. data/ext/wiringpi/WiringPi/examples/okLed.c +82 -0
  52. data/ext/wiringpi/WiringPi/examples/pwm.c +58 -0
  53. data/ext/wiringpi/WiringPi/examples/q2w/binary.c +79 -0
  54. data/ext/wiringpi/WiringPi/examples/q2w/blink-io.c +61 -0
  55. data/ext/wiringpi/WiringPi/examples/q2w/blink.c +50 -0
  56. data/ext/wiringpi/WiringPi/examples/q2w/bright.c +59 -0
  57. data/ext/wiringpi/WiringPi/examples/q2w/button.c +63 -0
  58. data/ext/wiringpi/WiringPi/examples/q2w/volts.c +62 -0
  59. data/ext/wiringpi/WiringPi/examples/rht03.c +69 -0
  60. data/ext/wiringpi/WiringPi/examples/serialRead.c +48 -0
  61. data/ext/wiringpi/WiringPi/examples/serialTest.c +75 -0
  62. data/ext/wiringpi/WiringPi/examples/servo.c +57 -0
  63. data/ext/wiringpi/WiringPi/examples/softPwm.c +89 -0
  64. data/ext/wiringpi/WiringPi/examples/softTone.c +54 -0
  65. data/ext/wiringpi/WiringPi/examples/speed.c +95 -0
  66. data/ext/wiringpi/WiringPi/examples/spiSpeed.c +118 -0
  67. data/ext/wiringpi/WiringPi/examples/wfi.c +161 -0
  68. data/ext/wiringpi/WiringPi/gpio/gpio.c +1351 -0
  69. data/ext/wiringpi/WiringPi/gpio/pins.c +33 -0
  70. data/ext/wiringpi/WiringPi/gpio/readall.c +334 -0
  71. data/ext/wiringpi/WiringPi/gpio/version.h +1 -0
  72. data/ext/wiringpi/WiringPi/wiringPi/drcSerial.c +201 -0
  73. data/ext/wiringpi/WiringPi/wiringPi/drcSerial.h +33 -0
  74. data/ext/wiringpi/WiringPi/wiringPi/max31855.c +81 -0
  75. data/ext/wiringpi/WiringPi/wiringPi/max31855.h +33 -0
  76. data/ext/wiringpi/WiringPi/wiringPi/max5322.c +84 -0
  77. data/ext/wiringpi/WiringPi/wiringPi/max5322.h +33 -0
  78. data/ext/wiringpi/WiringPi/wiringPi/mcp23008.c +149 -0
  79. data/ext/wiringpi/WiringPi/wiringPi/mcp23008.h +33 -0
  80. data/ext/wiringpi/WiringPi/wiringPi/mcp23016.c +164 -0
  81. data/ext/wiringpi/WiringPi/wiringPi/mcp23016.h +33 -0
  82. data/ext/wiringpi/WiringPi/wiringPi/mcp23016reg.h +48 -0
  83. data/ext/wiringpi/WiringPi/wiringPi/mcp23017.c +195 -0
  84. data/ext/wiringpi/WiringPi/wiringPi/mcp23017.h +33 -0
  85. data/ext/wiringpi/WiringPi/wiringPi/mcp23s08.c +189 -0
  86. data/ext/wiringpi/WiringPi/wiringPi/mcp23s08.h +33 -0
  87. data/ext/wiringpi/WiringPi/wiringPi/mcp23s17.c +236 -0
  88. data/ext/wiringpi/WiringPi/wiringPi/mcp23s17.h +33 -0
  89. data/ext/wiringpi/WiringPi/wiringPi/mcp23x08.h +73 -0
  90. data/ext/wiringpi/WiringPi/wiringPi/mcp23x0817.h +87 -0
  91. data/ext/wiringpi/WiringPi/wiringPi/mcp3002.c +76 -0
  92. data/ext/wiringpi/WiringPi/wiringPi/mcp3002.h +33 -0
  93. data/ext/wiringpi/WiringPi/wiringPi/mcp3004.c +76 -0
  94. data/ext/wiringpi/WiringPi/wiringPi/mcp3004.h +33 -0
  95. data/ext/wiringpi/WiringPi/wiringPi/mcp3422.c +110 -0
  96. data/ext/wiringpi/WiringPi/wiringPi/mcp3422.h +43 -0
  97. data/ext/wiringpi/WiringPi/wiringPi/mcp4802.c +76 -0
  98. data/ext/wiringpi/WiringPi/wiringPi/mcp4802.h +33 -0
  99. data/ext/wiringpi/WiringPi/wiringPi/pcf8574.c +126 -0
  100. data/ext/wiringpi/WiringPi/wiringPi/pcf8574.h +33 -0
  101. data/ext/wiringpi/WiringPi/wiringPi/pcf8591.c +90 -0
  102. data/ext/wiringpi/WiringPi/wiringPi/pcf8591.h +33 -0
  103. data/ext/wiringpi/WiringPi/wiringPi/piHiPri.c +51 -0
  104. data/ext/wiringpi/WiringPi/wiringPi/piThread.c +63 -0
  105. data/ext/wiringpi/WiringPi/wiringPi/sn3218.c +75 -0
  106. data/ext/wiringpi/WiringPi/wiringPi/sn3218.h +33 -0
  107. data/ext/wiringpi/WiringPi/wiringPi/softPwm.c +166 -0
  108. data/ext/wiringpi/WiringPi/wiringPi/softPwm.h +35 -0
  109. data/ext/wiringpi/WiringPi/wiringPi/softServo.c +211 -0
  110. data/ext/wiringpi/WiringPi/wiringPi/softServo.h +35 -0
  111. data/ext/wiringpi/WiringPi/wiringPi/softTone.c +150 -0
  112. data/ext/wiringpi/WiringPi/wiringPi/softTone.h +39 -0
  113. data/ext/wiringpi/WiringPi/wiringPi/sr595.c +109 -0
  114. data/ext/wiringpi/WiringPi/wiringPi/sr595.h +34 -0
  115. data/ext/wiringpi/WiringPi/wiringPi/wiringPi.c +2007 -0
  116. data/ext/wiringpi/WiringPi/wiringPi/wiringPi.h +224 -0
  117. data/ext/wiringpi/WiringPi/wiringPi/wiringPiI2C.c +232 -0
  118. data/ext/wiringpi/WiringPi/wiringPi/wiringPiI2C.h +42 -0
  119. data/ext/wiringpi/WiringPi/wiringPi/wiringPiSPI.c +136 -0
  120. data/ext/wiringpi/WiringPi/wiringPi/wiringPiSPI.h +36 -0
  121. data/ext/wiringpi/{serial.c → WiringPi/wiringPi/wiringSerial.c} +38 -29
  122. data/ext/wiringpi/WiringPi/wiringPi/wiringSerial.h +38 -0
  123. data/ext/wiringpi/{wiringShift.c → WiringPi/wiringPi/wiringShift.c} +3 -4
  124. data/ext/wiringpi/{wiringShift.h → WiringPi/wiringPi/wiringShift.h} +5 -5
  125. data/ext/wiringpi/WiringPi/wiringPi/wpiExtensions.c +731 -0
  126. data/ext/wiringpi/WiringPi/wiringPi/wpiExtensions.h +26 -0
  127. data/ext/wiringpi/extconf.rb +7 -1
  128. data/ext/wiringpi/wiringpi_wrap.c +1741 -218
  129. data/lib/wiringpi.rb +24 -222
  130. data/lib/wiringpi/event.rb +21 -0
  131. data/lib/wiringpi/gpio.rb +139 -0
  132. data/lib/wiringpi/i2c.rb +26 -0
  133. data/lib/wiringpi/mcp23x17.rb +31 -0
  134. data/lib/wiringpi/serial.rb +49 -0
  135. data/lib/wiringpi/spi.rb +15 -0
  136. metadata +146 -22
  137. data/ext/wiringpi/wiringPi.c +0 -729
  138. data/ext/wiringpi/wiringPi.h +0 -69
@@ -0,0 +1,58 @@
1
+ /*
2
+ * pwm.c:
3
+ * This tests the hardware PWM channel.
4
+ *
5
+ * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
6
+ ***********************************************************************
7
+ * This file is part of wiringPi:
8
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
9
+ *
10
+ * wiringPi is free software: you can redistribute it and/or modify
11
+ * it under the terms of the GNU Lesser General Public License as published by
12
+ * the Free Software Foundation, either version 3 of the License, or
13
+ * (at your option) any later version.
14
+ *
15
+ * wiringPi is distributed in the hope that it will be useful,
16
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ * GNU Lesser General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Lesser General Public License
21
+ * along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
22
+ ***********************************************************************
23
+ */
24
+
25
+ #include <wiringPi.h>
26
+
27
+ #include <stdio.h>
28
+ #include <stdlib.h>
29
+ #include <stdint.h>
30
+
31
+ int main (void)
32
+ {
33
+ int bright ;
34
+
35
+ printf ("Raspberry Pi wiringPi PWM test program\n") ;
36
+
37
+ if (wiringPiSetup () == -1)
38
+ exit (1) ;
39
+
40
+ pinMode (1, PWM_OUTPUT) ;
41
+
42
+ for (;;)
43
+ {
44
+ for (bright = 0 ; bright < 1024 ; ++bright)
45
+ {
46
+ pwmWrite (1, bright) ;
47
+ delay (1) ;
48
+ }
49
+
50
+ for (bright = 1023 ; bright >= 0 ; --bright)
51
+ {
52
+ pwmWrite (1, bright) ;
53
+ delay (1) ;
54
+ }
55
+ }
56
+
57
+ return 0 ;
58
+ }
@@ -0,0 +1,79 @@
1
+ /*
2
+ * binary.c:
3
+ * Using the Quick 2 wire 16-bit GPIO expansion board to output
4
+ * a binary counter.
5
+ *
6
+ * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
7
+ ***********************************************************************
8
+ * This file is part of wiringPi:
9
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
10
+ *
11
+ * wiringPi is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU Lesser General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * (at your option) any later version.
15
+ *
16
+ * wiringPi is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU Lesser General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU Lesser General Public License
22
+ * along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
23
+ ***********************************************************************
24
+ */
25
+
26
+ #include <stdio.h>
27
+ #include <wiringPi.h>
28
+ #include <mcp23017.h>
29
+
30
+ #define Q2W_BASE 100
31
+
32
+ int main (void)
33
+ {
34
+ int i, bit ;
35
+
36
+ // Enable the on-goard GPIO
37
+
38
+ wiringPiSetup () ;
39
+
40
+ // Add in the mcp23017 on the q2w board
41
+
42
+ mcp23017Setup (Q2W_BASE, 0x20) ;
43
+
44
+ printf ("Raspberry Pi - quite2Wire MCP23017 Test\n") ;
45
+
46
+ // On-board button Input:
47
+
48
+ pinMode (0, INPUT) ;
49
+
50
+ // First 10 pins on q2w board as outputs:
51
+
52
+ for (i = 0 ; i < 10 ; ++i)
53
+ pinMode (Q2W_BASE + i, OUTPUT) ;
54
+
55
+ // Last pin as an input with the internal pull-up enabled
56
+
57
+ pinMode (Q2W_BASE + 15, INPUT) ;
58
+ pullUpDnControl (Q2W_BASE + 15, PUD_UP) ;
59
+
60
+ // Loop, outputting a binary number,
61
+ // Go faster with the button, or stop if the
62
+ // on-board button is pushed
63
+
64
+ for (;;)
65
+ {
66
+ for (i = 0 ; i < 1024 ; ++i)
67
+ {
68
+ for (bit = 0 ; bit < 10 ; ++bit)
69
+ digitalWrite (Q2W_BASE + bit, i & (1 << bit)) ;
70
+
71
+ while (digitalRead (0) == HIGH) // While pushed
72
+ delay (1) ;
73
+
74
+ if (digitalRead (Q2W_BASE + 15) == HIGH) // Not Pushed
75
+ delay (100) ;
76
+ }
77
+ }
78
+ return 0 ;
79
+ }
@@ -0,0 +1,61 @@
1
+ /*
2
+ * blink-io.c:
3
+ * Simple "blink" test for the Quick2Wire 16-pin IO board.
4
+ *
5
+ * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
6
+ ***********************************************************************
7
+ * This file is part of wiringPi:
8
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
9
+ *
10
+ * wiringPi is free software: you can redistribute it and/or modify
11
+ * it under the terms of the GNU Lesser General Public License as published by
12
+ * the Free Software Foundation, either version 3 of the License, or
13
+ * (at your option) any later version.
14
+ *
15
+ * wiringPi is distributed in the hope that it will be useful,
16
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ * GNU Lesser General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Lesser General Public License
21
+ * along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
22
+ ***********************************************************************
23
+ */
24
+
25
+ #include <stdio.h>
26
+ #include <wiringPi.h>
27
+ #include <mcp23017.h>
28
+
29
+ #define LED 1
30
+ #define Q2W_BASE 100
31
+
32
+ int main (void)
33
+ {
34
+
35
+ // Enable the on-goard GPIO
36
+
37
+ wiringPiSetup () ;
38
+
39
+ // Add in the mcp23017 on the q2w board
40
+
41
+ mcp23017Setup (Q2W_BASE, 0x20) ;
42
+
43
+ printf ("Raspberry Pi - Quick2Wire MCP23017 Blink Test\n") ;
44
+
45
+ // Blink the on-board LED as well as one on the mcp23017
46
+
47
+ pinMode (LED, OUTPUT) ;
48
+ pinMode (Q2W_BASE + 0, OUTPUT) ;
49
+
50
+ for (;;)
51
+ {
52
+ digitalWrite (LED, HIGH) ;
53
+ digitalWrite (Q2W_BASE + 0, HIGH) ;
54
+ delay (500) ;
55
+ digitalWrite (LED, LOW) ;
56
+ digitalWrite (Q2W_BASE + 0, LOW) ;
57
+ delay (500) ;
58
+ }
59
+
60
+ return 0 ;
61
+ }
@@ -0,0 +1,50 @@
1
+ /*
2
+ * blink.c:
3
+ * Simple "blink" test for the Quick2Wire interface board.
4
+ *
5
+ * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
6
+ ***********************************************************************
7
+ * This file is part of wiringPi:
8
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
9
+ *
10
+ * wiringPi is free software: you can redistribute it and/or modify
11
+ * it under the terms of the GNU Lesser General Public License as published by
12
+ * the Free Software Foundation, either version 3 of the License, or
13
+ * (at your option) any later version.
14
+ *
15
+ * wiringPi is distributed in the hope that it will be useful,
16
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ * GNU Lesser General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Lesser General Public License
21
+ * along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
22
+ ***********************************************************************
23
+ */
24
+
25
+ #include <stdio.h>
26
+ #include <wiringPi.h>
27
+
28
+ #define LED 1
29
+
30
+ int main (void)
31
+ {
32
+
33
+ // Enable the on-goard GPIO
34
+
35
+ wiringPiSetup () ;
36
+
37
+ printf ("Raspberry Pi - Quick2Wire Mainboard LED Blink Test\n") ;
38
+
39
+ pinMode (LED, OUTPUT) ;
40
+
41
+ for (;;)
42
+ {
43
+ digitalWrite (LED, HIGH) ;
44
+ delay (500) ;
45
+ digitalWrite (LED, LOW) ;
46
+ delay (500) ;
47
+ }
48
+
49
+ return 0 ;
50
+ }
@@ -0,0 +1,59 @@
1
+ /*
2
+ * bright.c:
3
+ * Vary the Q2W LED brightness with the analog card
4
+ *
5
+ * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
6
+ ***********************************************************************
7
+ * This file is part of wiringPi:
8
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
9
+ *
10
+ * wiringPi is free software: you can redistribute it and/or modify
11
+ * it under the terms of the GNU Lesser General Public License as published by
12
+ * the Free Software Foundation, either version 3 of the License, or
13
+ * (at your option) any later version.
14
+ *
15
+ * wiringPi is distributed in the hope that it will be useful,
16
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ * GNU Lesser General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Lesser General Public License
21
+ * along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
22
+ ***********************************************************************
23
+ */
24
+
25
+ #include <stdio.h>
26
+ #include <wiringPi.h>
27
+ #include <pcf8591.h>
28
+
29
+ #define LED 1
30
+ #define Q2W_ABASE 120
31
+
32
+ int main (void)
33
+ {
34
+ int value ;
35
+
36
+ // Enable the on-goard GPIO
37
+
38
+ wiringPiSetup () ;
39
+
40
+ // Add in the pcf8591 on the q2w board
41
+
42
+ pcf8591Setup (Q2W_ABASE, 0x48) ;
43
+
44
+ printf ("Raspberry Pi - Quick2Wire Analog Test\n") ;
45
+
46
+ // Setup the LED
47
+
48
+ pinMode (LED, PWM_OUTPUT) ;
49
+ pwmWrite (LED, 0) ;
50
+
51
+ for (;;)
52
+ {
53
+ value = analogRead (Q2W_ABASE + 0) ;
54
+ pwmWrite (LED, value * 4) ;
55
+ delay (10) ;
56
+ }
57
+
58
+ return 0 ;
59
+ }
@@ -0,0 +1,63 @@
1
+ /*
2
+ * button.c:
3
+ * Simple button test for the Quick2Wire interface board.
4
+ *
5
+ * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
6
+ ***********************************************************************
7
+ * This file is part of wiringPi:
8
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
9
+ *
10
+ * wiringPi is free software: you can redistribute it and/or modify
11
+ * it under the terms of the GNU Lesser General Public License as published by
12
+ * the Free Software Foundation, either version 3 of the License, or
13
+ * (at your option) any later version.
14
+ *
15
+ * wiringPi is distributed in the hope that it will be useful,
16
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ * GNU Lesser General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Lesser General Public License
21
+ * along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
22
+ ***********************************************************************
23
+ */
24
+
25
+ #include <stdio.h>
26
+ #include <wiringPi.h>
27
+
28
+ #define BUTTON 0
29
+ #define LED1 1
30
+ #define LED2 7
31
+
32
+ int main (void)
33
+ {
34
+
35
+ // Enable the on-goard GPIO
36
+
37
+ wiringPiSetup () ;
38
+
39
+ printf ("Raspberry Pi - Quick2Wire Mainboard Button & LED Test\n") ;
40
+
41
+ pinMode (BUTTON, INPUT) ;
42
+ pinMode (LED1, OUTPUT) ;
43
+ pinMode (LED2, OUTPUT) ;
44
+
45
+ digitalWrite (LED1, HIGH) ; // On-board LED on
46
+ digitalWrite (LED2, LOW) ; // 2nd LED off
47
+
48
+ for (;;)
49
+ {
50
+ if (digitalRead (BUTTON) == HIGH) // Swap LED states
51
+ {
52
+ digitalWrite (LED1, LOW) ;
53
+ digitalWrite (LED2, HIGH) ;
54
+ while (digitalRead (BUTTON) == HIGH)
55
+ delay (1) ;
56
+ digitalWrite (LED1, HIGH) ;
57
+ digitalWrite (LED2, LOW) ;
58
+ }
59
+ delay (1) ;
60
+ }
61
+
62
+ return 0 ;
63
+ }
@@ -0,0 +1,62 @@
1
+ /*
2
+ * volts.c:
3
+ * Read in all 4 analogs on the Q2W analog board.
4
+ *
5
+ * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
6
+ ***********************************************************************
7
+ * This file is part of wiringPi:
8
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
9
+ *
10
+ * wiringPi is free software: you can redistribute it and/or modify
11
+ * it under the terms of the GNU Lesser General Public License as published by
12
+ * the Free Software Foundation, either version 3 of the License, or
13
+ * (at your option) any later version.
14
+ *
15
+ * wiringPi is distributed in the hope that it will be useful,
16
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ * GNU Lesser General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Lesser General Public License
21
+ * along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
22
+ ***********************************************************************
23
+ */
24
+
25
+ #include <stdio.h>
26
+ #include <wiringPi.h>
27
+ #include <pcf8591.h>
28
+
29
+ #define LED 1
30
+ #define Q2W_ABASE 120
31
+
32
+ int main (void)
33
+ {
34
+ int value, pin ;
35
+
36
+ // Enable the on-goard GPIO
37
+
38
+ wiringPiSetup () ;
39
+
40
+ pinMode (LED, OUTPUT) ; // On-board LED
41
+
42
+ // Add in the pcf8591 on the q2w board
43
+
44
+ pcf8591Setup (Q2W_ABASE, 0x48) ;
45
+
46
+ printf ("Raspberry Pi - Quick2Wire Voltmeter\n") ;
47
+
48
+ for (;;)
49
+ {
50
+ for (pin = 0 ; pin < 4 ; ++pin)
51
+ {
52
+ value = analogRead (Q2W_ABASE + pin) ;
53
+ printf (" %5.2f", (double)value * 3.3 / 255.0) ;
54
+ }
55
+ printf ("\r") ; fflush (stdout) ;
56
+
57
+ delay (100) ;
58
+ digitalWrite (LED, !digitalRead (LED)) ; // Flicker the LED
59
+ }
60
+
61
+ return 0 ;
62
+ }
@@ -0,0 +1,69 @@
1
+ /*
2
+ * rht03.c:
3
+ * Driver for the MaxDetect series sensors
4
+ *
5
+ * Copyright (c) 2012-2013 Gordon Henderson. <projects@drogon.net>
6
+ ***********************************************************************
7
+ * This file is part of wiringPi:
8
+ * https://projects.drogon.net/raspberry-pi/wiringpi/
9
+ *
10
+ * wiringPi is free software: you can redistribute it and/or modify
11
+ * it under the terms of the GNU Lesser General Public License as published by
12
+ * the Free Software Foundation, either version 3 of the License, or
13
+ * (at your option) any later version.
14
+ *
15
+ * wiringPi is distributed in the hope that it will be useful,
16
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ * GNU Lesser General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU Lesser General Public License
21
+ * along with wiringPi. If not, see <http://www.gnu.org/licenses/>.
22
+ ***********************************************************************
23
+ */
24
+
25
+ #include <stdio.h>
26
+
27
+ #include <wiringPi.h>
28
+ #include <maxdetect.h>
29
+
30
+ #define RHT03_PIN 0
31
+
32
+ /*
33
+ ***********************************************************************
34
+ * The main program
35
+ ***********************************************************************
36
+ */
37
+
38
+ int main (void)
39
+ {
40
+ int temp, rh ;
41
+ int newTemp, newRh ;
42
+
43
+ temp = rh = newTemp = newRh = 0 ;
44
+
45
+ wiringPiSetup () ;
46
+ piHiPri (55) ;
47
+
48
+ for (;;)
49
+ {
50
+ delay (100) ;
51
+
52
+ if (!readRHT03 (RHT03_PIN, &newTemp, &newRh))
53
+ continue ;
54
+
55
+ if ((temp != newTemp) || (rh != newRh))
56
+ {
57
+ temp = newTemp ;
58
+ rh = newRh ;
59
+ if ((temp & 0x8000) != 0) // Negative
60
+ {
61
+ temp &= 0x7FFF ;
62
+ temp = -temp ;
63
+ }
64
+ printf ("Temp: %5.1f, RH: %5.1f%%\n", temp / 10.0, rh / 10.0) ;
65
+ }
66
+ }
67
+
68
+ return 0 ;
69
+ }