denko 0.13.6 → 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 (499) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/{build_avr.yml → build_atmega_avr.yml} +19 -18
  3. data/.github/workflows/{build_megaavr.yml → build_atmega_megaavr.yml} +19 -18
  4. data/.github/workflows/{build_sam3x.yml → build_atsam3x.yml} +18 -17
  5. data/.github/workflows/{build_samd.yml → build_atsamd21.yml} +19 -18
  6. data/.github/workflows/build_esp32.yml +19 -18
  7. data/.github/workflows/build_esp32c3.yml +58 -0
  8. data/.github/workflows/build_esp32c6.yml +59 -0
  9. data/.github/workflows/build_esp32h2.yml +58 -0
  10. data/.github/workflows/build_esp32s2.yml +59 -0
  11. data/.github/workflows/build_esp32s3.yml +59 -0
  12. data/.github/workflows/build_esp8266.yml +16 -15
  13. data/.github/workflows/build_ra4m1.yml +17 -16
  14. data/.github/workflows/build_rp2040.yml +19 -17
  15. data/.github/workflows/ruby.yml +20 -20
  16. data/CHANGELOG.md +398 -11
  17. data/DEPS_CLI.md +16 -16
  18. data/DEPS_IDE.md +39 -39
  19. data/MICROCONTROLLERS.md +103 -0
  20. data/PERIPHERALS.md +178 -0
  21. data/README.md +73 -58
  22. data/Rakefile +1 -1
  23. data/build +1 -1
  24. data/denko.gemspec +11 -3
  25. data/lib/denko/analog_io/ads1100.rb +127 -0
  26. data/lib/denko/analog_io/ads1115.rb +8 -25
  27. data/lib/denko/analog_io/ads1118.rb +12 -27
  28. data/lib/denko/analog_io/ads111x.rb +39 -21
  29. data/lib/denko/analog_io/input.rb +29 -55
  30. data/lib/denko/analog_io/input_helper.rb +42 -0
  31. data/lib/denko/analog_io/joystick.rb +87 -0
  32. data/lib/denko/analog_io/output.rb +5 -5
  33. data/lib/denko/analog_io/potentiometer.rb +3 -9
  34. data/lib/denko/analog_io.rb +22 -7
  35. data/lib/denko/behaviors/board_proxy.rb +13 -1
  36. data/lib/denko/behaviors/bus_controller.rb +3 -1
  37. data/lib/denko/behaviors/bus_controller_addressed.rb +1 -0
  38. data/lib/denko/behaviors/bus_peripheral.rb +3 -4
  39. data/lib/denko/behaviors/bus_peripheral_addressed.rb +8 -6
  40. data/lib/denko/behaviors/callbacks.rb +18 -14
  41. data/lib/denko/behaviors/component.rb +12 -14
  42. data/lib/denko/behaviors/input_pin.rb +14 -15
  43. data/lib/denko/behaviors/lifecycle.rb +51 -0
  44. data/lib/denko/behaviors/listener.rb +9 -3
  45. data/lib/denko/behaviors/multi_pin.rb +22 -20
  46. data/lib/denko/behaviors/output_pin.rb +9 -4
  47. data/lib/denko/behaviors/poller.rb +11 -2
  48. data/lib/denko/behaviors/reader.rb +109 -21
  49. data/lib/denko/behaviors/single_pin.rb +3 -4
  50. data/lib/denko/behaviors/state.rb +24 -13
  51. data/lib/denko/behaviors/subcomponents.rb +72 -12
  52. data/lib/denko/behaviors/threaded.rb +19 -8
  53. data/lib/denko/behaviors.rb +36 -22
  54. data/lib/denko/board/core.rb +36 -18
  55. data/lib/denko/board/eeprom.rb +1 -1
  56. data/lib/denko/board/i2c.rb +15 -15
  57. data/lib/denko/board/i2c_bit_bang.rb +53 -0
  58. data/lib/denko/board/infrared.rb +6 -6
  59. data/lib/denko/board/led_array.rb +6 -5
  60. data/lib/denko/board/map.rb +6 -2
  61. data/lib/denko/board/one_wire.rb +3 -3
  62. data/lib/denko/board/spi.rb +35 -30
  63. data/lib/denko/board/spi_bit_bang.rb +14 -15
  64. data/lib/denko/board.rb +41 -36
  65. data/lib/denko/connection/binary_echo.rb +17 -0
  66. data/lib/denko/connection/flow_control.rb +12 -16
  67. data/lib/denko/connection/handshake.rb +2 -0
  68. data/lib/denko/connection/serial.rb +5 -5
  69. data/lib/denko/digital_io/button.rb +4 -0
  70. data/lib/denko/digital_io/c_bit_bang.rb +15 -0
  71. data/lib/denko/digital_io/input.rb +4 -5
  72. data/lib/denko/digital_io/output.rb +19 -10
  73. data/lib/denko/digital_io/pcf8574.rb +114 -0
  74. data/lib/denko/digital_io/relay.rb +2 -0
  75. data/lib/denko/digital_io/rotary_encoder.rb +83 -61
  76. data/lib/denko/digital_io.rb +24 -5
  77. data/lib/denko/display/canvas.rb +350 -157
  78. data/lib/denko/display/font/bmp_5x7.rb +142 -0
  79. data/lib/denko/display/font/bmp_6x8.rb +142 -0
  80. data/lib/denko/display/font/bmp_8x16.rb +141 -0
  81. data/lib/denko/display/font.rb +22 -0
  82. data/lib/denko/display/hd44780.rb +152 -105
  83. data/lib/denko/display/il0373.rb +186 -0
  84. data/lib/denko/display/mono_oled.rb +193 -0
  85. data/lib/denko/display/pcd8544.rb +154 -0
  86. data/lib/denko/display/pixel_common.rb +83 -0
  87. data/lib/denko/display/sh1106.rb +38 -0
  88. data/lib/denko/display/sh1107.rb +10 -0
  89. data/lib/denko/display/spi_common.rb +35 -0
  90. data/lib/denko/display/spi_epaper_common.rb +30 -0
  91. data/lib/denko/display/ssd1306.rb +6 -168
  92. data/lib/denko/display/ssd1680.rb +14 -0
  93. data/lib/denko/display/ssd1681.rb +8 -0
  94. data/lib/denko/display/ssd168x.rb +227 -0
  95. data/lib/denko/display/st7302.rb +207 -0
  96. data/lib/denko/display/st7565.rb +166 -0
  97. data/lib/denko/display.rb +40 -3
  98. data/lib/denko/eeprom/at24c.rb +67 -0
  99. data/lib/denko/eeprom/board.rb +69 -0
  100. data/lib/denko/eeprom.rb +15 -1
  101. data/lib/denko/helpers/engine_check.rb +13 -0
  102. data/lib/denko/helpers/mutex_stub.rb +13 -0
  103. data/lib/denko/helpers.rb +6 -0
  104. data/lib/denko/i2c/bit_bang.rb +32 -0
  105. data/lib/denko/i2c/bus.rb +8 -36
  106. data/lib/denko/i2c/bus_common.rb +50 -0
  107. data/lib/denko/i2c/peripheral.rb +32 -19
  108. data/lib/denko/i2c.rb +17 -2
  109. data/lib/denko/led/apa102.rb +42 -30
  110. data/lib/denko/led/base.rb +13 -2
  111. data/lib/denko/led/rgb.rb +18 -14
  112. data/lib/denko/led/seven_segment.rb +24 -9
  113. data/lib/denko/led/ws2812.rb +10 -7
  114. data/lib/denko/led.rb +17 -8
  115. data/lib/denko/message.rb +5 -0
  116. data/lib/denko/motor/{stepper.rb → a3967.rb} +12 -15
  117. data/lib/denko/motor/l298.rb +11 -10
  118. data/lib/denko/motor/servo.rb +37 -15
  119. data/lib/denko/motor.rb +16 -3
  120. data/lib/denko/one_wire/bus.rb +31 -23
  121. data/lib/denko/one_wire/bus_enumerator.rb +25 -14
  122. data/lib/denko/one_wire/helper.rb +4 -2
  123. data/lib/denko/one_wire/peripheral.rb +0 -3
  124. data/lib/denko/one_wire.rb +18 -5
  125. data/lib/denko/pulse_io/buzzer.rb +11 -9
  126. data/lib/denko/pulse_io/{ir_transmitter.rb → ir_output.rb} +6 -5
  127. data/lib/denko/pulse_io/pwm_output.rb +94 -15
  128. data/lib/denko/pulse_io.rb +17 -3
  129. data/lib/denko/rtc/ds3231.rb +13 -14
  130. data/lib/denko/rtc.rb +14 -1
  131. data/lib/denko/sensor/aht.rb +35 -38
  132. data/lib/denko/sensor/bme280.rb +76 -92
  133. data/lib/denko/sensor/bmp180.rb +46 -48
  134. data/lib/denko/sensor/dht.rb +34 -7
  135. data/lib/denko/sensor/ds18b20.rb +41 -34
  136. data/lib/denko/sensor/hcsr04.rb +7 -5
  137. data/lib/denko/sensor/hdc1080.rb +174 -0
  138. data/lib/denko/sensor/helper.rb +37 -0
  139. data/lib/denko/sensor/htu21d.rb +57 -57
  140. data/lib/denko/sensor/htu31d.rb +36 -36
  141. data/lib/denko/sensor/jsnsr04t.rb +49 -0
  142. data/lib/denko/sensor/qmp6988.rb +34 -48
  143. data/lib/denko/sensor/rcwl9620.rb +3 -5
  144. data/lib/denko/sensor/sht3x.rb +27 -24
  145. data/lib/denko/sensor/sht4x.rb +125 -0
  146. data/lib/denko/sensor/vl53l0x.rb +58 -0
  147. data/lib/denko/sensor.rb +33 -16
  148. data/lib/denko/spi/base_register.rb +25 -21
  149. data/lib/denko/spi/bit_bang.rb +17 -51
  150. data/lib/denko/spi/bus.rb +15 -29
  151. data/lib/denko/spi/bus_common.rb +33 -0
  152. data/lib/denko/spi/input_register.rb +37 -31
  153. data/lib/denko/spi/output_register.rb +33 -39
  154. data/lib/denko/spi/peripheral.rb +81 -14
  155. data/lib/denko/spi.rb +21 -6
  156. data/lib/denko/uart/bit_bang.rb +7 -30
  157. data/lib/denko/uart/common.rb +33 -0
  158. data/lib/denko/uart/hardware.rb +10 -34
  159. data/lib/denko/uart.rb +16 -2
  160. data/lib/denko/version.rb +1 -1
  161. data/lib/denko.rb +23 -16
  162. data/lib/denko_cli/generator.rb +2 -2
  163. data/lib/denko_cli/packages.rb +8 -10
  164. data/lib/denko_cli/targets.rb +13 -13
  165. data/lib/denko_cli/targets.txt +23 -24
  166. data/lib/denko_cli/usage.txt +1 -1
  167. data/src/denko_ethernet.ino +0 -14
  168. data/src/denko_serial.ino +0 -14
  169. data/src/denko_wifi.ino +6 -15
  170. data/src/lib/Denko.cpp +65 -16
  171. data/src/lib/Denko.h +46 -30
  172. data/src/lib/DenkoCoreIO.cpp +57 -102
  173. data/src/lib/DenkoDefines.h +32 -46
  174. data/src/lib/DenkoI2C.cpp +54 -45
  175. data/src/lib/DenkoI2CBB.cpp +238 -0
  176. data/src/lib/DenkoIROut.cpp +12 -7
  177. data/src/lib/DenkoLEDArray.cpp +29 -13
  178. data/src/lib/DenkoSPI.cpp +36 -33
  179. data/src/lib/DenkoSPIBB.cpp +19 -20
  180. data/target.yml +37 -2
  181. data/test/analog_io/input_test.rb +1 -1
  182. data/test/analog_io/potentiometer_test.rb +12 -12
  183. data/test/behaviors/board_proxy_test.rb +1 -1
  184. data/test/behaviors/bus_peripheral_test.rb +4 -4
  185. data/test/behaviors/callbacks_test.rb +28 -10
  186. data/test/behaviors/component_test.rb +32 -14
  187. data/test/behaviors/input_pin_test.rb +14 -9
  188. data/test/behaviors/multi_pin_test.rb +14 -4
  189. data/test/behaviors/output_pin_test.rb +11 -8
  190. data/test/behaviors/poller_test.rb +1 -0
  191. data/test/behaviors/reader_test.rb +3 -2
  192. data/test/behaviors/subcomponents_test.rb +22 -2
  193. data/test/board/board_test.rb +9 -9
  194. data/test/board/core_test.rb +15 -11
  195. data/test/board/i2c_test.rb +39 -33
  196. data/test/board/infrared_test.rb +1 -1
  197. data/test/board/message_test.rb +17 -11
  198. data/test/board/one_wire_test.rb +25 -14
  199. data/test/board/spi_test.rb +45 -29
  200. data/test/digital_io/button_test.rb +15 -0
  201. data/test/digital_io/input_test.rb +2 -2
  202. data/test/digital_io/relay_test.rb +18 -0
  203. data/test/digital_io/rotary_encoder_test.rb +80 -60
  204. data/test/display/canvas_test.rb +306 -0
  205. data/test/display/hd44780_test.rb +34 -7
  206. data/test/eeprom/board_test.rb +45 -0
  207. data/test/helpers/mruby_minitest.rb +95 -0
  208. data/test/helpers/mruby_runner.rb +13 -0
  209. data/test/i2c/bus_test.rb +108 -29
  210. data/test/i2c/peripheral_test.rb +38 -19
  211. data/test/led/apa102_test.rb +24 -0
  212. data/test/led/base_test.rb +2 -1
  213. data/test/led/rgb_test.rb +9 -9
  214. data/test/led/seven_segment_test.rb +7 -7
  215. data/test/motor/{stepper_test.rb → a3967_test.rb} +4 -4
  216. data/test/motor/servo_test.rb +1 -1
  217. data/test/one_wire/bus_enumerator_test.rb +1 -1
  218. data/test/one_wire/bus_test.rb +43 -35
  219. data/test/one_wire/peripheral_test.rb +5 -17
  220. data/test/pulse_io/buzzer_test.rb +7 -4
  221. data/test/pulse_io/{ir_transmitter_test.rb → ir_output_test.rb} +15 -10
  222. data/test/pulse_io/pwm_output_test.rb +74 -18
  223. data/test/rtc/ds3231_test.rb +13 -14
  224. data/test/sensor/dht_test.rb +12 -12
  225. data/test/sensor/ds18b20_test.rb +4 -8
  226. data/test/spi/bitbang_test.rb +27 -0
  227. data/test/spi/bus_test.rb +24 -34
  228. data/test/spi/input_register_test.rb +17 -17
  229. data/test/spi/output_register_test.rb +10 -28
  230. data/test/spi/peripheral_test.rb +73 -0
  231. data/test/test_helper.rb +44 -121
  232. data/vendor/board-maps/BoardMap.h +678 -54
  233. data/vendor/board-maps/lib/header_parser.rb +12 -2
  234. data/vendor/board-maps/yaml/ADAFRUIT_CAMERA_ESP32S3.yml +2 -2
  235. data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32C6.yml +15 -0
  236. data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32_V2.yml +1 -1
  237. data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_ADALOGGER.yml +44 -0
  238. data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32C3.yml +1 -0
  239. data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32S2.yml +1 -0
  240. data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32S3_N4R2.yml +1 -0
  241. data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32S3_NOPSRAM.yml +1 -0
  242. data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32_PICO.yml +1 -0
  243. data/vendor/board-maps/yaml/ALFREDO_NOU3.yml +2 -0
  244. data/vendor/board-maps/yaml/AMKEN_BB.yml +48 -0
  245. data/vendor/board-maps/yaml/AMKEN_ES.yml +48 -0
  246. data/vendor/board-maps/yaml/AMKEN_REVELOP.yml +48 -0
  247. data/vendor/board-maps/yaml/AMKEN_REVELOP_PLUS.yml +48 -0
  248. data/vendor/board-maps/yaml/ASL_CAN_X2.yml +41 -0
  249. data/vendor/board-maps/yaml/ATD143_S3.yml +1 -0
  250. data/vendor/board-maps/yaml/BHARATPI_A7672S_4G.yml +14 -0
  251. data/vendor/board-maps/yaml/BHARATPI_LORA.yml +14 -0
  252. data/vendor/board-maps/yaml/BHARATPI_NODE_WIFI.yml +14 -0
  253. data/vendor/board-maps/yaml/BLING.yml +25 -0
  254. data/vendor/board-maps/yaml/BRIDGETEK_IDM2040_7A.yml +48 -0
  255. data/vendor/board-maps/yaml/Bee_Motion_Mini.yml +13 -1
  256. data/vendor/board-maps/yaml/Breadstick_Raspberry.yml +31 -0
  257. data/vendor/board-maps/yaml/CEZERIO_DEV_ESP32C6.yml +14 -0
  258. data/vendor/board-maps/yaml/CEZERIO_MINI_DEV_ESP32C6.yml +12 -0
  259. data/vendor/board-maps/yaml/CIRCUITART_ZERO_S3.yml +71 -0
  260. data/vendor/board-maps/yaml/CODECELLC3.yml +13 -0
  261. data/vendor/board-maps/yaml/CYOBOT_V2_ESP32S3.yml +7 -0
  262. data/vendor/board-maps/yaml/DFROBOT_BEETLE_ESP32C6.yml +8 -0
  263. data/vendor/board-maps/yaml/DFROBOT_FIREBEETLE_2_ESP32C6.yml +20 -0
  264. data/vendor/board-maps/yaml/DFROBOT_FIREBEETLE_ESP32.yml +46 -0
  265. data/vendor/board-maps/yaml/DPTECHNICS_WALTER.yml +39 -0
  266. data/vendor/board-maps/yaml/EDGES3D.yml +25 -0
  267. data/vendor/board-maps/yaml/ELECROW_CROWPANEL_7.yml +8 -0
  268. data/vendor/board-maps/yaml/ESP32C2_DEV.yml +12 -0
  269. data/vendor/board-maps/yaml/ESP32C3_DEVKIT_LIPO.yml +14 -0
  270. data/vendor/board-maps/yaml/ESP32C6_DEV.yml +14 -0
  271. data/vendor/board-maps/yaml/ESP32C6_EVB.yml +15 -0
  272. data/vendor/board-maps/yaml/ESP32C6_QWIIC_POCKET.yml +15 -0
  273. data/vendor/board-maps/yaml/ESP32C6_THING_PLUS.yml +14 -0
  274. data/vendor/board-maps/yaml/ESP32H2_DEV.yml +12 -0
  275. data/vendor/board-maps/yaml/ESP32H2_DEVKIT_LIPO.yml +12 -0
  276. data/vendor/board-maps/yaml/ESP32P4_DEV.yml +35 -0
  277. data/vendor/board-maps/yaml/{RMP.yml → ESP32S2_DEVKIT_LIPO.yml} +1 -1
  278. data/vendor/board-maps/yaml/ESP32S2_DEVKIT_LIPO_USB.yml +43 -0
  279. data/vendor/board-maps/yaml/ESP32S3_DEVKIT_LIPO.yml +42 -0
  280. data/vendor/board-maps/yaml/ESP32S3_POWERFEATHER.yml +22 -0
  281. data/vendor/board-maps/yaml/ESP32_2432S028R.yml +14 -0
  282. data/vendor/board-maps/yaml/ESP32_SBC_FABGL.yml +35 -0
  283. data/vendor/board-maps/yaml/EVN_ALPHA.yml +48 -0
  284. data/vendor/board-maps/yaml/FEATHERS3.yml +1 -1
  285. data/vendor/board-maps/yaml/FEATHERS3NEO.yml +32 -0
  286. data/vendor/board-maps/yaml/FRI3D_2024_ESP32S3.yml +43 -0
  287. data/vendor/board-maps/yaml/GEEKBLE_ESP32C3.yml +13 -0
  288. data/vendor/board-maps/yaml/GEEKBLE_NANO_ESP32S3.yml +25 -0
  289. data/vendor/board-maps/yaml/HELTEC_CAPSULE_SENSOR_V3.yml +43 -0
  290. data/vendor/board-maps/yaml/HELTEC_VISION_MASTER_E290.yml +41 -0
  291. data/vendor/board-maps/yaml/HELTEC_VISION_MASTER_E_213.yml +41 -0
  292. data/vendor/board-maps/yaml/HELTEC_VISION_MASTER_T190.yml +41 -0
  293. data/vendor/board-maps/yaml/HELTEC_WIFI_LORA_32_V3.yml +42 -0
  294. data/vendor/board-maps/yaml/HELTEC_WIRELESS_BRIDGE.yml +8 -0
  295. data/vendor/board-maps/yaml/HELTEC_WIRELESS_MINI_SHELL.yml +13 -0
  296. data/vendor/board-maps/yaml/HELTEC_WIRELESS_PAPER.yml +42 -0
  297. data/vendor/board-maps/yaml/HELTEC_WIRELESS_SHELL_V3.yml +42 -0
  298. data/vendor/board-maps/yaml/HELTEC_WIRELESS_STICK_LITE_V3.yml +30 -0
  299. data/vendor/board-maps/yaml/HELTEC_WIRELESS_TRACKER.yml +41 -0
  300. data/vendor/board-maps/yaml/HT_DE01.yml +42 -0
  301. data/vendor/board-maps/yaml/HUIDU_HD_WF2.yml +5 -0
  302. data/vendor/board-maps/yaml/HUIDU_HD_WF4.yml +1 -0
  303. data/vendor/board-maps/yaml/IMBRIOS_LOGSENS_V1P1.yml +1 -1
  304. data/vendor/board-maps/yaml/LILYGO_LORA_CC1101.yml +6 -0
  305. data/vendor/board-maps/yaml/LILYGO_LORA_LR1121.yml +6 -0
  306. data/vendor/board-maps/yaml/LILYGO_LORA_SI4432.yml +6 -0
  307. data/vendor/board-maps/yaml/LILYGO_LORA_SX1262.yml +6 -0
  308. data/vendor/board-maps/yaml/LILYGO_LORA_SX1280.yml +6 -0
  309. data/vendor/board-maps/yaml/LILYGO_T3S3_LR1121.yml +9 -0
  310. data/vendor/board-maps/yaml/LILYGO_T3S3_SX1262.yml +9 -0
  311. data/vendor/board-maps/yaml/LILYGO_T3S3_SX1276.yml +9 -0
  312. data/vendor/board-maps/yaml/LILYGO_T3S3_SX1278.yml +9 -0
  313. data/vendor/board-maps/yaml/LILYGO_T3S3_SX1280.yml +9 -0
  314. data/vendor/board-maps/yaml/LILYGO_T3S3_SX1280PA.yml +8 -0
  315. data/vendor/board-maps/yaml/LILYGO_T_ETH_LITE.yml +21 -0
  316. data/vendor/board-maps/yaml/LOLIN_C3_MINI.yml +0 -1
  317. data/vendor/board-maps/yaml/LOLIN_C3_PICO.yml +13 -0
  318. data/vendor/board-maps/yaml/LOLIN_S3.yml +1 -0
  319. data/vendor/board-maps/yaml/LOLIN_S3_MINI_PRO.yml +40 -0
  320. data/vendor/board-maps/yaml/Lion_Bit_Dev_Board.yml +0 -2
  321. data/vendor/board-maps/yaml/M5STACK_CAPSULE.yml +8 -0
  322. data/vendor/board-maps/yaml/M5STACK_CARDPUTER.yml +8 -0
  323. data/vendor/board-maps/yaml/M5STACK_DIAL.yml +8 -0
  324. data/vendor/board-maps/yaml/M5STACK_DINMETER.yml +8 -0
  325. data/vendor/board-maps/yaml/M5STACK_FIRE.yml +1 -2
  326. data/vendor/board-maps/yaml/M5STACK_NANOC6.yml +17 -0
  327. data/vendor/board-maps/yaml/M5STACK_PAPER.yml +9 -0
  328. data/vendor/board-maps/yaml/M5STACK_POE_CAM.yml +5 -0
  329. data/vendor/board-maps/yaml/M5STACK_STAMP_C3.yml +13 -0
  330. data/vendor/board-maps/yaml/M5STACK_STAMP_S3.yml +4 -0
  331. data/vendor/board-maps/yaml/{M5Stick_C.yml → M5STACK_STICKC.yml} +0 -1
  332. data/vendor/board-maps/yaml/M5STACK_STICKC_PLUS.yml +9 -0
  333. data/vendor/board-maps/yaml/M5STACK_STICKC_PLUS2.yml +9 -0
  334. data/vendor/board-maps/yaml/M5STACK_TOUGH.yml +9 -0
  335. data/vendor/board-maps/yaml/M5STACK_UNIT_CAM.yml +10 -0
  336. data/vendor/board-maps/yaml/M5STACK_UNIT_CAMS3.yml +4 -0
  337. data/vendor/board-maps/yaml/M5Stack_ATOM.yml +0 -1
  338. data/vendor/board-maps/yaml/MAKERGO_C3_SUPERMINI.yml +14 -0
  339. data/vendor/board-maps/yaml/MARBLE_PICO.yml +48 -0
  340. data/vendor/board-maps/yaml/METEHOCA_AKANA_R1.yml +46 -0
  341. data/vendor/board-maps/yaml/NAMINO_BIANCO.yml +13 -0
  342. data/vendor/board-maps/yaml/NEBULAS3.yml +0 -1
  343. data/vendor/board-maps/yaml/NEWSAN_ARCHI.yml +48 -0
  344. data/vendor/board-maps/yaml/NOLOGO_ESP32C3_SUPER_MINI.yml +14 -0
  345. data/vendor/board-maps/yaml/NOLOGO_ESP32S3_PICO.yml +12 -0
  346. data/vendor/board-maps/yaml/OLIMEX_RP2040_PICO30_16MB.yml +48 -0
  347. data/vendor/board-maps/yaml/OLIMEX_RP2040_PICO30_2MB.yml +48 -0
  348. data/vendor/board-maps/yaml/OMGS3.yml +25 -0
  349. data/vendor/board-maps/yaml/OPTA_ANALOG.yml +7 -0
  350. data/vendor/board-maps/yaml/OPTA_DIGITAL.yml +5 -0
  351. data/vendor/board-maps/yaml/PCBCUPID_GLYPHC3.yml +23 -0
  352. data/vendor/board-maps/yaml/PCBCUPID_GLYPHC6.yml +32 -0
  353. data/vendor/board-maps/yaml/PCBCUPID_GLYPHH2.yml +24 -0
  354. data/vendor/board-maps/yaml/PINTRONIX_PINMAX.yml +42 -0
  355. data/vendor/board-maps/yaml/REDPILL_ESP32S3.yml +0 -1
  356. data/vendor/board-maps/yaml/SENSEBOX_MCU_ESP32S2.yml +12 -0
  357. data/vendor/board-maps/yaml/SPARKFUN_ESP32S3_THING_PLUS.yml +13 -0
  358. data/vendor/board-maps/yaml/SPARKFUN_MICROMOD_RP2040.yml +48 -0
  359. data/vendor/board-maps/yaml/SPARKFUN_PRO_MICRO_ESP32C3.yml +24 -0
  360. data/vendor/board-maps/yaml/SPARKLEMOTIONMINI_ESP32.yml +12 -0
  361. data/vendor/board-maps/yaml/SPARKLEMOTIONSTICK_ESP32.yml +11 -0
  362. data/vendor/board-maps/yaml/SPARKLEMOTION_ESP32.yml +12 -0
  363. data/vendor/board-maps/yaml/SQUIXL.yml +7 -0
  364. data/vendor/board-maps/yaml/THINGPULSE_EPULSE_FEATHER.yml +31 -0
  365. data/vendor/board-maps/yaml/THINGPULSE_EPULSE_FEATHER_C6.yml +14 -0
  366. data/vendor/board-maps/yaml/TINYC6.yml +25 -0
  367. data/vendor/board-maps/yaml/T_LORA_PAGER.yml +6 -0
  368. data/vendor/board-maps/yaml/T_WATCH_S3.yml +7 -0
  369. data/vendor/board-maps/yaml/T_WATCH_S3_ULTRA.yml +6 -0
  370. data/vendor/board-maps/yaml/UPESY_EDU_ESP32.yml +28 -0
  371. data/vendor/board-maps/yaml/UPESY_ESP32C3_BASIC.yml +13 -0
  372. data/vendor/board-maps/yaml/UPESY_ESP32C3_MINI.yml +12 -0
  373. data/vendor/board-maps/yaml/UPESY_ESP32S3_BASIC.yml +42 -0
  374. data/vendor/board-maps/yaml/VIRALINK_GATE32_01.yml +6 -0
  375. data/vendor/board-maps/yaml/VIRALINK_GATE32_11.yml +7 -0
  376. data/vendor/board-maps/yaml/WAVESHARE_ESP32S3_TOUCH_LCD_128.yml +8 -0
  377. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_146.yml +41 -0
  378. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_147.yml +41 -0
  379. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_169.yml +38 -0
  380. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_185.yml +41 -0
  381. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_RELAY_6CH.yml +41 -0
  382. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_143.yml +7 -0
  383. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_164.yml +7 -0
  384. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_18.yml +38 -0
  385. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_191.yml +7 -0
  386. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_241.yml +7 -0
  387. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_146.yml +41 -0
  388. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_169.yml +38 -0
  389. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_185.yml +41 -0
  390. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_185_BOX.yml +41 -0
  391. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_21.yml +41 -0
  392. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_28.yml +41 -0
  393. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_4.yml +36 -0
  394. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_43.yml +38 -0
  395. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_43B.yml +38 -0
  396. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_5.yml +38 -0
  397. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_5B.yml +38 -0
  398. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_7.yml +38 -0
  399. data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_ZERO.yml +36 -0
  400. data/vendor/board-maps/yaml/WAVESHARE_RP2040_MATRIX.yml +48 -0
  401. data/vendor/board-maps/yaml/WAVESHARE_RP2040_ONE.yml +1 -0
  402. data/vendor/board-maps/yaml/WAVESHARE_RP2040_PIZERO.yml +47 -0
  403. data/vendor/board-maps/yaml/WAVESHARE_RP2040_ZERO.yml +1 -0
  404. data/vendor/board-maps/yaml/WEACT_STUDIO_ESP32C3.yml +14 -0
  405. data/vendor/board-maps/yaml/WS_ESP32_S3_MATRIX.yml +38 -0
  406. data/vendor/board-maps/yaml/WT32_SC01_PLUS.yml +7 -0
  407. data/vendor/board-maps/yaml/WiFiduinoV2.yml +1 -0
  408. data/vendor/board-maps/yaml/XIAO_ESP32C3.yml +0 -1
  409. data/vendor/board-maps/yaml/XIAO_ESP32C6.yml +22 -0
  410. data/vendor/board-maps/yaml/XIAO_ESP32S3_PLUS.yml +46 -0
  411. data/vendor/board-maps/yaml/YB_ESP32S3_AMP_V2.yml +28 -0
  412. data/vendor/board-maps/yaml/YB_ESP32S3_AMP_V3.yml +28 -0
  413. data/vendor/board-maps/yaml/YB_ESP32S3_ETH.yml +40 -0
  414. data/vendor/board-maps/yaml/mercury.yml +20 -0
  415. data/vendor/board-maps/yaml/unphone9.yml +8 -0
  416. metadata +259 -105
  417. data/.vscode/settings.json +0 -5
  418. data/.vscode/tasks.json +0 -20
  419. data/HARDWARE.md +0 -264
  420. data/benchmarks/i2c_ssd1306_refresh.rb +0 -84
  421. data/examples/advanced/m5_env.rb +0 -48
  422. data/examples/advanced/rotary_encoder_mac_volume.rb +0 -48
  423. data/examples/advanced/ssd1306_time_temp_rh.rb +0 -48
  424. data/examples/analog_io/ads1115.rb +0 -57
  425. data/examples/analog_io/ads1118.rb +0 -73
  426. data/examples/analog_io/dac_loopback.rb +0 -34
  427. data/examples/analog_io/input.rb +0 -55
  428. data/examples/connection/tcp.rb +0 -34
  429. data/examples/digital_io/button.rb +0 -13
  430. data/examples/digital_io/rotary_encoder.rb +0 -26
  431. data/examples/display/hd44780.png +0 -0
  432. data/examples/display/hd44780.rb +0 -39
  433. data/examples/display/ssd1306.rb +0 -40
  434. data/examples/display/ssd1306_s2_pico.rb +0 -29
  435. data/examples/eeprom/built_in.rb +0 -32
  436. data/examples/i2c/search.rb +0 -55
  437. data/examples/led/apa102_bounce.rb +0 -33
  438. data/examples/led/apa102_breathe.rb +0 -45
  439. data/examples/led/builtin_blink.rb +0 -12
  440. data/examples/led/seven_segment_char_echo.rb +0 -15
  441. data/examples/led/ws2812_bounce.rb +0 -32
  442. data/examples/led/ws2812_builtin_blink.rb +0 -21
  443. data/examples/motor/l298.rb +0 -43
  444. data/examples/motor/servo.rb +0 -16
  445. data/examples/motor/stepper.png +0 -0
  446. data/examples/motor/stepper.rb +0 -43
  447. data/examples/pulse_io/buzzer.rb +0 -30
  448. data/examples/pulse_io/ir_transmitter.rb +0 -55
  449. data/examples/rtc/ds3231.rb +0 -48
  450. data/examples/sensor/aht10.rb +0 -19
  451. data/examples/sensor/aht20.rb +0 -19
  452. data/examples/sensor/bme280.rb +0 -38
  453. data/examples/sensor/bmp180.rb +0 -22
  454. data/examples/sensor/dht.rb +0 -24
  455. data/examples/sensor/ds18b20.rb +0 -58
  456. data/examples/sensor/generic_pir.rb +0 -25
  457. data/examples/sensor/hcsr04.rb +0 -14
  458. data/examples/sensor/htu21d.rb +0 -54
  459. data/examples/sensor/htu31d.rb +0 -35
  460. data/examples/sensor/neat_tph_readings.rb +0 -26
  461. data/examples/sensor/qmp6988.rb +0 -53
  462. data/examples/sensor/rcwl9620.rb +0 -15
  463. data/examples/sensor/sht3x.rb +0 -34
  464. data/examples/spi/input_register.rb +0 -50
  465. data/examples/spi/output_register.rb +0 -49
  466. data/examples/spi/ssd_through_register.rb +0 -40
  467. data/examples/spi/two_registers.rb +0 -46
  468. data/examples/uart/bit_bang_read.rb +0 -16
  469. data/examples/uart/bit_bang_write.rb +0 -16
  470. data/examples/uart/board_passthrough.rb +0 -34
  471. data/examples/uart/hardware_loopback.rb +0 -16
  472. data/lib/denko/analog_io/sensor.rb +0 -6
  473. data/lib/denko/eeprom/built_in.rb +0 -69
  474. data/lib/denko/fonts.rb +0 -106
  475. data/lib/denko/sensor/virtual.rb +0 -42
  476. data/src/lib/DenkoIROutESP.cpp +0 -26
  477. data/test/eeprom/built_in_test.rb +0 -61
  478. data/tutorial/01-led/led.fzz +0 -0
  479. data/tutorial/01-led/led.pdf +0 -0
  480. data/tutorial/01-led/led.rb +0 -73
  481. data/tutorial/02-button/button.fzz +0 -0
  482. data/tutorial/02-button/button.pdf +0 -0
  483. data/tutorial/02-button/button.rb +0 -64
  484. data/tutorial/03-potentiometer/potentiometer.fzz +0 -0
  485. data/tutorial/03-potentiometer/potentiometer.pdf +0 -0
  486. data/tutorial/03-potentiometer/potentiometer.rb +0 -62
  487. data/tutorial/04-pwm_led/pwm_led.fzz +0 -0
  488. data/tutorial/04-pwm_led/pwm_led.pdf +0 -0
  489. data/tutorial/04-pwm_led/pwm_led.rb +0 -66
  490. data/tutorial/05-rgb_led/rgb_led.fzz +0 -0
  491. data/tutorial/05-rgb_led/rgb_led.pdf +0 -0
  492. data/tutorial/05-rgb_led/rgb_led.rb +0 -58
  493. data/tutorial/05-rgb_led/rgb_mapping.rb +0 -76
  494. data/vendor/board-maps/yaml/STAMP_S3.yml +0 -8
  495. /data/vendor/board-maps/yaml/{BRIDGETEK_IDM2040-7A.yml → BRIDGETEK_IDM2040_43A.yml} +0 -0
  496. /data/vendor/board-maps/yaml/{heltec_wifi_32_lora_V3.yml → HELTEC_WIRELESS_STICK_V3.yml} +0 -0
  497. /data/vendor/board-maps/yaml/{M5Stack_Core_ESP32.yml → M5STACK_CORE.yml} +0 -0
  498. /data/vendor/board-maps/yaml/{M5Stamp_Pico.yml → M5STACK_STAMP_PICO.yml} +0 -0
  499. /data/vendor/board-maps/yaml/{M5Stack-Timer-CAM.yml → M5STACK_TIMER_CAM.yml} +0 -0
metadata CHANGED
@@ -1,15 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: denko
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.6
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-07-26 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: observer
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: 0.1.2
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: 0.1.2
13
26
  - !ruby/object:Gem::Dependency
14
27
  name: rubyserial
15
28
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +93,7 @@ dependencies:
80
93
  - - "~>"
81
94
  - !ruby/object:Gem::Version
82
95
  version: '0.22'
83
- description: GPIO library for Ruby
96
+ description: Electronics programming in Ruby
84
97
  email:
85
98
  - mail@vickash.com
86
99
  executables:
@@ -88,91 +101,45 @@ executables:
88
101
  extensions: []
89
102
  extra_rdoc_files: []
90
103
  files:
91
- - ".github/workflows/build_avr.yml"
104
+ - ".github/workflows/build_atmega_avr.yml"
105
+ - ".github/workflows/build_atmega_megaavr.yml"
106
+ - ".github/workflows/build_atsam3x.yml"
107
+ - ".github/workflows/build_atsamd21.yml"
92
108
  - ".github/workflows/build_esp32.yml"
109
+ - ".github/workflows/build_esp32c3.yml"
110
+ - ".github/workflows/build_esp32c6.yml"
111
+ - ".github/workflows/build_esp32h2.yml"
112
+ - ".github/workflows/build_esp32s2.yml"
113
+ - ".github/workflows/build_esp32s3.yml"
93
114
  - ".github/workflows/build_esp8266.yml"
94
- - ".github/workflows/build_megaavr.yml"
95
115
  - ".github/workflows/build_ra4m1.yml"
96
116
  - ".github/workflows/build_rp2040.yml"
97
- - ".github/workflows/build_sam3x.yml"
98
- - ".github/workflows/build_samd.yml"
99
117
  - ".github/workflows/ruby.yml"
100
118
  - ".gitignore"
101
119
  - ".gitmodules"
102
- - ".vscode/settings.json"
103
- - ".vscode/tasks.json"
104
120
  - CHANGELOG.md
105
121
  - DEPS_CLI.md
106
122
  - DEPS_IDE.md
107
123
  - Gemfile
108
- - HARDWARE.md
109
124
  - LICENSE
125
+ - MICROCONTROLLERS.md
126
+ - PERIPHERALS.md
110
127
  - README.md
111
128
  - Rakefile
112
- - benchmarks/i2c_ssd1306_refresh.rb
113
129
  - bin/denko
114
130
  - build
115
131
  - denko.gemspec
116
- - examples/advanced/m5_env.rb
117
- - examples/advanced/rotary_encoder_mac_volume.rb
118
- - examples/advanced/ssd1306_time_temp_rh.rb
119
- - examples/analog_io/ads1115.rb
120
- - examples/analog_io/ads1118.rb
121
- - examples/analog_io/dac_loopback.rb
122
- - examples/analog_io/input.rb
123
- - examples/connection/tcp.rb
124
- - examples/digital_io/button.rb
125
- - examples/digital_io/rotary_encoder.rb
126
- - examples/display/hd44780.png
127
- - examples/display/hd44780.rb
128
- - examples/display/ssd1306.rb
129
- - examples/display/ssd1306_s2_pico.rb
130
- - examples/eeprom/built_in.rb
131
- - examples/i2c/search.rb
132
- - examples/led/apa102_bounce.rb
133
- - examples/led/apa102_breathe.rb
134
- - examples/led/builtin_blink.rb
135
- - examples/led/seven_segment_char_echo.rb
136
- - examples/led/ws2812_bounce.rb
137
- - examples/led/ws2812_builtin_blink.rb
138
- - examples/motor/l298.rb
139
- - examples/motor/servo.rb
140
- - examples/motor/stepper.png
141
- - examples/motor/stepper.rb
142
- - examples/pulse_io/buzzer.rb
143
- - examples/pulse_io/ir_transmitter.rb
144
- - examples/rtc/ds3231.rb
145
- - examples/sensor/aht10.rb
146
- - examples/sensor/aht20.rb
147
- - examples/sensor/bme280.rb
148
- - examples/sensor/bmp180.rb
149
- - examples/sensor/dht.rb
150
- - examples/sensor/ds18b20.rb
151
- - examples/sensor/generic_pir.rb
152
- - examples/sensor/hcsr04.rb
153
- - examples/sensor/htu21d.rb
154
- - examples/sensor/htu31d.rb
155
- - examples/sensor/neat_tph_readings.rb
156
- - examples/sensor/qmp6988.rb
157
- - examples/sensor/rcwl9620.rb
158
- - examples/sensor/sht3x.rb
159
- - examples/spi/input_register.rb
160
- - examples/spi/output_register.rb
161
- - examples/spi/ssd_through_register.rb
162
- - examples/spi/two_registers.rb
163
- - examples/uart/bit_bang_read.rb
164
- - examples/uart/bit_bang_write.rb
165
- - examples/uart/board_passthrough.rb
166
- - examples/uart/hardware_loopback.rb
167
132
  - lib/denko.rb
168
133
  - lib/denko/analog_io.rb
134
+ - lib/denko/analog_io/ads1100.rb
169
135
  - lib/denko/analog_io/ads1115.rb
170
136
  - lib/denko/analog_io/ads1118.rb
171
137
  - lib/denko/analog_io/ads111x.rb
172
138
  - lib/denko/analog_io/input.rb
139
+ - lib/denko/analog_io/input_helper.rb
140
+ - lib/denko/analog_io/joystick.rb
173
141
  - lib/denko/analog_io/output.rb
174
142
  - lib/denko/analog_io/potentiometer.rb
175
- - lib/denko/analog_io/sensor.rb
176
143
  - lib/denko/behaviors.rb
177
144
  - lib/denko/behaviors/board_proxy.rb
178
145
  - lib/denko/behaviors/bus_controller.rb
@@ -182,6 +149,7 @@ files:
182
149
  - lib/denko/behaviors/callbacks.rb
183
150
  - lib/denko/behaviors/component.rb
184
151
  - lib/denko/behaviors/input_pin.rb
152
+ - lib/denko/behaviors/lifecycle.rb
185
153
  - lib/denko/behaviors/listener.rb
186
154
  - lib/denko/behaviors/multi_pin.rb
187
155
  - lib/denko/behaviors/output_pin.rb
@@ -195,6 +163,7 @@ files:
195
163
  - lib/denko/board/core.rb
196
164
  - lib/denko/board/eeprom.rb
197
165
  - lib/denko/board/i2c.rb
166
+ - lib/denko/board/i2c_bit_bang.rb
198
167
  - lib/denko/board/infrared.rb
199
168
  - lib/denko/board/led_array.rb
200
169
  - lib/denko/board/map.rb
@@ -209,6 +178,7 @@ files:
209
178
  - lib/denko/board/uart_bit_bang.rb
210
179
  - lib/denko/connection.rb
211
180
  - lib/denko/connection/base.rb
181
+ - lib/denko/connection/binary_echo.rb
212
182
  - lib/denko/connection/board_uart.rb
213
183
  - lib/denko/connection/flow_control.rb
214
184
  - lib/denko/connection/handshake.rb
@@ -216,19 +186,43 @@ files:
216
186
  - lib/denko/connection/tcp.rb
217
187
  - lib/denko/digital_io.rb
218
188
  - lib/denko/digital_io/button.rb
189
+ - lib/denko/digital_io/c_bit_bang.rb
219
190
  - lib/denko/digital_io/input.rb
220
191
  - lib/denko/digital_io/output.rb
192
+ - lib/denko/digital_io/pcf8574.rb
221
193
  - lib/denko/digital_io/relay.rb
222
194
  - lib/denko/digital_io/rotary_encoder.rb
223
195
  - lib/denko/display.rb
224
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
225
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
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
226
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
227
216
  - lib/denko/eeprom.rb
228
- - lib/denko/eeprom/built_in.rb
229
- - 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
230
222
  - lib/denko/i2c.rb
223
+ - lib/denko/i2c/bit_bang.rb
231
224
  - lib/denko/i2c/bus.rb
225
+ - lib/denko/i2c/bus_common.rb
232
226
  - lib/denko/i2c/peripheral.rb
233
227
  - lib/denko/led.rb
234
228
  - lib/denko/led/apa102.rb
@@ -238,9 +232,9 @@ files:
238
232
  - lib/denko/led/ws2812.rb
239
233
  - lib/denko/message.rb
240
234
  - lib/denko/motor.rb
235
+ - lib/denko/motor/a3967.rb
241
236
  - lib/denko/motor/l298.rb
242
237
  - lib/denko/motor/servo.rb
243
- - lib/denko/motor/stepper.rb
244
238
  - lib/denko/one_wire.rb
245
239
  - lib/denko/one_wire/bus.rb
246
240
  - lib/denko/one_wire/bus_enumerator.rb
@@ -249,7 +243,7 @@ files:
249
243
  - lib/denko/one_wire/peripheral.rb
250
244
  - lib/denko/pulse_io.rb
251
245
  - lib/denko/pulse_io/buzzer.rb
252
- - lib/denko/pulse_io/ir_transmitter.rb
246
+ - lib/denko/pulse_io/ir_output.rb
253
247
  - lib/denko/pulse_io/pwm_output.rb
254
248
  - lib/denko/rtc.rb
255
249
  - lib/denko/rtc/ds3231.rb
@@ -261,21 +255,27 @@ files:
261
255
  - lib/denko/sensor/ds18b20.rb
262
256
  - lib/denko/sensor/generic_pir.rb
263
257
  - lib/denko/sensor/hcsr04.rb
258
+ - lib/denko/sensor/hdc1080.rb
259
+ - lib/denko/sensor/helper.rb
264
260
  - lib/denko/sensor/htu21d.rb
265
261
  - lib/denko/sensor/htu31d.rb
262
+ - lib/denko/sensor/jsnsr04t.rb
266
263
  - lib/denko/sensor/qmp6988.rb
267
264
  - lib/denko/sensor/rcwl9620.rb
268
265
  - lib/denko/sensor/sht3x.rb
269
- - lib/denko/sensor/virtual.rb
266
+ - lib/denko/sensor/sht4x.rb
267
+ - lib/denko/sensor/vl53l0x.rb
270
268
  - lib/denko/spi.rb
271
269
  - lib/denko/spi/base_register.rb
272
270
  - lib/denko/spi/bit_bang.rb
273
271
  - lib/denko/spi/bus.rb
272
+ - lib/denko/spi/bus_common.rb
274
273
  - lib/denko/spi/input_register.rb
275
274
  - lib/denko/spi/output_register.rb
276
275
  - lib/denko/spi/peripheral.rb
277
276
  - lib/denko/uart.rb
278
277
  - lib/denko/uart/bit_bang.rb
278
+ - lib/denko/uart/common.rb
279
279
  - lib/denko/uart/hardware.rb
280
280
  - lib/denko/version.rb
281
281
  - lib/denko_cli.rb
@@ -296,8 +296,8 @@ files:
296
296
  - src/lib/DenkoDefines.h
297
297
  - src/lib/DenkoEEPROM.cpp
298
298
  - src/lib/DenkoI2C.cpp
299
+ - src/lib/DenkoI2CBB.cpp
299
300
  - src/lib/DenkoIROut.cpp
300
- - src/lib/DenkoIROutESP.cpp
301
301
  - src/lib/DenkoLEDArray.cpp
302
302
  - src/lib/DenkoOneWire.cpp
303
303
  - src/lib/DenkoPulseInput.cpp
@@ -341,50 +341,42 @@ files:
341
341
  - test/board/tone_test.rb
342
342
  - test/connection/serial_test.rb
343
343
  - test/connection/tcp_test.rb
344
+ - test/digital_io/button_test.rb
344
345
  - test/digital_io/input_test.rb
345
346
  - test/digital_io/output_test.rb
347
+ - test/digital_io/relay_test.rb
346
348
  - test/digital_io/rotary_encoder_test.rb
349
+ - test/display/canvas_test.rb
347
350
  - test/display/hd44780_test.rb
348
- - test/eeprom/built_in_test.rb
351
+ - test/eeprom/board_test.rb
352
+ - test/helpers/mruby_minitest.rb
353
+ - test/helpers/mruby_runner.rb
349
354
  - test/i2c/bus_test.rb
350
355
  - test/i2c/peripheral_test.rb
356
+ - test/led/apa102_test.rb
351
357
  - test/led/base_test.rb
352
358
  - test/led/rgb_test.rb
353
359
  - test/led/seven_segment_test.rb
360
+ - test/motor/a3967_test.rb
354
361
  - test/motor/servo_test.rb
355
- - test/motor/stepper_test.rb
356
362
  - test/one_wire/bus_enumerator_test.rb
357
363
  - test/one_wire/bus_test.rb
358
364
  - test/one_wire/helper_test.rb
359
365
  - test/one_wire/peripheral_test.rb
360
366
  - test/pulse_io/buzzer_test.rb
361
- - test/pulse_io/ir_transmitter_test.rb
367
+ - test/pulse_io/ir_output_test.rb
362
368
  - test/pulse_io/pwm_output_test.rb
363
369
  - test/rtc/ds3231_test.rb
364
370
  - test/sensor/dht_test.rb
365
371
  - test/sensor/ds18b20_test.rb
366
372
  - test/spi/base_register_test.rb
373
+ - test/spi/bitbang_test.rb
367
374
  - test/spi/bus_test.rb
368
375
  - test/spi/input_register_test.rb
369
376
  - test/spi/output_register_test.rb
377
+ - test/spi/peripheral_test.rb
370
378
  - test/test_helper.rb
371
379
  - test/uart/bitbang_test.rb
372
- - tutorial/01-led/led.fzz
373
- - tutorial/01-led/led.pdf
374
- - tutorial/01-led/led.rb
375
- - tutorial/02-button/button.fzz
376
- - tutorial/02-button/button.pdf
377
- - tutorial/02-button/button.rb
378
- - tutorial/03-potentiometer/potentiometer.fzz
379
- - tutorial/03-potentiometer/potentiometer.pdf
380
- - tutorial/03-potentiometer/potentiometer.rb
381
- - tutorial/04-pwm_led/pwm_led.fzz
382
- - tutorial/04-pwm_led/pwm_led.pdf
383
- - tutorial/04-pwm_led/pwm_led.rb
384
- - tutorial/05-rgb_led/rgb_led.fzz
385
- - tutorial/05-rgb_led/rgb_led.pdf
386
- - tutorial/05-rgb_led/rgb_led.rb
387
- - tutorial/05-rgb_led/rgb_mapping.rb
388
380
  - vendor/board-maps/.gitignore
389
381
  - vendor/board-maps/.gitmodules
390
382
  - vendor/board-maps/BoardMap.h
@@ -394,6 +386,7 @@ files:
394
386
  - vendor/board-maps/run.rb
395
387
  - vendor/board-maps/yaml/0XCB_HELIOS.yml
396
388
  - vendor/board-maps/yaml/ADAFRUIT_CAMERA_ESP32S3.yml
389
+ - vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32C6.yml
397
390
  - vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S2.yml
398
391
  - vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S2_REVTFT.yml
399
392
  - vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S2_TFT.yml
@@ -403,6 +396,7 @@ files:
403
396
  - vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S3_TFT.yml
404
397
  - vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32_V2.yml
405
398
  - vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040.yml
399
+ - vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_ADALOGGER.yml
406
400
  - vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_CAN.yml
407
401
  - vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_DVI.yml
408
402
  - vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_PROP_MAKER.yml
@@ -424,9 +418,15 @@ files:
424
418
  - vendor/board-maps/yaml/ADAFRUIT_QTPY_RP2040.yml
425
419
  - vendor/board-maps/yaml/ADAFRUIT_STEMMAFRIEND_RP2040.yml
426
420
  - vendor/board-maps/yaml/ADAFRUIT_TRINKEYQT_RP2040.yml
421
+ - vendor/board-maps/yaml/ALFREDO_NOU3.yml
427
422
  - vendor/board-maps/yaml/ALKS.yml
423
+ - vendor/board-maps/yaml/AMKEN_BB.yml
424
+ - vendor/board-maps/yaml/AMKEN_ES.yml
425
+ - vendor/board-maps/yaml/AMKEN_REVELOP.yml
426
+ - vendor/board-maps/yaml/AMKEN_REVELOP_PLUS.yml
428
427
  - vendor/board-maps/yaml/AMPERKA_WIFI_SLOT.yml
429
428
  - vendor/board-maps/yaml/ARTRONSHOP_RP2_NANO.yml
429
+ - vendor/board-maps/yaml/ASL_CAN_X2.yml
430
430
  - vendor/board-maps/yaml/ATD143_S3.yml
431
431
  - vendor/board-maps/yaml/AVENTEN_S3_SYNC.yml
432
432
  - vendor/board-maps/yaml/AVR_ADK.yml
@@ -460,13 +460,21 @@ files:
460
460
  - vendor/board-maps/yaml/AVR_YUNMINI.yml
461
461
  - vendor/board-maps/yaml/AirM2M_CORE_ESP32C3.yml
462
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
466
+ - vendor/board-maps/yaml/BLING.yml
463
467
  - vendor/board-maps/yaml/BPI_BIT.yml
464
468
  - vendor/board-maps/yaml/BPI_LEAF_S3.yml
465
- - vendor/board-maps/yaml/BRIDGETEK_IDM2040-7A.yml
469
+ - vendor/board-maps/yaml/BRIDGETEK_IDM2040_43A.yml
470
+ - vendor/board-maps/yaml/BRIDGETEK_IDM2040_7A.yml
466
471
  - vendor/board-maps/yaml/BeeMotionS3.yml
467
472
  - vendor/board-maps/yaml/Bee_Motion.yml
468
473
  - vendor/board-maps/yaml/Bee_Motion_Mini.yml
469
474
  - vendor/board-maps/yaml/Bee_S3.yml
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
470
478
  - vendor/board-maps/yaml/CHALLENGER_2040_LORA_RP2040.yml
471
479
  - vendor/board-maps/yaml/CHALLENGER_2040_LTE_RP2040.yml
472
480
  - vendor/board-maps/yaml/CHALLENGER_2040_NFC_RP2040.yml
@@ -477,8 +485,11 @@ files:
477
485
  - vendor/board-maps/yaml/CHALLENGER_2040_WIFI_BLE_RP2040.yml
478
486
  - vendor/board-maps/yaml/CHALLENGER_2040_WIFI_RP2040.yml
479
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
480
490
  - vendor/board-maps/yaml/CONNECTIVITY_2040_LTE_WIFI_BLE_RP2040.yml
481
491
  - vendor/board-maps/yaml/CRABIK_SLOT_ESP32_S3.yml
492
+ - vendor/board-maps/yaml/CYOBOT_V2_ESP32S3.yml
482
493
  - vendor/board-maps/yaml/CYTRON_MAKER_FEATHER_AIOT_S3.yml
483
494
  - vendor/board-maps/yaml/CYTRON_MAKER_NANO_RP2040.yml
484
495
  - vendor/board-maps/yaml/CYTRON_MAKER_PI_RP2040.yml
@@ -492,11 +503,15 @@ files:
492
503
  - vendor/board-maps/yaml/DENKY_PICOV3.yml
493
504
  - vendor/board-maps/yaml/DENKY_WROOM32.yml
494
505
  - vendor/board-maps/yaml/DEPARTMENT_OF_ALCHEMY_MINIMAIN_ESP32S2.yml
506
+ - vendor/board-maps/yaml/DFROBOT_BEETLE_ESP32C6.yml
495
507
  - vendor/board-maps/yaml/DFROBOT_BEETLE_ESP32_C3.yml
496
508
  - vendor/board-maps/yaml/DFROBOT_BEETLE_RP2040.yml
509
+ - vendor/board-maps/yaml/DFROBOT_FIREBEETLE_2_ESP32C6.yml
497
510
  - vendor/board-maps/yaml/DFROBOT_FIREBEETLE_2_ESP32E.yml
498
511
  - vendor/board-maps/yaml/DFROBOT_FIREBEETLE_2_ESP32S3.yml
512
+ - vendor/board-maps/yaml/DFROBOT_FIREBEETLE_ESP32.yml
499
513
  - vendor/board-maps/yaml/DFROBOT_ROMEO_ESP32S3.yml
514
+ - vendor/board-maps/yaml/DPTECHNICS_WALTER.yml
500
515
  - vendor/board-maps/yaml/DPU_ESP32.yml
501
516
  - vendor/board-maps/yaml/DYDK.yml
502
517
  - vendor/board-maps/yaml/DYDK1A.yml
@@ -505,15 +520,31 @@ files:
505
520
  - vendor/board-maps/yaml/DYM.yml
506
521
  - vendor/board-maps/yaml/DYMv2.yml
507
522
  - vendor/board-maps/yaml/D_Duino_32.yml
523
+ - vendor/board-maps/yaml/EDGES3D.yml
524
+ - vendor/board-maps/yaml/ELECROW_CROWPANEL_7.yml
508
525
  - vendor/board-maps/yaml/ELECTRONICCATS_HUNTERCAT_NFC.yml
509
526
  - vendor/board-maps/yaml/ESP320.yml
527
+ - vendor/board-maps/yaml/ESP32C2_DEV.yml
510
528
  - vendor/board-maps/yaml/ESP32C3_DEV.yml
529
+ - vendor/board-maps/yaml/ESP32C3_DEVKIT_LIPO.yml
511
530
  - vendor/board-maps/yaml/ESP32C3_M1_I_KIT.yml
531
+ - vendor/board-maps/yaml/ESP32C6_DEV.yml
532
+ - vendor/board-maps/yaml/ESP32C6_EVB.yml
533
+ - vendor/board-maps/yaml/ESP32C6_QWIIC_POCKET.yml
534
+ - vendor/board-maps/yaml/ESP32C6_THING_PLUS.yml
535
+ - vendor/board-maps/yaml/ESP32H2_DEV.yml
536
+ - vendor/board-maps/yaml/ESP32H2_DEVKIT_LIPO.yml
537
+ - vendor/board-maps/yaml/ESP32P4_DEV.yml
512
538
  - vendor/board-maps/yaml/ESP32S2_DEV.yml
539
+ - vendor/board-maps/yaml/ESP32S2_DEVKIT_LIPO.yml
540
+ - vendor/board-maps/yaml/ESP32S2_DEVKIT_LIPO_USB.yml
513
541
  - vendor/board-maps/yaml/ESP32S2_THING_PLUS.yml
514
542
  - vendor/board-maps/yaml/ESP32S2_USB.yml
515
543
  - vendor/board-maps/yaml/ESP32S3_CAM_LCD.yml
516
544
  - vendor/board-maps/yaml/ESP32S3_DEV.yml
545
+ - vendor/board-maps/yaml/ESP32S3_DEVKIT_LIPO.yml
546
+ - vendor/board-maps/yaml/ESP32S3_POWERFEATHER.yml
547
+ - vendor/board-maps/yaml/ESP32_2432S028R.yml
517
548
  - vendor/board-maps/yaml/ESP32_DEV.yml
518
549
  - vendor/board-maps/yaml/ESP32_DEVKIT_LIPO.yml
519
550
  - vendor/board-maps/yaml/ESP32_EVB.yml
@@ -529,6 +560,7 @@ files:
529
560
  - vendor/board-maps/yaml/ESP32_S3R8N16.yml
530
561
  - vendor/board-maps/yaml/ESP32_S3_BOX.yml
531
562
  - vendor/board-maps/yaml/ESP32_S3_USB_OTG.yml
563
+ - vendor/board-maps/yaml/ESP32_SBC_FABGL.yml
532
564
  - vendor/board-maps/yaml/ESP32_THING.yml
533
565
  - vendor/board-maps/yaml/ESP32_THING_PLUS.yml
534
566
  - vendor/board-maps/yaml/ESP32_THING_PLUS_C.yml
@@ -574,58 +606,109 @@ files:
574
606
  - vendor/board-maps/yaml/ESPea32.yml
575
607
  - vendor/board-maps/yaml/ESPino32.yml
576
608
  - vendor/board-maps/yaml/ET-Board.yml
609
+ - vendor/board-maps/yaml/EVN_ALPHA.yml
577
610
  - vendor/board-maps/yaml/EXTREMEELEXTRONICS_RC2040.yml
578
611
  - vendor/board-maps/yaml/Edgebox-ESP-100.yml
579
612
  - vendor/board-maps/yaml/FEATHERS2.yml
580
613
  - vendor/board-maps/yaml/FEATHERS2NEO.yml
581
614
  - vendor/board-maps/yaml/FEATHERS3.yml
615
+ - vendor/board-maps/yaml/FEATHERS3NEO.yml
582
616
  - vendor/board-maps/yaml/FEATHER_ESP32.yml
583
617
  - vendor/board-maps/yaml/FLYBOARD2040_CORE.yml
584
618
  - vendor/board-maps/yaml/FRANZININHO_WIFI.yml
585
619
  - vendor/board-maps/yaml/FRANZININHO_WIFI_MSC.yml
620
+ - vendor/board-maps/yaml/FRI3D_2024_ESP32S3.yml
586
621
  - vendor/board-maps/yaml/FROG_ESP32.yml
587
622
  - vendor/board-maps/yaml/FUNHOUSE_ESP32S2.yml
623
+ - vendor/board-maps/yaml/GEEKBLE_ESP32C3.yml
624
+ - vendor/board-maps/yaml/GEEKBLE_NANO_ESP32S3.yml
588
625
  - vendor/board-maps/yaml/GEN4_IOD.yml
589
626
  - vendor/board-maps/yaml/GENERIC_RP2040.yml
590
627
  - vendor/board-maps/yaml/HEALTHYPI_4.yml
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
632
+ - vendor/board-maps/yaml/HELTEC_WIFI_LORA_32_V3.yml
633
+ - vendor/board-maps/yaml/HELTEC_WIRELESS_BRIDGE.yml
634
+ - vendor/board-maps/yaml/HELTEC_WIRELESS_MINI_SHELL.yml
635
+ - vendor/board-maps/yaml/HELTEC_WIRELESS_PAPER.yml
636
+ - vendor/board-maps/yaml/HELTEC_WIRELESS_SHELL_V3.yml
637
+ - vendor/board-maps/yaml/HELTEC_WIRELESS_STICK_LITE_V3.yml
638
+ - vendor/board-maps/yaml/HELTEC_WIRELESS_STICK_V3.yml
639
+ - vendor/board-maps/yaml/HELTEC_WIRELESS_TRACKER.yml
591
640
  - vendor/board-maps/yaml/HONEYLEMON.yml
592
641
  - vendor/board-maps/yaml/HORNBILL_ESP32_DEV.yml
593
642
  - vendor/board-maps/yaml/HORNBILL_ESP32_MINIMA.yml
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
594
646
  - vendor/board-maps/yaml/ILABS_2040_RPICO32_RP2040.yml
595
647
  - vendor/board-maps/yaml/IMBRIOS_LOGSENS_V1P1.yml
596
648
  - vendor/board-maps/yaml/INTOROBOT_ESP32_DEV.yml
597
649
  - vendor/board-maps/yaml/IOXESP32.yml
598
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
656
+ - vendor/board-maps/yaml/LILYGO_T3S3_LR1121.yml
657
+ - vendor/board-maps/yaml/LILYGO_T3S3_SX1262.yml
658
+ - vendor/board-maps/yaml/LILYGO_T3S3_SX1276.yml
659
+ - vendor/board-maps/yaml/LILYGO_T3S3_SX1278.yml
660
+ - vendor/board-maps/yaml/LILYGO_T3S3_SX1280.yml
661
+ - vendor/board-maps/yaml/LILYGO_T3S3_SX1280PA.yml
599
662
  - vendor/board-maps/yaml/LILYGO_T_DISPLAY.yml
600
663
  - vendor/board-maps/yaml/LILYGO_T_DISPLAY_S3.yml
664
+ - vendor/board-maps/yaml/LILYGO_T_ETH_LITE.yml
601
665
  - vendor/board-maps/yaml/LIONBITS3_DEV.yml
602
666
  - vendor/board-maps/yaml/LOLIN32.yml
603
667
  - vendor/board-maps/yaml/LOLIN32_LITE.yml
604
668
  - vendor/board-maps/yaml/LOLIN_C3_MINI.yml
669
+ - vendor/board-maps/yaml/LOLIN_C3_PICO.yml
605
670
  - vendor/board-maps/yaml/LOLIN_D32.yml
606
671
  - vendor/board-maps/yaml/LOLIN_D32_PRO.yml
607
672
  - vendor/board-maps/yaml/LOLIN_S2_MINI.yml
608
673
  - vendor/board-maps/yaml/LOLIN_S2_PICO.yml
609
674
  - vendor/board-maps/yaml/LOLIN_S3.yml
610
675
  - vendor/board-maps/yaml/LOLIN_S3_MINI.yml
676
+ - vendor/board-maps/yaml/LOLIN_S3_MINI_PRO.yml
611
677
  - vendor/board-maps/yaml/LOLIN_S3_PRO.yml
612
678
  - vendor/board-maps/yaml/Lion_Bit_Dev_Board.yml
613
679
  - vendor/board-maps/yaml/LoPy.yml
614
680
  - vendor/board-maps/yaml/LoPy4.yml
681
+ - vendor/board-maps/yaml/M5STACK_CAPSULE.yml
682
+ - vendor/board-maps/yaml/M5STACK_CARDPUTER.yml
683
+ - vendor/board-maps/yaml/M5STACK_CORE.yml
615
684
  - vendor/board-maps/yaml/M5STACK_CORES3.yml
616
685
  - vendor/board-maps/yaml/M5STACK_Core2.yml
686
+ - vendor/board-maps/yaml/M5STACK_DIAL.yml
687
+ - vendor/board-maps/yaml/M5STACK_DINMETER.yml
617
688
  - vendor/board-maps/yaml/M5STACK_FIRE.yml
618
- - vendor/board-maps/yaml/M5Stack-Timer-CAM.yml
689
+ - vendor/board-maps/yaml/M5STACK_NANOC6.yml
690
+ - vendor/board-maps/yaml/M5STACK_PAPER.yml
691
+ - vendor/board-maps/yaml/M5STACK_POE_CAM.yml
692
+ - vendor/board-maps/yaml/M5STACK_STAMP_C3.yml
693
+ - vendor/board-maps/yaml/M5STACK_STAMP_PICO.yml
694
+ - vendor/board-maps/yaml/M5STACK_STAMP_S3.yml
695
+ - vendor/board-maps/yaml/M5STACK_STICKC.yml
696
+ - vendor/board-maps/yaml/M5STACK_STICKC_PLUS.yml
697
+ - vendor/board-maps/yaml/M5STACK_STICKC_PLUS2.yml
698
+ - vendor/board-maps/yaml/M5STACK_TIMER_CAM.yml
699
+ - vendor/board-maps/yaml/M5STACK_TOUGH.yml
700
+ - vendor/board-maps/yaml/M5STACK_UNIT_CAM.yml
701
+ - vendor/board-maps/yaml/M5STACK_UNIT_CAMS3.yml
619
702
  - vendor/board-maps/yaml/M5Stack_ATOM.yml
620
703
  - vendor/board-maps/yaml/M5Stack_ATOMS3.yml
621
704
  - vendor/board-maps/yaml/M5Stack_CoreInk.yml
622
- - vendor/board-maps/yaml/M5Stack_Core_ESP32.yml
623
705
  - vendor/board-maps/yaml/M5Stack_Station.yml
624
- - vendor/board-maps/yaml/M5Stamp_Pico.yml
625
- - vendor/board-maps/yaml/M5Stick_C.yml
626
706
  - vendor/board-maps/yaml/MAGTAG29_ESP32S2.yml
707
+ - vendor/board-maps/yaml/MAKERGO_C3_SUPERMINI.yml
708
+ - vendor/board-maps/yaml/MARBLE_PICO.yml
627
709
  - vendor/board-maps/yaml/MELOPERO_COOKIE_RP2040.yml
628
710
  - vendor/board-maps/yaml/MELOPERO_SHAKE_RP2040.yml
711
+ - vendor/board-maps/yaml/METEHOCA_AKANA_R1.yml
629
712
  - vendor/board-maps/yaml/METRO_ESP32S2.yml
630
713
  - vendor/board-maps/yaml/METRO_ESP32S3.yml
631
714
  - vendor/board-maps/yaml/MGBOT_IOTIK32A.yml
@@ -637,6 +720,7 @@ files:
637
720
  - vendor/board-maps/yaml/MOD_WIFI_ESP8266.yml
638
721
  - vendor/board-maps/yaml/Metro.yml
639
722
  - vendor/board-maps/yaml/NAMINO_ARANCIO.yml
723
+ - vendor/board-maps/yaml/NAMINO_BIANCO.yml
640
724
  - vendor/board-maps/yaml/NAMINO_ROSSO.yml
641
725
  - vendor/board-maps/yaml/NANO32.yml
642
726
  - vendor/board-maps/yaml/NANOS3.yml
@@ -644,15 +728,27 @@ files:
644
728
  - vendor/board-maps/yaml/NANO_RP2040_CONNECT.yml
645
729
  - vendor/board-maps/yaml/NEBULAS3.yml
646
730
  - vendor/board-maps/yaml/NEKOSYSTEMS_BL2040_MINI.yml
731
+ - vendor/board-maps/yaml/NEWSAN_ARCHI.yml
732
+ - vendor/board-maps/yaml/NOLOGO_ESP32C3_SUPER_MINI.yml
733
+ - vendor/board-maps/yaml/NOLOGO_ESP32S3_PICO.yml
647
734
  - vendor/board-maps/yaml/NULLBITS_BIT_C_PRO.yml
648
735
  - vendor/board-maps/yaml/Node32s.yml
649
736
  - vendor/board-maps/yaml/NodeMCU_32S.yml
650
737
  - vendor/board-maps/yaml/ODROID_ESP32.yml
738
+ - vendor/board-maps/yaml/OLIMEX_RP2040_PICO30_16MB.yml
739
+ - vendor/board-maps/yaml/OLIMEX_RP2040_PICO30_2MB.yml
740
+ - vendor/board-maps/yaml/OMGS3.yml
651
741
  - vendor/board-maps/yaml/ONEHORSE_ESP32_DEV.yml
742
+ - vendor/board-maps/yaml/OPTA_ANALOG.yml
743
+ - vendor/board-maps/yaml/OPTA_DIGITAL.yml
652
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
653
748
  - vendor/board-maps/yaml/PIMORONI_PGA2040.yml
654
749
  - vendor/board-maps/yaml/PIMORONI_PLASMA2040.yml
655
750
  - vendor/board-maps/yaml/PIMORONI_TINY2040.yml
751
+ - vendor/board-maps/yaml/PINTRONIX_PINMAX.yml
656
752
  - vendor/board-maps/yaml/PORTENTA_C33.yml
657
753
  - vendor/board-maps/yaml/PROS3.yml
658
754
  - vendor/board-maps/yaml/PYCOM_GPY.yml
@@ -666,7 +762,6 @@ files:
666
762
  - vendor/board-maps/yaml/REDPILL_ESP32S3.yml
667
763
  - vendor/board-maps/yaml/REDSCORP_RP2040_EINS.yml
668
764
  - vendor/board-maps/yaml/REDSCORP_RP2040_PROMINI.yml
669
- - vendor/board-maps/yaml/RMP.yml
670
765
  - vendor/board-maps/yaml/SAMD_CIRCUITPLAYGROUND_EXPRESS.yml
671
766
  - vendor/board-maps/yaml/SAMD_MKR1000.yml
672
767
  - vendor/board-maps/yaml/SAMD_MKRFox1200.yml
@@ -685,12 +780,19 @@ files:
685
780
  - vendor/board-maps/yaml/SEA_PICRO.yml
686
781
  - vendor/board-maps/yaml/SEEED_INDICATOR_RP2040.yml
687
782
  - vendor/board-maps/yaml/SEEED_XIAO_RP2040.yml
783
+ - vendor/board-maps/yaml/SENSEBOX_MCU_ESP32S2.yml
688
784
  - vendor/board-maps/yaml/SILICOGNITION_RP2040_SHIM.yml
689
785
  - vendor/board-maps/yaml/SOLDERPARTY_RP2040_STAMP.yml
690
786
  - vendor/board-maps/yaml/SONOFF_DUALR3.yml
787
+ - vendor/board-maps/yaml/SPARKFUN_ESP32S3_THING_PLUS.yml
788
+ - vendor/board-maps/yaml/SPARKFUN_MICROMOD_RP2040.yml
691
789
  - vendor/board-maps/yaml/SPARKFUN_PROMICRO_RP2040.yml
790
+ - vendor/board-maps/yaml/SPARKFUN_PRO_MICRO_ESP32C3.yml
692
791
  - vendor/board-maps/yaml/SPARKFUN_THINGPLUS_RP2040.yml
693
- - vendor/board-maps/yaml/STAMP_S3.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
694
796
  - vendor/board-maps/yaml/TAMC_TERMOD_S3.yml
695
797
  - vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1262.yml
696
798
  - vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1268.yml
@@ -698,6 +800,9 @@ files:
698
800
  - vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1278.yml
699
801
  - vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1280.yml
700
802
  - vendor/board-maps/yaml/TBeam.yml
803
+ - vendor/board-maps/yaml/THINGPULSE_EPULSE_FEATHER.yml
804
+ - vendor/board-maps/yaml/THINGPULSE_EPULSE_FEATHER_C6.yml
805
+ - vendor/board-maps/yaml/TINYC6.yml
701
806
  - vendor/board-maps/yaml/TINYPICO.yml
702
807
  - vendor/board-maps/yaml/TINYS2.yml
703
808
  - vendor/board-maps/yaml/TINYS3.yml
@@ -713,24 +818,60 @@ files:
713
818
  - vendor/board-maps/yaml/TWATCH_2020_V3.yml
714
819
  - vendor/board-maps/yaml/TWATCH_BASE.yml
715
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
716
824
  - vendor/board-maps/yaml/Trueverit_ESP32_Universal_IoT_Driver.yml
717
825
  - vendor/board-maps/yaml/Trueverit_ESP32_Universal_IoT_Driver_MK_II.yml
718
826
  - vendor/board-maps/yaml/UBLOX_NINA_W10.yml
719
827
  - vendor/board-maps/yaml/UBLOX_NORA_W10.yml
720
828
  - vendor/board-maps/yaml/UNOWIFIR4.yml
829
+ - vendor/board-maps/yaml/UPESY_EDU_ESP32.yml
830
+ - vendor/board-maps/yaml/UPESY_ESP32C3_BASIC.yml
831
+ - vendor/board-maps/yaml/UPESY_ESP32C3_MINI.yml
832
+ - vendor/board-maps/yaml/UPESY_ESP32S3_BASIC.yml
721
833
  - vendor/board-maps/yaml/UPESY_RP2040_DEVKIT.yml
722
834
  - vendor/board-maps/yaml/VALTRACK_V4_MFW_ESP32_C3.yml
723
835
  - vendor/board-maps/yaml/VALTRACK_V4_VTS_ESP32_C3.yml
836
+ - vendor/board-maps/yaml/VIRALINK_GATE32_01.yml
837
+ - vendor/board-maps/yaml/VIRALINK_GATE32_11.yml
724
838
  - vendor/board-maps/yaml/VIYALAB_MIZU_RP2040.yml
725
839
  - vendor/board-maps/yaml/WATCHY.yml
726
840
  - vendor/board-maps/yaml/WATCHY_V10.yml
727
841
  - vendor/board-maps/yaml/WATCHY_V15.yml
728
842
  - vendor/board-maps/yaml/WATCHY_V20.yml
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
729
867
  - vendor/board-maps/yaml/WAVESHARE_RP2040_LCD_0_96.yml
730
868
  - vendor/board-maps/yaml/WAVESHARE_RP2040_LCD_1_28.yml
869
+ - vendor/board-maps/yaml/WAVESHARE_RP2040_MATRIX.yml
731
870
  - vendor/board-maps/yaml/WAVESHARE_RP2040_ONE.yml
871
+ - vendor/board-maps/yaml/WAVESHARE_RP2040_PIZERO.yml
732
872
  - vendor/board-maps/yaml/WAVESHARE_RP2040_PLUS.yml
733
873
  - vendor/board-maps/yaml/WAVESHARE_RP2040_ZERO.yml
874
+ - vendor/board-maps/yaml/WEACT_STUDIO_ESP32C3.yml
734
875
  - vendor/board-maps/yaml/WESP32.yml
735
876
  - vendor/board-maps/yaml/WIDORA_AIR.yml
736
877
  - vendor/board-maps/yaml/WIFIDUINO_ESP8266.yml
@@ -739,24 +880,31 @@ files:
739
880
  - vendor/board-maps/yaml/WIZNET_5100S_EVB_PICO.yml
740
881
  - vendor/board-maps/yaml/WIZNET_5500_EVB_PICO.yml
741
882
  - vendor/board-maps/yaml/WIZNET_WIZFI360_EVB_PICO.yml
883
+ - vendor/board-maps/yaml/WS_ESP32_S3_MATRIX.yml
742
884
  - vendor/board-maps/yaml/WT32_ETH01.yml
885
+ - vendor/board-maps/yaml/WT32_SC01_PLUS.yml
743
886
  - vendor/board-maps/yaml/WiFiduino32S3.yml
744
887
  - vendor/board-maps/yaml/WiFiduinoV2.yml
745
888
  - vendor/board-maps/yaml/Wifiduino32.yml
746
889
  - vendor/board-maps/yaml/XIAO_ESP32C3.yml
890
+ - vendor/board-maps/yaml/XIAO_ESP32C6.yml
747
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
748
896
  - vendor/board-maps/yaml/YD_RP2040.yml
749
897
  - vendor/board-maps/yaml/atmegazero_esp32s2.yml
750
898
  - vendor/board-maps/yaml/connaxio_espoir.yml
751
899
  - vendor/board-maps/yaml/esp32vn_iot_uno.yml
752
900
  - vendor/board-maps/yaml/fm_devkit.yml
753
- - vendor/board-maps/yaml/heltec_wifi_32_lora_V3.yml
754
901
  - vendor/board-maps/yaml/heltec_wifi_kit_32.yml
755
902
  - vendor/board-maps/yaml/heltec_wifi_kit_32_V3.yml
756
903
  - vendor/board-maps/yaml/heltec_wifi_lora_32.yml
757
904
  - vendor/board-maps/yaml/heltec_wifi_lora_32_V2.yml
758
905
  - vendor/board-maps/yaml/heltec_wireless_stick.yml
759
906
  - vendor/board-maps/yaml/heltec_wireless_stick_LITE.yml
907
+ - vendor/board-maps/yaml/mercury.yml
760
908
  - vendor/board-maps/yaml/openkb.yml
761
909
  - vendor/board-maps/yaml/roboheart_hercules.yml
762
910
  - vendor/board-maps/yaml/sensesiot_weizen.yml
@@ -769,7 +917,6 @@ homepage: https://github.com/denko-rb/denko
769
917
  licenses:
770
918
  - MIT
771
919
  metadata: {}
772
- post_install_message:
773
920
  rdoc_options: []
774
921
  require_paths:
775
922
  - lib
@@ -777,17 +924,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
777
924
  requirements:
778
925
  - - ">="
779
926
  - !ruby/object:Gem::Version
780
- version: '0'
927
+ version: 2.7.8
781
928
  required_rubygems_version: !ruby/object:Gem::Requirement
782
929
  requirements:
783
930
  - - ">="
784
931
  - !ruby/object:Gem::Version
785
932
  version: '0'
786
933
  requirements: []
787
- rubygems_version: 3.5.9
788
- signing_key:
934
+ rubygems_version: 3.6.7
789
935
  specification_version: 4
790
- summary: Use GPIO, I2C, SPI, UART and more on a connected microcontroller
936
+ summary: Use GPIO, PWM, I2C, SPI, and more, on a connected microcontroller, or single-board-computer
791
937
  test_files:
792
938
  - test/analog_io/input_test.rb
793
939
  - test/analog_io/output_test.rb
@@ -822,31 +968,39 @@ test_files:
822
968
  - test/board/tone_test.rb
823
969
  - test/connection/serial_test.rb
824
970
  - test/connection/tcp_test.rb
971
+ - test/digital_io/button_test.rb
825
972
  - test/digital_io/input_test.rb
826
973
  - test/digital_io/output_test.rb
974
+ - test/digital_io/relay_test.rb
827
975
  - test/digital_io/rotary_encoder_test.rb
976
+ - test/display/canvas_test.rb
828
977
  - test/display/hd44780_test.rb
829
- - test/eeprom/built_in_test.rb
978
+ - test/eeprom/board_test.rb
979
+ - test/helpers/mruby_minitest.rb
980
+ - test/helpers/mruby_runner.rb
830
981
  - test/i2c/bus_test.rb
831
982
  - test/i2c/peripheral_test.rb
983
+ - test/led/apa102_test.rb
832
984
  - test/led/base_test.rb
833
985
  - test/led/rgb_test.rb
834
986
  - test/led/seven_segment_test.rb
987
+ - test/motor/a3967_test.rb
835
988
  - test/motor/servo_test.rb
836
- - test/motor/stepper_test.rb
837
989
  - test/one_wire/bus_enumerator_test.rb
838
990
  - test/one_wire/bus_test.rb
839
991
  - test/one_wire/helper_test.rb
840
992
  - test/one_wire/peripheral_test.rb
841
993
  - test/pulse_io/buzzer_test.rb
842
- - test/pulse_io/ir_transmitter_test.rb
994
+ - test/pulse_io/ir_output_test.rb
843
995
  - test/pulse_io/pwm_output_test.rb
844
996
  - test/rtc/ds3231_test.rb
845
997
  - test/sensor/dht_test.rb
846
998
  - test/sensor/ds18b20_test.rb
847
999
  - test/spi/base_register_test.rb
1000
+ - test/spi/bitbang_test.rb
848
1001
  - test/spi/bus_test.rb
849
1002
  - test/spi/input_register_test.rb
850
1003
  - test/spi/output_register_test.rb
1004
+ - test/spi/peripheral_test.rb
851
1005
  - test/test_helper.rb
852
1006
  - test/uart/bitbang_test.rb