denko 0.14.0 → 0.15.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 (344) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build_atmega_avr.yml +2 -1
  3. data/.github/workflows/build_atmega_megaavr.yml +2 -1
  4. data/.github/workflows/build_atsam3x.yml +1 -0
  5. data/.github/workflows/build_atsamd21.yml +2 -1
  6. data/.github/workflows/build_esp32.yml +4 -2
  7. data/.github/workflows/build_esp32c3.yml +4 -3
  8. data/.github/workflows/build_esp32c6.yml +4 -2
  9. data/.github/workflows/build_esp32h2.yml +4 -2
  10. data/.github/workflows/build_esp32s2.yml +4 -2
  11. data/.github/workflows/build_esp32s3.yml +4 -2
  12. data/.github/workflows/build_esp8266.yml +2 -1
  13. data/.github/workflows/build_ra4m1.yml +1 -0
  14. data/.github/workflows/build_rp2040.yml +4 -3
  15. data/.github/workflows/ruby.yml +1 -1
  16. data/CHANGELOG.md +203 -0
  17. data/DEPS_CLI.md +16 -16
  18. data/DEPS_IDE.md +31 -30
  19. data/MICROCONTROLLERS.md +103 -0
  20. data/PERIPHERALS.md +178 -0
  21. data/README.md +28 -21
  22. data/denko.gemspec +6 -1
  23. data/lib/denko/analog_io/ads1118.rb +5 -5
  24. data/lib/denko/analog_io/ads111x.rb +23 -19
  25. data/lib/denko/analog_io/joystick.rb +87 -0
  26. data/lib/denko/analog_io/potentiometer.rb +1 -5
  27. data/lib/denko/analog_io.rb +22 -8
  28. data/lib/denko/behaviors/bus_controller.rb +2 -1
  29. data/lib/denko/behaviors/bus_peripheral.rb +1 -1
  30. data/lib/denko/behaviors/callbacks.rb +18 -16
  31. data/lib/denko/behaviors/component.rb +0 -4
  32. data/lib/denko/behaviors/lifecycle.rb +1 -1
  33. data/lib/denko/behaviors/listener.rb +9 -3
  34. data/lib/denko/behaviors/multi_pin.rb +4 -6
  35. data/lib/denko/behaviors/poller.rb +11 -2
  36. data/lib/denko/behaviors/reader.rb +109 -21
  37. data/lib/denko/behaviors/single_pin.rb +2 -4
  38. data/lib/denko/behaviors/state.rb +18 -13
  39. data/lib/denko/behaviors/threaded.rb +19 -8
  40. data/lib/denko/behaviors.rb +36 -23
  41. data/lib/denko/board/eeprom.rb +1 -1
  42. data/lib/denko/board/i2c.rb +1 -1
  43. data/lib/denko/board/i2c_bit_bang.rb +9 -5
  44. data/lib/denko/board/map.rb +6 -2
  45. data/lib/denko/board/one_wire.rb +3 -3
  46. data/lib/denko/board/spi.rb +30 -30
  47. data/lib/denko/board/spi_bit_bang.rb +8 -11
  48. data/lib/denko/board.rb +6 -3
  49. data/lib/denko/connection/flow_control.rb +1 -1
  50. data/lib/denko/connection/serial.rb +5 -5
  51. data/lib/denko/digital_io/output.rb +12 -4
  52. data/lib/denko/digital_io/pcf8574.rb +114 -0
  53. data/lib/denko/digital_io/rotary_encoder.rb +10 -6
  54. data/lib/denko/digital_io.rb +24 -6
  55. data/lib/denko/display/canvas.rb +350 -157
  56. data/lib/denko/display/font/bmp_5x7.rb +142 -0
  57. data/lib/denko/display/font/bmp_6x8.rb +142 -0
  58. data/lib/denko/display/font/bmp_8x16.rb +141 -0
  59. data/lib/denko/display/font.rb +22 -0
  60. data/lib/denko/display/hd44780.rb +24 -20
  61. data/lib/denko/display/il0373.rb +186 -0
  62. data/lib/denko/display/mono_oled.rb +193 -0
  63. data/lib/denko/display/pcd8544.rb +154 -0
  64. data/lib/denko/display/pixel_common.rb +83 -0
  65. data/lib/denko/display/sh1106.rb +17 -21
  66. data/lib/denko/display/sh1107.rb +10 -0
  67. data/lib/denko/display/spi_common.rb +35 -0
  68. data/lib/denko/display/spi_epaper_common.rb +30 -0
  69. data/lib/denko/display/ssd1306.rb +6 -228
  70. data/lib/denko/display/ssd1680.rb +14 -0
  71. data/lib/denko/display/ssd1681.rb +8 -0
  72. data/lib/denko/display/ssd168x.rb +227 -0
  73. data/lib/denko/display/st7302.rb +207 -0
  74. data/lib/denko/display/st7565.rb +166 -0
  75. data/lib/denko/display.rb +40 -4
  76. data/lib/denko/eeprom/at24c.rb +67 -0
  77. data/lib/denko/eeprom/board.rb +69 -0
  78. data/lib/denko/eeprom.rb +15 -1
  79. data/lib/denko/helpers/engine_check.rb +13 -0
  80. data/lib/denko/{mutex_stub.rb → helpers/mutex_stub.rb} +6 -0
  81. data/lib/denko/helpers.rb +6 -0
  82. data/lib/denko/i2c/bit_bang.rb +1 -0
  83. data/lib/denko/i2c/bus_common.rb +9 -4
  84. data/lib/denko/i2c/peripheral.rb +5 -1
  85. data/lib/denko/i2c.rb +17 -4
  86. data/lib/denko/led/apa102.rb +1 -3
  87. data/lib/denko/led/base.rb +5 -0
  88. data/lib/denko/led/rgb.rb +16 -10
  89. data/lib/denko/led/seven_segment.rb +1 -1
  90. data/lib/denko/led.rb +17 -8
  91. data/lib/denko/motor/{stepper.rb → a3967.rb} +1 -1
  92. data/lib/denko/motor/servo.rb +16 -6
  93. data/lib/denko/motor.rb +16 -3
  94. data/lib/denko/one_wire/bus.rb +20 -16
  95. data/lib/denko/one_wire/bus_enumerator.rb +25 -14
  96. data/lib/denko/one_wire/helper.rb +4 -2
  97. data/lib/denko/one_wire.rb +18 -5
  98. data/lib/denko/pulse_io/buzzer.rb +2 -6
  99. data/lib/denko/pulse_io/ir_output.rb +1 -5
  100. data/lib/denko/pulse_io/pwm_output.rb +56 -31
  101. data/lib/denko/pulse_io.rb +17 -3
  102. data/lib/denko/rtc/ds3231.rb +4 -3
  103. data/lib/denko/rtc.rb +14 -1
  104. data/lib/denko/sensor/aht.rb +16 -20
  105. data/lib/denko/sensor/bme280.rb +23 -36
  106. data/lib/denko/sensor/bmp180.rb +8 -13
  107. data/lib/denko/sensor/dht.rb +17 -7
  108. data/lib/denko/sensor/ds18b20.rb +5 -4
  109. data/lib/denko/sensor/hdc1080.rb +174 -0
  110. data/lib/denko/sensor/htu21d.rb +17 -6
  111. data/lib/denko/sensor/htu31d.rb +6 -5
  112. data/lib/denko/sensor/jsnsr04t.rb +49 -0
  113. data/lib/denko/sensor/qmp6988.rb +14 -30
  114. data/lib/denko/sensor/rcwl9620.rb +1 -0
  115. data/lib/denko/sensor/sht3x.rb +6 -5
  116. data/lib/denko/sensor/sht4x.rb +125 -0
  117. data/lib/denko/sensor/vl53l0x.rb +58 -0
  118. data/lib/denko/sensor.rb +33 -15
  119. data/lib/denko/spi/base_register.rb +11 -7
  120. data/lib/denko/spi/bus_common.rb +12 -15
  121. data/lib/denko/spi/input_register.rb +6 -6
  122. data/lib/denko/spi/output_register.rb +13 -4
  123. data/lib/denko/spi/peripheral.rb +82 -84
  124. data/lib/denko/spi.rb +20 -10
  125. data/lib/denko/uart/bit_bang.rb +2 -27
  126. data/lib/denko/uart/common.rb +33 -0
  127. data/lib/denko/uart/hardware.rb +1 -26
  128. data/lib/denko/uart.rb +16 -2
  129. data/lib/denko/version.rb +1 -1
  130. data/lib/denko.rb +22 -25
  131. data/lib/denko_cli/targets.rb +7 -7
  132. data/lib/denko_cli/targets.txt +19 -20
  133. data/src/lib/Denko.cpp +26 -13
  134. data/src/lib/Denko.h +4 -4
  135. data/src/lib/DenkoDefines.h +7 -26
  136. data/src/lib/DenkoLEDArray.cpp +1 -8
  137. data/src/lib/DenkoSPI.cpp +31 -29
  138. data/src/lib/DenkoSPIBB.cpp +12 -14
  139. data/test/analog_io/input_test.rb +1 -1
  140. data/test/analog_io/potentiometer_test.rb +2 -2
  141. data/test/behaviors/bus_peripheral_test.rb +4 -4
  142. data/test/behaviors/callbacks_test.rb +20 -10
  143. data/test/behaviors/component_test.rb +18 -8
  144. data/test/board/board_test.rb +9 -9
  145. data/test/board/one_wire_test.rb +25 -14
  146. data/test/board/spi_test.rb +31 -15
  147. data/test/digital_io/input_test.rb +2 -2
  148. data/test/display/canvas_test.rb +306 -0
  149. data/test/display/hd44780_test.rb +34 -7
  150. data/test/eeprom/board_test.rb +45 -0
  151. data/test/helpers/mruby_minitest.rb +95 -0
  152. data/test/helpers/mruby_runner.rb +13 -0
  153. data/test/i2c/bus_test.rb +93 -30
  154. data/test/i2c/peripheral_test.rb +2 -2
  155. data/test/led/apa102_test.rb +24 -0
  156. data/test/led/rgb_test.rb +4 -4
  157. data/test/motor/{stepper_test.rb → a3967_test.rb} +2 -2
  158. data/test/one_wire/bus_enumerator_test.rb +1 -1
  159. data/test/one_wire/bus_test.rb +42 -35
  160. data/test/one_wire/peripheral_test.rb +5 -17
  161. data/test/pulse_io/ir_output_test.rb +5 -0
  162. data/test/pulse_io/pwm_output_test.rb +10 -10
  163. data/test/rtc/ds3231_test.rb +3 -2
  164. data/test/sensor/dht_test.rb +11 -11
  165. data/test/spi/bitbang_test.rb +27 -0
  166. data/test/spi/bus_test.rb +19 -29
  167. data/test/spi/input_register_test.rb +2 -2
  168. data/test/spi/{peripheral_multi_pin_test.rb → peripheral_test.rb} +25 -5
  169. data/test/test_helper.rb +44 -124
  170. data/vendor/board-maps/BoardMap.h +264 -0
  171. data/vendor/board-maps/yaml/ALFREDO_NOU3.yml +2 -0
  172. data/vendor/board-maps/yaml/ATD143_S3.yml +1 -0
  173. data/vendor/board-maps/yaml/BHARATPI_A7672S_4G.yml +14 -0
  174. data/vendor/board-maps/yaml/BHARATPI_LORA.yml +14 -0
  175. data/vendor/board-maps/yaml/BHARATPI_NODE_WIFI.yml +14 -0
  176. data/vendor/board-maps/yaml/BPI_LEAF_S3.yml +0 -1
  177. data/vendor/board-maps/yaml/CEZERIO_DEV_ESP32C6.yml +14 -0
  178. data/vendor/board-maps/yaml/CEZERIO_MINI_DEV_ESP32C6.yml +12 -0
  179. data/vendor/board-maps/yaml/CIRCUITART_ZERO_S3.yml +71 -0
  180. data/vendor/board-maps/yaml/CODECELLC3.yml +13 -0
  181. data/vendor/board-maps/yaml/CYOBOT_V2_ESP32S3.yml +7 -0
  182. data/vendor/board-maps/yaml/EDGES3D.yml +25 -0
  183. data/vendor/board-maps/yaml/ESP32C6_DEV.yml +3 -4
  184. data/vendor/board-maps/yaml/ESP32C6_THING_PLUS.yml +0 -1
  185. data/vendor/board-maps/yaml/ESP32H2_DEV.yml +0 -1
  186. data/vendor/board-maps/yaml/ESP32H2_DEVKIT_LIPO.yml +0 -1
  187. data/vendor/board-maps/yaml/ESP32P4_DEV.yml +35 -0
  188. data/vendor/board-maps/yaml/ESP32S2_DEV.yml +0 -1
  189. data/vendor/board-maps/yaml/ESP32S2_DEVKIT_LIPO.yml +0 -1
  190. data/vendor/board-maps/yaml/ESP32S2_DEVKIT_LIPO_USB.yml +0 -1
  191. data/vendor/board-maps/yaml/ESP32_2432S028R.yml +14 -0
  192. data/vendor/board-maps/yaml/FEATHERS3.yml +1 -1
  193. data/vendor/board-maps/yaml/FRI3D_2024_ESP32S3.yml +43 -0
  194. data/vendor/board-maps/yaml/GEEKBLE_ESP32C3.yml +0 -1
  195. data/vendor/board-maps/yaml/GEEKBLE_NANO_ESP32S3.yml +25 -0
  196. data/vendor/board-maps/yaml/HELTEC_VISION_MASTER_E290.yml +41 -0
  197. data/vendor/board-maps/yaml/HELTEC_VISION_MASTER_E_213.yml +41 -0
  198. data/vendor/board-maps/yaml/HELTEC_VISION_MASTER_T190.yml +41 -0
  199. data/vendor/board-maps/yaml/HUIDU_HD_WF2.yml +5 -0
  200. data/vendor/board-maps/yaml/HUIDU_HD_WF4.yml +1 -0
  201. data/vendor/board-maps/yaml/LILYGO_LORA_CC1101.yml +6 -0
  202. data/vendor/board-maps/yaml/LILYGO_LORA_LR1121.yml +6 -0
  203. data/vendor/board-maps/yaml/LILYGO_LORA_SI4432.yml +6 -0
  204. data/vendor/board-maps/yaml/LILYGO_LORA_SX1262.yml +6 -0
  205. data/vendor/board-maps/yaml/LILYGO_LORA_SX1280.yml +6 -0
  206. data/vendor/board-maps/yaml/LOLIN_C3_MINI.yml +0 -1
  207. data/vendor/board-maps/yaml/LOLIN_C3_PICO.yml +1 -2
  208. data/vendor/board-maps/yaml/LoPy.yml +0 -1
  209. data/vendor/board-maps/yaml/LoPy4.yml +0 -1
  210. data/vendor/board-maps/yaml/M5STACK_DINMETER.yml +8 -0
  211. data/vendor/board-maps/yaml/M5STACK_FIRE.yml +1 -1
  212. data/vendor/board-maps/yaml/OMGS3.yml +25 -0
  213. data/vendor/board-maps/yaml/PCBCUPID_GLYPHC3.yml +23 -0
  214. data/vendor/board-maps/yaml/PCBCUPID_GLYPHC6.yml +32 -0
  215. data/vendor/board-maps/yaml/PCBCUPID_GLYPHH2.yml +24 -0
  216. data/vendor/board-maps/yaml/PYCOM_GPY.yml +0 -1
  217. data/vendor/board-maps/yaml/SENSEBOX_MCU_ESP32S2.yml +1 -1
  218. data/vendor/board-maps/yaml/SPARKFUN_ESP32S3_THING_PLUS.yml +13 -0
  219. data/vendor/board-maps/yaml/SPARKLEMOTIONMINI_ESP32.yml +12 -0
  220. data/vendor/board-maps/yaml/SPARKLEMOTIONSTICK_ESP32.yml +11 -0
  221. data/vendor/board-maps/yaml/SPARKLEMOTION_ESP32.yml +12 -0
  222. data/vendor/board-maps/yaml/SQUIXL.yml +7 -0
  223. data/vendor/board-maps/yaml/THINGPULSE_EPULSE_FEATHER_C6.yml +0 -1
  224. data/vendor/board-maps/yaml/T_LORA_PAGER.yml +6 -0
  225. data/vendor/board-maps/yaml/T_WATCH_S3.yml +7 -0
  226. data/vendor/board-maps/yaml/T_WATCH_S3_ULTRA.yml +6 -0
  227. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_146.yml +41 -0
  228. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_147.yml +41 -0
  229. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_169.yml +38 -0
  230. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_185.yml +41 -0
  231. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_RELAY_6CH.yml +41 -0
  232. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_143.yml +7 -0
  233. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_164.yml +7 -0
  234. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_18.yml +38 -0
  235. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_191.yml +7 -0
  236. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_241.yml +7 -0
  237. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_146.yml +41 -0
  238. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_169.yml +38 -0
  239. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_185.yml +41 -0
  240. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_185_BOX.yml +41 -0
  241. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_21.yml +41 -0
  242. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_28.yml +41 -0
  243. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_4.yml +36 -0
  244. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_43.yml +38 -0
  245. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_43B.yml +38 -0
  246. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_5.yml +38 -0
  247. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_5B.yml +38 -0
  248. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_7.yml +38 -0
  249. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_ZERO.yml +36 -0
  250. data/vendor/board-maps/yaml/WIPY3.yml +0 -1
  251. data/vendor/board-maps/yaml/WS_ESP32_S3_MATRIX.yml +38 -0
  252. data/vendor/board-maps/yaml/XIAO_ESP32S3_PLUS.yml +46 -0
  253. data/vendor/board-maps/yaml/YB_ESP32S3_AMP_V2.yml +28 -0
  254. data/vendor/board-maps/yaml/YB_ESP32S3_AMP_V3.yml +28 -0
  255. data/vendor/board-maps/yaml/YB_ESP32S3_ETH.yml +40 -0
  256. data/vendor/board-maps/yaml/mercury.yml +20 -0
  257. metadata +116 -101
  258. data/.vscode/settings.json +0 -5
  259. data/.vscode/tasks.json +0 -20
  260. data/HARDWARE.md +0 -263
  261. data/benchmarks/analog_listen.rb +0 -49
  262. data/benchmarks/digital_write.rb +0 -28
  263. data/benchmarks/i2c_ssd1306_refresh.rb +0 -91
  264. data/examples/advanced/m5_env3.rb +0 -46
  265. data/examples/advanced/rotary_encoder_mac_volume.rb +0 -53
  266. data/examples/advanced/ssd1306_time_temp_rh.rb +0 -43
  267. data/examples/analog_io/ads1100.rb +0 -48
  268. data/examples/analog_io/ads1115.rb +0 -57
  269. data/examples/analog_io/ads1118.rb +0 -65
  270. data/examples/analog_io/dac_loopback.rb +0 -34
  271. data/examples/analog_io/input.rb +0 -56
  272. data/examples/analog_io/input_smoothing.rb +0 -27
  273. data/examples/analog_io/potentiometer.rb +0 -31
  274. data/examples/connection/binary_echo.rb +0 -34
  275. data/examples/connection/tcp.rb +0 -19
  276. data/examples/digital_io/button.rb +0 -17
  277. data/examples/digital_io/relay.rb +0 -17
  278. data/examples/digital_io/rotary_encoder.rb +0 -36
  279. data/examples/display/hd44780.png +0 -0
  280. data/examples/display/hd44780.rb +0 -47
  281. data/examples/display/ssd1306.rb +0 -43
  282. data/examples/display/ssd1306_s2_pico.rb +0 -29
  283. data/examples/eeprom/built_in.rb +0 -32
  284. data/examples/i2c/search.rb +0 -39
  285. data/examples/led/apa102_bounce.rb +0 -32
  286. data/examples/led/apa102_fade.rb +0 -44
  287. data/examples/led/builtin_blink.rb +0 -14
  288. data/examples/led/builtin_fade.rb +0 -19
  289. data/examples/led/rgb_led.rb +0 -31
  290. data/examples/led/seven_segment_char_echo.rb +0 -17
  291. data/examples/led/ws2812_bounce.rb +0 -30
  292. data/examples/led/ws2812_builtin_blink.rb +0 -22
  293. data/examples/led/ws2812_fade.rb +0 -43
  294. data/examples/motor/l298.rb +0 -45
  295. data/examples/motor/servo.rb +0 -17
  296. data/examples/motor/stepper.png +0 -0
  297. data/examples/motor/stepper.rb +0 -43
  298. data/examples/one_wire/search.rb +0 -32
  299. data/examples/pulse_io/buzzer.rb +0 -35
  300. data/examples/pulse_io/ir_output.rb +0 -51
  301. data/examples/pulse_io/pwm_output.rb +0 -30
  302. data/examples/rtc/ds3231.rb +0 -31
  303. data/examples/sensor/aht10.rb +0 -17
  304. data/examples/sensor/aht20.rb +0 -17
  305. data/examples/sensor/bme280.rb +0 -38
  306. data/examples/sensor/bmp180.rb +0 -26
  307. data/examples/sensor/dht.rb +0 -29
  308. data/examples/sensor/ds18b20.rb +0 -57
  309. data/examples/sensor/generic_pir.rb +0 -27
  310. data/examples/sensor/hcsr04.rb +0 -17
  311. data/examples/sensor/htu21d.rb +0 -43
  312. data/examples/sensor/htu31d.rb +0 -33
  313. data/examples/sensor/neat_tph_readings.rb +0 -32
  314. data/examples/sensor/qmp6988.rb +0 -51
  315. data/examples/sensor/rcwl9620.rb +0 -15
  316. data/examples/sensor/sht3x.rb +0 -32
  317. data/examples/spi/bitbang_loopback.rb +0 -46
  318. data/examples/spi/input_register.rb +0 -40
  319. data/examples/spi/output_register.rb +0 -41
  320. data/examples/spi/ssd_through_registers.rb +0 -28
  321. data/examples/spi/two_registers.rb +0 -40
  322. data/examples/uart/bit_bang_demo.rb +0 -25
  323. data/examples/uart/board_passthrough.rb +0 -40
  324. data/examples/uart/hardware_loopback.rb +0 -16
  325. data/lib/denko/eeprom/built_in.rb +0 -72
  326. data/lib/denko/fonts.rb +0 -106
  327. data/test/eeprom/built_in_test.rb +0 -61
  328. data/test/spi/peripheral_single_pin_test.rb +0 -48
  329. data/tutorial/01-led/led.fzz +0 -0
  330. data/tutorial/01-led/led.pdf +0 -0
  331. data/tutorial/01-led/led.rb +0 -73
  332. data/tutorial/02-button/button.fzz +0 -0
  333. data/tutorial/02-button/button.pdf +0 -0
  334. data/tutorial/02-button/button.rb +0 -65
  335. data/tutorial/03-potentiometer/potentiometer.fzz +0 -0
  336. data/tutorial/03-potentiometer/potentiometer.pdf +0 -0
  337. data/tutorial/03-potentiometer/potentiometer.rb +0 -66
  338. data/tutorial/04-pwm_led/pwm_led.fzz +0 -0
  339. data/tutorial/04-pwm_led/pwm_led.pdf +0 -0
  340. data/tutorial/04-pwm_led/pwm_led.rb +0 -64
  341. data/tutorial/05-rgb_led/rgb_led.fzz +0 -0
  342. data/tutorial/05-rgb_led/rgb_led.pdf +0 -0
  343. data/tutorial/05-rgb_led/rgb_led.rb +0 -58
  344. data/tutorial/05-rgb_led/rgb_mapping.rb +0 -76
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: denko
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - vickash, Austinbv
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-10-07 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: observer
@@ -118,83 +117,18 @@ files:
118
117
  - ".github/workflows/ruby.yml"
119
118
  - ".gitignore"
120
119
  - ".gitmodules"
121
- - ".vscode/settings.json"
122
- - ".vscode/tasks.json"
123
120
  - CHANGELOG.md
124
121
  - DEPS_CLI.md
125
122
  - DEPS_IDE.md
126
123
  - Gemfile
127
- - HARDWARE.md
128
124
  - LICENSE
125
+ - MICROCONTROLLERS.md
126
+ - PERIPHERALS.md
129
127
  - README.md
130
128
  - Rakefile
131
- - benchmarks/analog_listen.rb
132
- - benchmarks/digital_write.rb
133
- - benchmarks/i2c_ssd1306_refresh.rb
134
129
  - bin/denko
135
130
  - build
136
131
  - denko.gemspec
137
- - examples/advanced/m5_env3.rb
138
- - examples/advanced/rotary_encoder_mac_volume.rb
139
- - examples/advanced/ssd1306_time_temp_rh.rb
140
- - examples/analog_io/ads1100.rb
141
- - examples/analog_io/ads1115.rb
142
- - examples/analog_io/ads1118.rb
143
- - examples/analog_io/dac_loopback.rb
144
- - examples/analog_io/input.rb
145
- - examples/analog_io/input_smoothing.rb
146
- - examples/analog_io/potentiometer.rb
147
- - examples/connection/binary_echo.rb
148
- - examples/connection/tcp.rb
149
- - examples/digital_io/button.rb
150
- - examples/digital_io/relay.rb
151
- - examples/digital_io/rotary_encoder.rb
152
- - examples/display/hd44780.png
153
- - examples/display/hd44780.rb
154
- - examples/display/ssd1306.rb
155
- - examples/display/ssd1306_s2_pico.rb
156
- - examples/eeprom/built_in.rb
157
- - examples/i2c/search.rb
158
- - examples/led/apa102_bounce.rb
159
- - examples/led/apa102_fade.rb
160
- - examples/led/builtin_blink.rb
161
- - examples/led/builtin_fade.rb
162
- - examples/led/rgb_led.rb
163
- - examples/led/seven_segment_char_echo.rb
164
- - examples/led/ws2812_bounce.rb
165
- - examples/led/ws2812_builtin_blink.rb
166
- - examples/led/ws2812_fade.rb
167
- - examples/motor/l298.rb
168
- - examples/motor/servo.rb
169
- - examples/motor/stepper.png
170
- - examples/motor/stepper.rb
171
- - examples/one_wire/search.rb
172
- - examples/pulse_io/buzzer.rb
173
- - examples/pulse_io/ir_output.rb
174
- - examples/pulse_io/pwm_output.rb
175
- - examples/rtc/ds3231.rb
176
- - examples/sensor/aht10.rb
177
- - examples/sensor/aht20.rb
178
- - examples/sensor/bme280.rb
179
- - examples/sensor/bmp180.rb
180
- - examples/sensor/dht.rb
181
- - examples/sensor/ds18b20.rb
182
- - examples/sensor/generic_pir.rb
183
- - examples/sensor/hcsr04.rb
184
- - examples/sensor/htu21d.rb
185
- - examples/sensor/htu31d.rb
186
- - examples/sensor/neat_tph_readings.rb
187
- - examples/sensor/qmp6988.rb
188
- - examples/sensor/rcwl9620.rb
189
- - examples/sensor/sht3x.rb
190
- - examples/spi/bitbang_loopback.rb
191
- - examples/spi/input_register.rb
192
- - examples/spi/output_register.rb
193
- - examples/spi/ssd_through_registers.rb
194
- - examples/spi/two_registers.rb
195
- - examples/uart/bit_bang_demo.rb
196
- - examples/uart/board_passthrough.rb
197
- - examples/uart/hardware_loopback.rb
198
132
  - lib/denko.rb
199
133
  - lib/denko/analog_io.rb
200
134
  - lib/denko/analog_io/ads1100.rb
@@ -203,6 +137,7 @@ files:
203
137
  - lib/denko/analog_io/ads111x.rb
204
138
  - lib/denko/analog_io/input.rb
205
139
  - lib/denko/analog_io/input_helper.rb
140
+ - lib/denko/analog_io/joystick.rb
206
141
  - lib/denko/analog_io/output.rb
207
142
  - lib/denko/analog_io/potentiometer.rb
208
143
  - lib/denko/behaviors.rb
@@ -254,16 +189,36 @@ files:
254
189
  - lib/denko/digital_io/c_bit_bang.rb
255
190
  - lib/denko/digital_io/input.rb
256
191
  - lib/denko/digital_io/output.rb
192
+ - lib/denko/digital_io/pcf8574.rb
257
193
  - lib/denko/digital_io/relay.rb
258
194
  - lib/denko/digital_io/rotary_encoder.rb
259
195
  - lib/denko/display.rb
260
196
  - lib/denko/display/canvas.rb
197
+ - lib/denko/display/font.rb
198
+ - lib/denko/display/font/bmp_5x7.rb
199
+ - lib/denko/display/font/bmp_6x8.rb
200
+ - lib/denko/display/font/bmp_8x16.rb
261
201
  - lib/denko/display/hd44780.rb
202
+ - lib/denko/display/il0373.rb
203
+ - lib/denko/display/mono_oled.rb
204
+ - lib/denko/display/pcd8544.rb
205
+ - lib/denko/display/pixel_common.rb
262
206
  - lib/denko/display/sh1106.rb
207
+ - lib/denko/display/sh1107.rb
208
+ - lib/denko/display/spi_common.rb
209
+ - lib/denko/display/spi_epaper_common.rb
263
210
  - lib/denko/display/ssd1306.rb
211
+ - lib/denko/display/ssd1680.rb
212
+ - lib/denko/display/ssd1681.rb
213
+ - lib/denko/display/ssd168x.rb
214
+ - lib/denko/display/st7302.rb
215
+ - lib/denko/display/st7565.rb
264
216
  - lib/denko/eeprom.rb
265
- - lib/denko/eeprom/built_in.rb
266
- - lib/denko/fonts.rb
217
+ - lib/denko/eeprom/at24c.rb
218
+ - lib/denko/eeprom/board.rb
219
+ - lib/denko/helpers.rb
220
+ - lib/denko/helpers/engine_check.rb
221
+ - lib/denko/helpers/mutex_stub.rb
267
222
  - lib/denko/i2c.rb
268
223
  - lib/denko/i2c/bit_bang.rb
269
224
  - lib/denko/i2c/bus.rb
@@ -277,10 +232,9 @@ files:
277
232
  - lib/denko/led/ws2812.rb
278
233
  - lib/denko/message.rb
279
234
  - lib/denko/motor.rb
235
+ - lib/denko/motor/a3967.rb
280
236
  - lib/denko/motor/l298.rb
281
237
  - lib/denko/motor/servo.rb
282
- - lib/denko/motor/stepper.rb
283
- - lib/denko/mutex_stub.rb
284
238
  - lib/denko/one_wire.rb
285
239
  - lib/denko/one_wire/bus.rb
286
240
  - lib/denko/one_wire/bus_enumerator.rb
@@ -301,12 +255,16 @@ files:
301
255
  - lib/denko/sensor/ds18b20.rb
302
256
  - lib/denko/sensor/generic_pir.rb
303
257
  - lib/denko/sensor/hcsr04.rb
258
+ - lib/denko/sensor/hdc1080.rb
304
259
  - lib/denko/sensor/helper.rb
305
260
  - lib/denko/sensor/htu21d.rb
306
261
  - lib/denko/sensor/htu31d.rb
262
+ - lib/denko/sensor/jsnsr04t.rb
307
263
  - lib/denko/sensor/qmp6988.rb
308
264
  - lib/denko/sensor/rcwl9620.rb
309
265
  - lib/denko/sensor/sht3x.rb
266
+ - lib/denko/sensor/sht4x.rb
267
+ - lib/denko/sensor/vl53l0x.rb
310
268
  - lib/denko/spi.rb
311
269
  - lib/denko/spi/base_register.rb
312
270
  - lib/denko/spi/bit_bang.rb
@@ -317,6 +275,7 @@ files:
317
275
  - lib/denko/spi/peripheral.rb
318
276
  - lib/denko/uart.rb
319
277
  - lib/denko/uart/bit_bang.rb
278
+ - lib/denko/uart/common.rb
320
279
  - lib/denko/uart/hardware.rb
321
280
  - lib/denko/version.rb
322
281
  - lib/denko_cli.rb
@@ -387,15 +346,19 @@ files:
387
346
  - test/digital_io/output_test.rb
388
347
  - test/digital_io/relay_test.rb
389
348
  - test/digital_io/rotary_encoder_test.rb
349
+ - test/display/canvas_test.rb
390
350
  - test/display/hd44780_test.rb
391
- - test/eeprom/built_in_test.rb
351
+ - test/eeprom/board_test.rb
352
+ - test/helpers/mruby_minitest.rb
353
+ - test/helpers/mruby_runner.rb
392
354
  - test/i2c/bus_test.rb
393
355
  - test/i2c/peripheral_test.rb
356
+ - test/led/apa102_test.rb
394
357
  - test/led/base_test.rb
395
358
  - test/led/rgb_test.rb
396
359
  - test/led/seven_segment_test.rb
360
+ - test/motor/a3967_test.rb
397
361
  - test/motor/servo_test.rb
398
- - test/motor/stepper_test.rb
399
362
  - test/one_wire/bus_enumerator_test.rb
400
363
  - test/one_wire/bus_test.rb
401
364
  - test/one_wire/helper_test.rb
@@ -407,29 +370,13 @@ files:
407
370
  - test/sensor/dht_test.rb
408
371
  - test/sensor/ds18b20_test.rb
409
372
  - test/spi/base_register_test.rb
373
+ - test/spi/bitbang_test.rb
410
374
  - test/spi/bus_test.rb
411
375
  - test/spi/input_register_test.rb
412
376
  - test/spi/output_register_test.rb
413
- - test/spi/peripheral_multi_pin_test.rb
414
- - test/spi/peripheral_single_pin_test.rb
377
+ - test/spi/peripheral_test.rb
415
378
  - test/test_helper.rb
416
379
  - test/uart/bitbang_test.rb
417
- - tutorial/01-led/led.fzz
418
- - tutorial/01-led/led.pdf
419
- - tutorial/01-led/led.rb
420
- - tutorial/02-button/button.fzz
421
- - tutorial/02-button/button.pdf
422
- - tutorial/02-button/button.rb
423
- - tutorial/03-potentiometer/potentiometer.fzz
424
- - tutorial/03-potentiometer/potentiometer.pdf
425
- - tutorial/03-potentiometer/potentiometer.rb
426
- - tutorial/04-pwm_led/pwm_led.fzz
427
- - tutorial/04-pwm_led/pwm_led.pdf
428
- - tutorial/04-pwm_led/pwm_led.rb
429
- - tutorial/05-rgb_led/rgb_led.fzz
430
- - tutorial/05-rgb_led/rgb_led.pdf
431
- - tutorial/05-rgb_led/rgb_led.rb
432
- - tutorial/05-rgb_led/rgb_mapping.rb
433
380
  - vendor/board-maps/.gitignore
434
381
  - vendor/board-maps/.gitmodules
435
382
  - vendor/board-maps/BoardMap.h
@@ -471,6 +418,7 @@ files:
471
418
  - vendor/board-maps/yaml/ADAFRUIT_QTPY_RP2040.yml
472
419
  - vendor/board-maps/yaml/ADAFRUIT_STEMMAFRIEND_RP2040.yml
473
420
  - vendor/board-maps/yaml/ADAFRUIT_TRINKEYQT_RP2040.yml
421
+ - vendor/board-maps/yaml/ALFREDO_NOU3.yml
474
422
  - vendor/board-maps/yaml/ALKS.yml
475
423
  - vendor/board-maps/yaml/AMKEN_BB.yml
476
424
  - vendor/board-maps/yaml/AMKEN_ES.yml
@@ -512,6 +460,9 @@ files:
512
460
  - vendor/board-maps/yaml/AVR_YUNMINI.yml
513
461
  - vendor/board-maps/yaml/AirM2M_CORE_ESP32C3.yml
514
462
  - vendor/board-maps/yaml/BEE_DATA_LOGGER.yml
463
+ - vendor/board-maps/yaml/BHARATPI_A7672S_4G.yml
464
+ - vendor/board-maps/yaml/BHARATPI_LORA.yml
465
+ - vendor/board-maps/yaml/BHARATPI_NODE_WIFI.yml
515
466
  - vendor/board-maps/yaml/BLING.yml
516
467
  - vendor/board-maps/yaml/BPI_BIT.yml
517
468
  - vendor/board-maps/yaml/BPI_LEAF_S3.yml
@@ -522,6 +473,8 @@ files:
522
473
  - vendor/board-maps/yaml/Bee_Motion_Mini.yml
523
474
  - vendor/board-maps/yaml/Bee_S3.yml
524
475
  - vendor/board-maps/yaml/Breadstick_Raspberry.yml
476
+ - vendor/board-maps/yaml/CEZERIO_DEV_ESP32C6.yml
477
+ - vendor/board-maps/yaml/CEZERIO_MINI_DEV_ESP32C6.yml
525
478
  - vendor/board-maps/yaml/CHALLENGER_2040_LORA_RP2040.yml
526
479
  - vendor/board-maps/yaml/CHALLENGER_2040_LTE_RP2040.yml
527
480
  - vendor/board-maps/yaml/CHALLENGER_2040_NFC_RP2040.yml
@@ -532,8 +485,11 @@ files:
532
485
  - vendor/board-maps/yaml/CHALLENGER_2040_WIFI_BLE_RP2040.yml
533
486
  - vendor/board-maps/yaml/CHALLENGER_2040_WIFI_RP2040.yml
534
487
  - vendor/board-maps/yaml/CHALLENGER_NB_2040_WIFI_RP2040.yml
488
+ - vendor/board-maps/yaml/CIRCUITART_ZERO_S3.yml
489
+ - vendor/board-maps/yaml/CODECELLC3.yml
535
490
  - vendor/board-maps/yaml/CONNECTIVITY_2040_LTE_WIFI_BLE_RP2040.yml
536
491
  - vendor/board-maps/yaml/CRABIK_SLOT_ESP32_S3.yml
492
+ - vendor/board-maps/yaml/CYOBOT_V2_ESP32S3.yml
537
493
  - vendor/board-maps/yaml/CYTRON_MAKER_FEATHER_AIOT_S3.yml
538
494
  - vendor/board-maps/yaml/CYTRON_MAKER_NANO_RP2040.yml
539
495
  - vendor/board-maps/yaml/CYTRON_MAKER_PI_RP2040.yml
@@ -564,6 +520,7 @@ files:
564
520
  - vendor/board-maps/yaml/DYM.yml
565
521
  - vendor/board-maps/yaml/DYMv2.yml
566
522
  - vendor/board-maps/yaml/D_Duino_32.yml
523
+ - vendor/board-maps/yaml/EDGES3D.yml
567
524
  - vendor/board-maps/yaml/ELECROW_CROWPANEL_7.yml
568
525
  - vendor/board-maps/yaml/ELECTRONICCATS_HUNTERCAT_NFC.yml
569
526
  - vendor/board-maps/yaml/ESP320.yml
@@ -577,6 +534,7 @@ files:
577
534
  - vendor/board-maps/yaml/ESP32C6_THING_PLUS.yml
578
535
  - vendor/board-maps/yaml/ESP32H2_DEV.yml
579
536
  - vendor/board-maps/yaml/ESP32H2_DEVKIT_LIPO.yml
537
+ - vendor/board-maps/yaml/ESP32P4_DEV.yml
580
538
  - vendor/board-maps/yaml/ESP32S2_DEV.yml
581
539
  - vendor/board-maps/yaml/ESP32S2_DEVKIT_LIPO.yml
582
540
  - vendor/board-maps/yaml/ESP32S2_DEVKIT_LIPO_USB.yml
@@ -586,6 +544,7 @@ files:
586
544
  - vendor/board-maps/yaml/ESP32S3_DEV.yml
587
545
  - vendor/board-maps/yaml/ESP32S3_DEVKIT_LIPO.yml
588
546
  - vendor/board-maps/yaml/ESP32S3_POWERFEATHER.yml
547
+ - vendor/board-maps/yaml/ESP32_2432S028R.yml
589
548
  - vendor/board-maps/yaml/ESP32_DEV.yml
590
549
  - vendor/board-maps/yaml/ESP32_DEVKIT_LIPO.yml
591
550
  - vendor/board-maps/yaml/ESP32_EVB.yml
@@ -658,13 +617,18 @@ files:
658
617
  - vendor/board-maps/yaml/FLYBOARD2040_CORE.yml
659
618
  - vendor/board-maps/yaml/FRANZININHO_WIFI.yml
660
619
  - vendor/board-maps/yaml/FRANZININHO_WIFI_MSC.yml
620
+ - vendor/board-maps/yaml/FRI3D_2024_ESP32S3.yml
661
621
  - vendor/board-maps/yaml/FROG_ESP32.yml
662
622
  - vendor/board-maps/yaml/FUNHOUSE_ESP32S2.yml
663
623
  - vendor/board-maps/yaml/GEEKBLE_ESP32C3.yml
624
+ - vendor/board-maps/yaml/GEEKBLE_NANO_ESP32S3.yml
664
625
  - vendor/board-maps/yaml/GEN4_IOD.yml
665
626
  - vendor/board-maps/yaml/GENERIC_RP2040.yml
666
627
  - vendor/board-maps/yaml/HEALTHYPI_4.yml
667
628
  - vendor/board-maps/yaml/HELTEC_CAPSULE_SENSOR_V3.yml
629
+ - vendor/board-maps/yaml/HELTEC_VISION_MASTER_E290.yml
630
+ - vendor/board-maps/yaml/HELTEC_VISION_MASTER_E_213.yml
631
+ - vendor/board-maps/yaml/HELTEC_VISION_MASTER_T190.yml
668
632
  - vendor/board-maps/yaml/HELTEC_WIFI_LORA_32_V3.yml
669
633
  - vendor/board-maps/yaml/HELTEC_WIRELESS_BRIDGE.yml
670
634
  - vendor/board-maps/yaml/HELTEC_WIRELESS_MINI_SHELL.yml
@@ -677,11 +641,18 @@ files:
677
641
  - vendor/board-maps/yaml/HORNBILL_ESP32_DEV.yml
678
642
  - vendor/board-maps/yaml/HORNBILL_ESP32_MINIMA.yml
679
643
  - vendor/board-maps/yaml/HT_DE01.yml
644
+ - vendor/board-maps/yaml/HUIDU_HD_WF2.yml
645
+ - vendor/board-maps/yaml/HUIDU_HD_WF4.yml
680
646
  - vendor/board-maps/yaml/ILABS_2040_RPICO32_RP2040.yml
681
647
  - vendor/board-maps/yaml/IMBRIOS_LOGSENS_V1P1.yml
682
648
  - vendor/board-maps/yaml/INTOROBOT_ESP32_DEV.yml
683
649
  - vendor/board-maps/yaml/IOXESP32.yml
684
650
  - vendor/board-maps/yaml/IOXESP32PS.yml
651
+ - vendor/board-maps/yaml/LILYGO_LORA_CC1101.yml
652
+ - vendor/board-maps/yaml/LILYGO_LORA_LR1121.yml
653
+ - vendor/board-maps/yaml/LILYGO_LORA_SI4432.yml
654
+ - vendor/board-maps/yaml/LILYGO_LORA_SX1262.yml
655
+ - vendor/board-maps/yaml/LILYGO_LORA_SX1280.yml
685
656
  - vendor/board-maps/yaml/LILYGO_T3S3_LR1121.yml
686
657
  - vendor/board-maps/yaml/LILYGO_T3S3_SX1262.yml
687
658
  - vendor/board-maps/yaml/LILYGO_T3S3_SX1276.yml
@@ -713,6 +684,7 @@ files:
713
684
  - vendor/board-maps/yaml/M5STACK_CORES3.yml
714
685
  - vendor/board-maps/yaml/M5STACK_Core2.yml
715
686
  - vendor/board-maps/yaml/M5STACK_DIAL.yml
687
+ - vendor/board-maps/yaml/M5STACK_DINMETER.yml
716
688
  - vendor/board-maps/yaml/M5STACK_FIRE.yml
717
689
  - vendor/board-maps/yaml/M5STACK_NANOC6.yml
718
690
  - vendor/board-maps/yaml/M5STACK_PAPER.yml
@@ -765,10 +737,14 @@ files:
765
737
  - vendor/board-maps/yaml/ODROID_ESP32.yml
766
738
  - vendor/board-maps/yaml/OLIMEX_RP2040_PICO30_16MB.yml
767
739
  - vendor/board-maps/yaml/OLIMEX_RP2040_PICO30_2MB.yml
740
+ - vendor/board-maps/yaml/OMGS3.yml
768
741
  - vendor/board-maps/yaml/ONEHORSE_ESP32_DEV.yml
769
742
  - vendor/board-maps/yaml/OPTA_ANALOG.yml
770
743
  - vendor/board-maps/yaml/OPTA_DIGITAL.yml
771
744
  - vendor/board-maps/yaml/OROCA_EDUBOT.yml
745
+ - vendor/board-maps/yaml/PCBCUPID_GLYPHC3.yml
746
+ - vendor/board-maps/yaml/PCBCUPID_GLYPHC6.yml
747
+ - vendor/board-maps/yaml/PCBCUPID_GLYPHH2.yml
772
748
  - vendor/board-maps/yaml/PIMORONI_PGA2040.yml
773
749
  - vendor/board-maps/yaml/PIMORONI_PLASMA2040.yml
774
750
  - vendor/board-maps/yaml/PIMORONI_TINY2040.yml
@@ -808,10 +784,15 @@ files:
808
784
  - vendor/board-maps/yaml/SILICOGNITION_RP2040_SHIM.yml
809
785
  - vendor/board-maps/yaml/SOLDERPARTY_RP2040_STAMP.yml
810
786
  - vendor/board-maps/yaml/SONOFF_DUALR3.yml
787
+ - vendor/board-maps/yaml/SPARKFUN_ESP32S3_THING_PLUS.yml
811
788
  - vendor/board-maps/yaml/SPARKFUN_MICROMOD_RP2040.yml
812
789
  - vendor/board-maps/yaml/SPARKFUN_PROMICRO_RP2040.yml
813
790
  - vendor/board-maps/yaml/SPARKFUN_PRO_MICRO_ESP32C3.yml
814
791
  - vendor/board-maps/yaml/SPARKFUN_THINGPLUS_RP2040.yml
792
+ - vendor/board-maps/yaml/SPARKLEMOTIONMINI_ESP32.yml
793
+ - vendor/board-maps/yaml/SPARKLEMOTIONSTICK_ESP32.yml
794
+ - vendor/board-maps/yaml/SPARKLEMOTION_ESP32.yml
795
+ - vendor/board-maps/yaml/SQUIXL.yml
815
796
  - vendor/board-maps/yaml/TAMC_TERMOD_S3.yml
816
797
  - vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1262.yml
817
798
  - vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1268.yml
@@ -837,6 +818,9 @@ files:
837
818
  - vendor/board-maps/yaml/TWATCH_2020_V3.yml
838
819
  - vendor/board-maps/yaml/TWATCH_BASE.yml
839
820
  - vendor/board-maps/yaml/TWatch.yml
821
+ - vendor/board-maps/yaml/T_LORA_PAGER.yml
822
+ - vendor/board-maps/yaml/T_WATCH_S3.yml
823
+ - vendor/board-maps/yaml/T_WATCH_S3_ULTRA.yml
840
824
  - vendor/board-maps/yaml/Trueverit_ESP32_Universal_IoT_Driver.yml
841
825
  - vendor/board-maps/yaml/Trueverit_ESP32_Universal_IoT_Driver_MK_II.yml
842
826
  - vendor/board-maps/yaml/UBLOX_NINA_W10.yml
@@ -857,6 +841,29 @@ files:
857
841
  - vendor/board-maps/yaml/WATCHY_V15.yml
858
842
  - vendor/board-maps/yaml/WATCHY_V20.yml
859
843
  - vendor/board-maps/yaml/WAVESHARE_ESP32S3_TOUCH_LCD_128.yml
844
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_146.yml
845
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_147.yml
846
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_169.yml
847
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_185.yml
848
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_RELAY_6CH.yml
849
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_143.yml
850
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_164.yml
851
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_18.yml
852
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_191.yml
853
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_241.yml
854
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_146.yml
855
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_169.yml
856
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_185.yml
857
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_185_BOX.yml
858
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_21.yml
859
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_28.yml
860
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_4.yml
861
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_43.yml
862
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_43B.yml
863
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_5.yml
864
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_5B.yml
865
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_7.yml
866
+ - vendor/board-maps/yaml/WAVESHARE_ESP32_S3_ZERO.yml
860
867
  - vendor/board-maps/yaml/WAVESHARE_RP2040_LCD_0_96.yml
861
868
  - vendor/board-maps/yaml/WAVESHARE_RP2040_LCD_1_28.yml
862
869
  - vendor/board-maps/yaml/WAVESHARE_RP2040_MATRIX.yml
@@ -873,6 +880,7 @@ files:
873
880
  - vendor/board-maps/yaml/WIZNET_5100S_EVB_PICO.yml
874
881
  - vendor/board-maps/yaml/WIZNET_5500_EVB_PICO.yml
875
882
  - vendor/board-maps/yaml/WIZNET_WIZFI360_EVB_PICO.yml
883
+ - vendor/board-maps/yaml/WS_ESP32_S3_MATRIX.yml
876
884
  - vendor/board-maps/yaml/WT32_ETH01.yml
877
885
  - vendor/board-maps/yaml/WT32_SC01_PLUS.yml
878
886
  - vendor/board-maps/yaml/WiFiduino32S3.yml
@@ -881,6 +889,10 @@ files:
881
889
  - vendor/board-maps/yaml/XIAO_ESP32C3.yml
882
890
  - vendor/board-maps/yaml/XIAO_ESP32C6.yml
883
891
  - vendor/board-maps/yaml/XIAO_ESP32S3.yml
892
+ - vendor/board-maps/yaml/XIAO_ESP32S3_PLUS.yml
893
+ - vendor/board-maps/yaml/YB_ESP32S3_AMP_V2.yml
894
+ - vendor/board-maps/yaml/YB_ESP32S3_AMP_V3.yml
895
+ - vendor/board-maps/yaml/YB_ESP32S3_ETH.yml
884
896
  - vendor/board-maps/yaml/YD_RP2040.yml
885
897
  - vendor/board-maps/yaml/atmegazero_esp32s2.yml
886
898
  - vendor/board-maps/yaml/connaxio_espoir.yml
@@ -892,6 +904,7 @@ files:
892
904
  - vendor/board-maps/yaml/heltec_wifi_lora_32_V2.yml
893
905
  - vendor/board-maps/yaml/heltec_wireless_stick.yml
894
906
  - vendor/board-maps/yaml/heltec_wireless_stick_LITE.yml
907
+ - vendor/board-maps/yaml/mercury.yml
895
908
  - vendor/board-maps/yaml/openkb.yml
896
909
  - vendor/board-maps/yaml/roboheart_hercules.yml
897
910
  - vendor/board-maps/yaml/sensesiot_weizen.yml
@@ -904,7 +917,6 @@ homepage: https://github.com/denko-rb/denko
904
917
  licenses:
905
918
  - MIT
906
919
  metadata: {}
907
- post_install_message:
908
920
  rdoc_options: []
909
921
  require_paths:
910
922
  - lib
@@ -919,8 +931,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
919
931
  - !ruby/object:Gem::Version
920
932
  version: '0'
921
933
  requirements: []
922
- rubygems_version: 3.5.20
923
- signing_key:
934
+ rubygems_version: 3.6.7
924
935
  specification_version: 4
925
936
  summary: Use GPIO, PWM, I2C, SPI, and more, on a connected microcontroller, or single-board-computer
926
937
  test_files:
@@ -962,15 +973,19 @@ test_files:
962
973
  - test/digital_io/output_test.rb
963
974
  - test/digital_io/relay_test.rb
964
975
  - test/digital_io/rotary_encoder_test.rb
976
+ - test/display/canvas_test.rb
965
977
  - test/display/hd44780_test.rb
966
- - test/eeprom/built_in_test.rb
978
+ - test/eeprom/board_test.rb
979
+ - test/helpers/mruby_minitest.rb
980
+ - test/helpers/mruby_runner.rb
967
981
  - test/i2c/bus_test.rb
968
982
  - test/i2c/peripheral_test.rb
983
+ - test/led/apa102_test.rb
969
984
  - test/led/base_test.rb
970
985
  - test/led/rgb_test.rb
971
986
  - test/led/seven_segment_test.rb
987
+ - test/motor/a3967_test.rb
972
988
  - test/motor/servo_test.rb
973
- - test/motor/stepper_test.rb
974
989
  - test/one_wire/bus_enumerator_test.rb
975
990
  - test/one_wire/bus_test.rb
976
991
  - test/one_wire/helper_test.rb
@@ -982,10 +997,10 @@ test_files:
982
997
  - test/sensor/dht_test.rb
983
998
  - test/sensor/ds18b20_test.rb
984
999
  - test/spi/base_register_test.rb
1000
+ - test/spi/bitbang_test.rb
985
1001
  - test/spi/bus_test.rb
986
1002
  - test/spi/input_register_test.rb
987
1003
  - test/spi/output_register_test.rb
988
- - test/spi/peripheral_multi_pin_test.rb
989
- - test/spi/peripheral_single_pin_test.rb
1004
+ - test/spi/peripheral_test.rb
990
1005
  - test/test_helper.rb
991
1006
  - test/uart/bitbang_test.rb
@@ -1,5 +0,0 @@
1
- {
2
- "C_Cpp.dimInactiveRegions": false,
3
- "cmake.configureOnOpen": false,
4
- "C_Cpp.errorSquiggles": "disabled"
5
- }
data/.vscode/tasks.json DELETED
@@ -1,20 +0,0 @@
1
- {
2
- // See https://go.microsoft.com/fwlink/?LinkId=733558
3
- // for the documentation about the tasks.json format
4
- "version": "2.0.0",
5
- "tasks": [
6
- {
7
- "label": "Upload",
8
- "type": "shell",
9
- "command": "./build",
10
- "group": "build"
11
- }
12
-
13
- {
14
- "label": "MiniTest",
15
- "type": "shell",
16
- "command": "rake",
17
- "group": "test"
18
- }
19
- ]
20
- }