rgpio 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 (45) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +103 -0
  3. data/LICENSE +21 -0
  4. data/PLAN.md +347 -0
  5. data/README.md +969 -0
  6. data/examples/adc.rb +60 -0
  7. data/examples/adc_led.rb +44 -0
  8. data/examples/button.rb +33 -0
  9. data/examples/lcd.rb +47 -0
  10. data/examples/lcd_thermometer.rb +57 -0
  11. data/examples/led.rb +31 -0
  12. data/examples/lowlevel/blink.rb +46 -0
  13. data/examples/lowlevel/button.rb +69 -0
  14. data/examples/lowlevel/servo.rb +76 -0
  15. data/examples/motion_sensor.rb +70 -0
  16. data/examples/motor.rb +38 -0
  17. data/examples/pwm_info.rb +68 -0
  18. data/examples/pwm_jitter.rb +139 -0
  19. data/examples/pwm_led.rb +56 -0
  20. data/examples/rgb_balance.rb +65 -0
  21. data/examples/rgb_led.rb +72 -0
  22. data/examples/servo.rb +70 -0
  23. data/examples/temperature.rb +53 -0
  24. data/lib/rgpio/bytes.rb +12 -0
  25. data/lib/rgpio/chip.rb +271 -0
  26. data/lib/rgpio/devices/adt7410.rb +116 -0
  27. data/lib/rgpio/devices/device.rb +41 -0
  28. data/lib/rgpio/devices/input_device.rb +150 -0
  29. data/lib/rgpio/devices/mcp3208.rb +104 -0
  30. data/lib/rgpio/devices/motor.rb +51 -0
  31. data/lib/rgpio/devices/output_device.rb +66 -0
  32. data/lib/rgpio/devices/pwm_channel.rb +25 -0
  33. data/lib/rgpio/devices/pwm_output_device.rb +109 -0
  34. data/lib/rgpio/devices/rgb_led.rb +175 -0
  35. data/lib/rgpio/devices/servo.rb +161 -0
  36. data/lib/rgpio/devices/st7032.rb +234 -0
  37. data/lib/rgpio/i2c.rb +175 -0
  38. data/lib/rgpio/line_request.rb +184 -0
  39. data/lib/rgpio/native.rb +238 -0
  40. data/lib/rgpio/pwm.rb +321 -0
  41. data/lib/rgpio/software_pwm.rb +290 -0
  42. data/lib/rgpio/spi.rb +208 -0
  43. data/lib/rgpio/version.rb +3 -0
  44. data/lib/rgpio.rb +99 -0
  45. metadata +152 -0
metadata ADDED
@@ -0,0 +1,152 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rgpio
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - ITO Yosei
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: fiddle
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '1.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '1.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: minitest
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: rake
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: rubocop
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.90'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '1.90'
68
+ description: 'Control a Raspberry Pi''s hardware from Ruby. GPIO goes through libgpiod
69
+ v2 — the Linux GPIO character device (uAPI v2) — rather than the deprecated sysfs
70
+ interface. PWM is either the hardware peripheral through sysfs or timed in Ruby
71
+ on any line; I2C and SPI are ioctl calls on /dev/i2c-N and /dev/spidev, needing
72
+ no libgpiod at all. On top sits a gpiozero-style device layer: LED, Button, Motor,
73
+ PWMLED, RGBLED, Servo, and drivers for the ADT7410 temperature sensor, ST7032 character
74
+ LCD and MCP3208 ADC. Bound through the stdlib `fiddle`, which is built with the
75
+ interpreter and so matches any Pi''s architecture, unlike the precompiled `ffi`
76
+ gem.'
77
+ email:
78
+ - y-itou@lumber-mill.co.jp
79
+ executables: []
80
+ extensions: []
81
+ extra_rdoc_files: []
82
+ files:
83
+ - CHANGELOG.md
84
+ - LICENSE
85
+ - PLAN.md
86
+ - README.md
87
+ - examples/adc.rb
88
+ - examples/adc_led.rb
89
+ - examples/button.rb
90
+ - examples/lcd.rb
91
+ - examples/lcd_thermometer.rb
92
+ - examples/led.rb
93
+ - examples/lowlevel/blink.rb
94
+ - examples/lowlevel/button.rb
95
+ - examples/lowlevel/servo.rb
96
+ - examples/motion_sensor.rb
97
+ - examples/motor.rb
98
+ - examples/pwm_info.rb
99
+ - examples/pwm_jitter.rb
100
+ - examples/pwm_led.rb
101
+ - examples/rgb_balance.rb
102
+ - examples/rgb_led.rb
103
+ - examples/servo.rb
104
+ - examples/temperature.rb
105
+ - lib/rgpio.rb
106
+ - lib/rgpio/bytes.rb
107
+ - lib/rgpio/chip.rb
108
+ - lib/rgpio/devices/adt7410.rb
109
+ - lib/rgpio/devices/device.rb
110
+ - lib/rgpio/devices/input_device.rb
111
+ - lib/rgpio/devices/mcp3208.rb
112
+ - lib/rgpio/devices/motor.rb
113
+ - lib/rgpio/devices/output_device.rb
114
+ - lib/rgpio/devices/pwm_channel.rb
115
+ - lib/rgpio/devices/pwm_output_device.rb
116
+ - lib/rgpio/devices/rgb_led.rb
117
+ - lib/rgpio/devices/servo.rb
118
+ - lib/rgpio/devices/st7032.rb
119
+ - lib/rgpio/i2c.rb
120
+ - lib/rgpio/line_request.rb
121
+ - lib/rgpio/native.rb
122
+ - lib/rgpio/pwm.rb
123
+ - lib/rgpio/software_pwm.rb
124
+ - lib/rgpio/spi.rb
125
+ - lib/rgpio/version.rb
126
+ homepage: https://github.com/lumbermill/rgpio
127
+ licenses:
128
+ - MIT
129
+ metadata:
130
+ source_code_uri: https://github.com/lumbermill/rgpio
131
+ changelog_uri: https://github.com/lumbermill/rgpio/blob/main/CHANGELOG.md
132
+ bug_tracker_uri: https://github.com/lumbermill/rgpio/issues
133
+ rubygems_mfa_required: 'true'
134
+ rdoc_options: []
135
+ require_paths:
136
+ - lib
137
+ required_ruby_version: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: '3.3'
142
+ required_rubygems_version: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ requirements: []
148
+ rubygems_version: 4.0.10
149
+ specification_version: 4
150
+ summary: GPIO, PWM, I2C and SPI on Raspberry Pi, via libgpiod v2 and the Linux character
151
+ devices
152
+ test_files: []