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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f77acd1d470ce9de71af4597293404801630e1a04bafa6cbb6f15a743ebbc90
4
- data.tar.gz: a7edb3d9c2447b7dedc955cb2cbd03b9d0260180dc91ee2f3d6b9ee08623e59f
3
+ metadata.gz: 1184d1bdda22c2ad88e4444495cd97b096bc5b84332bb4171ac7e89eb3c74882
4
+ data.tar.gz: 03eb670f333f242dc9e8cf291dcfece972180b32804f506a6208365d967f7d0c
5
5
  SHA512:
6
- metadata.gz: ca5b50ed73e0713839ff7281cc1cfd1ab9122e5506bb4f68bddbe3ac0051ad7c64931a95efeccfc025e23876abd817583a04775ec09f7163af3b7d5db470f600
7
- data.tar.gz: 7900e8d43a1e224c62ad01a721e6ebd7168875816bb52b9f19e65185302348478a2716c7cfb7dd599f3e0acea73045809ebafcc3cee338ca57e6b15666bb8896
6
+ metadata.gz: 8cf49610e4616d51e00f471799d7474519d7c1fa3c25053bce4ee5f5b5f9a7a748c6ad258a92fabaa7c073b696493e9e9cf0ed76f5fea432619c99e9ea8366b7
7
+ data.tar.gz: aca71a8c3f7f0a042bbd317019e360c5f8f309048a3f84a3bcc8ecd1dcad9de90487932f526f9b03d8071e0b850d1c6a39296904ce7476680641770ca0241f0f
@@ -1,56 +1,57 @@
1
- name: Build / AVR
1
+ name: ATmega AVR
2
2
 
3
3
  on:
4
4
  workflow_dispatch:
5
-
5
+
6
6
  pull_request:
7
7
  paths:
8
- - 'src/**'
9
- - '.github/workflows/build_avr.yml'
8
+ - "src/**"
9
+ - ".github/workflows/build_atmega_avr.yml"
10
10
 
11
11
  push:
12
12
  paths:
13
- - 'src/**'
14
- - '.github/workflows/build_avr.yml'
15
-
13
+ - "src/**"
14
+ - ".github/workflows/build_atmega_avr.yml"
15
+
16
16
  jobs:
17
- avr-uno:
18
- name: avr ${{ matrix.sketches.name }}
19
-
17
+ avr_uno:
18
+ name: atmega avr ${{ matrix.sketches.name }}
19
+
20
20
  runs-on: ubuntu-latest
21
-
21
+
22
22
  strategy:
23
23
  matrix:
24
24
  sketches:
25
25
  - name: serial
26
26
  - name: ethernet
27
27
  - name: wifi
28
-
28
+
29
29
  board:
30
30
  - fqbn: arduino:avr:uno
31
- denko-target: mega
31
+ denko-target: atmega
32
32
  platforms: |
33
33
  - name: arduino:avr
34
34
  libraries: |
35
35
  - name: Servo
36
36
  - name: IRremote
37
- version: 4.1.2
37
+ version: 4.4.2
38
38
  - name: Ethernet
39
39
  - name: WiFi
40
40
  - name: Adafruit NeoPixel
41
-
41
+ version: 1.15.1
42
+
42
43
  steps:
43
44
  - name: Checkout
44
- uses: actions/checkout@v3
45
+ uses: actions/checkout@v4
45
46
  with:
46
47
  submodules: true
47
-
48
+
48
49
  - name: Generate
49
50
  id: generate
50
51
  run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
51
52
 
52
53
  - name: Compile Arduino Sketches
53
- uses: arduino/compile-sketches@v1.1.0
54
+ uses: arduino/compile-sketches@v1.1.1
54
55
  with:
55
56
  platforms: ${{ matrix.board.platforms }}
56
57
  fqbn: ${{ matrix.board.fqbn }}
@@ -1,56 +1,57 @@
1
- name: Build / MegaAVR
1
+ name: ATmega megaAVR
2
2
 
3
3
  on:
4
4
  workflow_dispatch:
5
-
5
+
6
6
  pull_request:
7
7
  paths:
8
- - 'src/**'
9
- - '.github/workflows/build_megaavr.yml'
8
+ - "src/**"
9
+ - ".github/workflows/build_atmega_megaavr.yml"
10
10
 
11
11
  push:
12
12
  paths:
13
- - 'src/**'
14
- - '.github/workflows/build_megaavr.yml'
15
-
13
+ - "src/**"
14
+ - ".github/workflows/build_atmega_megaavr.yml"
15
+
16
16
  jobs:
17
- megaavr-uno2018:
18
- name: megaavr ${{ matrix.sketches.name }}
19
-
17
+ megaavr_uno2018:
18
+ name: atmega megaavr ${{ matrix.sketches.name }}
19
+
20
20
  runs-on: ubuntu-latest
21
-
21
+
22
22
  strategy:
23
23
  matrix:
24
24
  sketches:
25
25
  - name: serial
26
26
  - name: ethernet
27
27
  - name: wifi
28
-
28
+
29
29
  board:
30
30
  - fqbn: arduino:megaavr:uno2018
31
- denko-target: mega
31
+ denko-target: atmega
32
32
  platforms: |
33
33
  - name: arduino:megaavr
34
34
  libraries: |
35
35
  - name: Servo
36
36
  - name: IRremote
37
- version: 4.1.2
37
+ version: 4.4.2
38
38
  - name: Ethernet
39
39
  - name: WiFiNINA
40
40
  - name: Adafruit NeoPixel
41
-
41
+ version: 1.15.1
42
+
42
43
  steps:
43
44
  - name: Checkout
44
- uses: actions/checkout@v3
45
+ uses: actions/checkout@v4
45
46
  with:
46
47
  submodules: true
47
-
48
+
48
49
  - name: Generate
49
50
  id: generate
50
51
  run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
51
52
 
52
53
  - name: Compile Arduino Sketches
53
- uses: arduino/compile-sketches@v1.1.0
54
+ uses: arduino/compile-sketches@v1.1.1
54
55
  with:
55
56
  platforms: ${{ matrix.board.platforms }}
56
57
  fqbn: ${{ matrix.board.fqbn }}
@@ -1,34 +1,34 @@
1
- name: Build / SAM3X
1
+ name: ATSAM3X
2
2
 
3
3
  on:
4
4
  workflow_dispatch:
5
-
5
+
6
6
  pull_request:
7
7
  paths:
8
- - 'src/**'
9
- - '.github/workflows/build_sam3x.yml'
8
+ - "src/**"
9
+ - ".github/workflows/build_atsam3x.yml"
10
10
 
11
11
  push:
12
12
  paths:
13
- - 'src/**'
14
- - '.github/workflows/build_sam3x.yml'
15
-
13
+ - "src/**"
14
+ - ".github/workflows/build_atsam3x.yml"
15
+
16
16
  jobs:
17
- sam3x-due:
18
- name: sam3x ${{ matrix.sketches.name }}
19
-
17
+ arduino_due_x:
18
+ name: atsam3x ${{ matrix.sketches.name }}
19
+
20
20
  runs-on: ubuntu-latest
21
-
21
+
22
22
  strategy:
23
23
  matrix:
24
24
  sketches:
25
25
  - name: serial
26
26
  - name: ethernet
27
27
  - name: wifi
28
-
28
+
29
29
  board:
30
30
  - fqbn: arduino:sam:arduino_due_x
31
- denko-target: sam3x
31
+ denko-target: atsam3x
32
32
  platforms: |
33
33
  - name: arduino:sam
34
34
  libraries: |
@@ -36,19 +36,20 @@ jobs:
36
36
  - name: Ethernet
37
37
  - name: WiFi
38
38
  - name: Adafruit NeoPixel
39
-
39
+ version: 1.15.1
40
+
40
41
  steps:
41
42
  - name: Checkout
42
- uses: actions/checkout@v3
43
+ uses: actions/checkout@v4
43
44
  with:
44
45
  submodules: true
45
-
46
+
46
47
  - name: Generate
47
48
  id: generate
48
49
  run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
49
50
 
50
51
  - name: Compile Arduino Sketches
51
- uses: arduino/compile-sketches@v1.1.0
52
+ uses: arduino/compile-sketches@v1.1.1
52
53
  with:
53
54
  platforms: ${{ matrix.board.platforms }}
54
55
  fqbn: ${{ matrix.board.fqbn }}
@@ -1,56 +1,57 @@
1
- name: Build / SAMD
1
+ name: ATSAMD21
2
2
 
3
3
  on:
4
4
  workflow_dispatch:
5
-
5
+
6
6
  pull_request:
7
7
  paths:
8
- - 'src/**'
9
- - '.github/workflows/build_samd.yml'
8
+ - "src/**"
9
+ - ".github/workflows/build_atsamd21.yml"
10
10
 
11
11
  push:
12
12
  paths:
13
- - 'src/**'
14
- - '.github/workflows/build_samd.yml'
15
-
13
+ - "src/**"
14
+ - ".github/workflows/build_atsamd21.yml"
15
+
16
16
  jobs:
17
- samd-zero:
18
- name: samd ${{ matrix.sketches.name }}
19
-
17
+ arduino_zero_native:
18
+ name: atsamd21 ${{ matrix.sketches.name }}
19
+
20
20
  runs-on: ubuntu-latest
21
-
21
+
22
22
  strategy:
23
23
  matrix:
24
24
  sketches:
25
25
  - name: serial
26
26
  - name: ethernet
27
27
  - name: wifi
28
-
28
+
29
29
  board:
30
30
  - fqbn: arduino:samd:arduino_zero_native
31
- denko-target: samd
31
+ denko-target: atsamd21
32
32
  platforms: |
33
33
  - name: arduino:samd
34
34
  libraries: |
35
35
  - name: Servo
36
36
  - name: IRremote
37
- version: 4.1.2
37
+ version: 4.4.2
38
38
  - name: Ethernet
39
39
  - name: WiFi
40
40
  - name: Adafruit NeoPixel
41
-
41
+ version: 1.15.1
42
+
42
43
  steps:
43
44
  - name: Checkout
44
- uses: actions/checkout@v3
45
+ uses: actions/checkout@v4
45
46
  with:
46
47
  submodules: true
47
-
48
+
48
49
  - name: Generate
49
50
  id: generate
50
51
  run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
51
52
 
52
53
  - name: Compile Arduino Sketches
53
- uses: arduino/compile-sketches@v1.1.0
54
+ uses: arduino/compile-sketches@v1.1.1
54
55
  with:
55
56
  platforms: ${{ matrix.board.platforms }}
56
57
  fqbn: ${{ matrix.board.fqbn }}
@@ -1,55 +1,56 @@
1
- name: Build / ESP32
1
+ name: ESP32
2
2
 
3
3
  on:
4
4
  workflow_dispatch:
5
-
5
+
6
6
  pull_request:
7
7
  paths:
8
- - 'src/**'
9
- - '.github/workflows/build_esp32.yml'
8
+ - "src/**"
9
+ - ".github/workflows/build_esp32.yml"
10
10
 
11
11
  push:
12
12
  paths:
13
- - 'src/**'
14
- - '.github/workflows/build_esp32.yml'
15
-
13
+ - "src/**"
14
+ - ".github/workflows/build_esp32.yml"
15
+
16
16
  jobs:
17
- esp8266-nodemcuv2:
17
+ esp32doit-devkit-v1:
18
18
  name: esp32 ${{ matrix.sketches.name }}
19
-
19
+
20
20
  runs-on: ubuntu-latest
21
-
21
+
22
22
  strategy:
23
23
  matrix:
24
24
  sketches:
25
25
  - name: serial
26
26
  - name: wifi
27
-
27
+
28
28
  board:
29
29
  - fqbn: esp32:esp32:esp32doit-devkit-v1
30
30
  denko-target: esp32
31
31
  platforms: |
32
32
  - name: esp32:esp32
33
- version: 2.0.17
34
33
  source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
35
34
  libraries: |
36
- - name: IRremoteESP8266
37
- version: 2.8.5
38
35
  - name: ESP32Servo
36
+ version: 3.0.6
37
+ - name: IRremote
38
+ version: 4.4.2
39
39
  - name: Adafruit NeoPixel
40
-
40
+ version: 1.15.1
41
+
41
42
  steps:
42
43
  - name: Checkout
43
- uses: actions/checkout@v3
44
+ uses: actions/checkout@v4
44
45
  with:
45
46
  submodules: true
46
-
47
+
47
48
  - name: Generate
48
49
  id: generate
49
50
  run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
50
51
 
51
52
  - name: Compile Arduino Sketches
52
- uses: arduino/compile-sketches@v1.1.0
53
+ uses: arduino/compile-sketches@v1.1.1
53
54
  with:
54
55
  platforms: ${{ matrix.board.platforms }}
55
56
  fqbn: ${{ matrix.board.fqbn }}
@@ -0,0 +1,58 @@
1
+ name: ESP32-C3
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ pull_request:
7
+ paths:
8
+ - "src/**"
9
+ - ".github/workflows/build_esp32c3.yml"
10
+
11
+ push:
12
+ paths:
13
+ - "src/**"
14
+ - ".github/workflows/build_esp32c3.yml"
15
+
16
+ jobs:
17
+ esp32c3:
18
+ name: esp32c3 ${{ matrix.sketches.name }}
19
+
20
+ runs-on: ubuntu-latest
21
+
22
+ strategy:
23
+ matrix:
24
+ sketches:
25
+ - name: serial
26
+ - name: wifi
27
+
28
+ board:
29
+ - fqbn: esp32:esp32:esp32c3
30
+ denko-target: esp32
31
+ platforms: |
32
+ - name: esp32:esp32
33
+ source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
34
+ libraries: |
35
+ - name: ESP32Servo
36
+ version: 3.0.6
37
+ - name: IRremote
38
+ version: 4.4.2
39
+ - name: Adafruit NeoPixel
40
+ version: 1.15.1
41
+ steps:
42
+ - name: Checkout
43
+ uses: actions/checkout@v4
44
+ with:
45
+ submodules: true
46
+
47
+ - name: Generate
48
+ id: generate
49
+ run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
50
+
51
+ - name: Compile Arduino Sketches
52
+ uses: arduino/compile-sketches@v1.1.1
53
+ with:
54
+ platforms: ${{ matrix.board.platforms }}
55
+ fqbn: ${{ matrix.board.fqbn }}
56
+ libraries: ${{ matrix.board.libraries }}
57
+ sketch-paths: |
58
+ - ${{ steps.generate.outputs.path }}
@@ -0,0 +1,59 @@
1
+ name: ESP32-C6
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ pull_request:
7
+ paths:
8
+ - "src/**"
9
+ - ".github/workflows/build_esp32c6.yml"
10
+
11
+ push:
12
+ paths:
13
+ - "src/**"
14
+ - ".github/workflows/build_esp32c6.yml"
15
+
16
+ jobs:
17
+ esp32c6:
18
+ name: esp32c6 ${{ matrix.sketches.name }}
19
+
20
+ runs-on: ubuntu-latest
21
+
22
+ strategy:
23
+ matrix:
24
+ sketches:
25
+ - name: serial
26
+ - name: wifi
27
+
28
+ board:
29
+ - fqbn: esp32:esp32:esp32c6
30
+ denko-target: esp32
31
+ platforms: |
32
+ - name: esp32:esp32
33
+ source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
34
+ libraries: |
35
+ - name: ESP32Servo
36
+ version: 3.0.6
37
+ - name: IRremote
38
+ version: 4.4.2
39
+ - name: Adafruit NeoPixel
40
+ version: 1.15.1
41
+
42
+ steps:
43
+ - name: Checkout
44
+ uses: actions/checkout@v4
45
+ with:
46
+ submodules: true
47
+
48
+ - name: Generate
49
+ id: generate
50
+ run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
51
+
52
+ - name: Compile Arduino Sketches
53
+ uses: arduino/compile-sketches@v1.1.1
54
+ with:
55
+ platforms: ${{ matrix.board.platforms }}
56
+ fqbn: ${{ matrix.board.fqbn }}
57
+ libraries: ${{ matrix.board.libraries }}
58
+ sketch-paths: |
59
+ - ${{ steps.generate.outputs.path }}
@@ -0,0 +1,58 @@
1
+ name: ESP32-H2
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ pull_request:
7
+ paths:
8
+ - "src/**"
9
+ - ".github/workflows/build_esp32h2.yml"
10
+
11
+ push:
12
+ paths:
13
+ - "src/**"
14
+ - ".github/workflows/build_esp32h2.yml"
15
+
16
+ jobs:
17
+ esp32h2:
18
+ name: esp32h2 ${{ matrix.sketches.name }}
19
+
20
+ runs-on: ubuntu-latest
21
+
22
+ strategy:
23
+ matrix:
24
+ sketches:
25
+ - name: serial
26
+
27
+ board:
28
+ - fqbn: esp32:esp32:esp32h2
29
+ denko-target: esp32
30
+ platforms: |
31
+ - name: esp32:esp32
32
+ source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
33
+ libraries: |
34
+ - name: ESP32Servo
35
+ version: 3.0.6
36
+ - name: IRremote
37
+ version: 4.4.2
38
+ - name: Adafruit NeoPixel
39
+ version: 1.15.1
40
+
41
+ steps:
42
+ - name: Checkout
43
+ uses: actions/checkout@v4
44
+ with:
45
+ submodules: true
46
+
47
+ - name: Generate
48
+ id: generate
49
+ run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
50
+
51
+ - name: Compile Arduino Sketches
52
+ uses: arduino/compile-sketches@v1.1.1
53
+ with:
54
+ platforms: ${{ matrix.board.platforms }}
55
+ fqbn: ${{ matrix.board.fqbn }}
56
+ libraries: ${{ matrix.board.libraries }}
57
+ sketch-paths: |
58
+ - ${{ steps.generate.outputs.path }}
@@ -0,0 +1,59 @@
1
+ name: ESP32-S2
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ pull_request:
7
+ paths:
8
+ - "src/**"
9
+ - ".github/workflows/build_esp32s2.yml"
10
+
11
+ push:
12
+ paths:
13
+ - "src/**"
14
+ - ".github/workflows/build_esp32s2.yml"
15
+
16
+ jobs:
17
+ esp32s2:
18
+ name: esp32s2 ${{ matrix.sketches.name }}
19
+
20
+ runs-on: ubuntu-latest
21
+
22
+ strategy:
23
+ matrix:
24
+ sketches:
25
+ - name: serial
26
+ - name: wifi
27
+
28
+ board:
29
+ - fqbn: esp32:esp32:esp32s2
30
+ denko-target: esp32
31
+ platforms: |
32
+ - name: esp32:esp32
33
+ source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
34
+ libraries: |
35
+ - name: ESP32Servo
36
+ version: 3.0.6
37
+ - name: IRremote
38
+ version: 4.4.2
39
+ - name: Adafruit NeoPixel
40
+ version: 1.15.1
41
+
42
+ steps:
43
+ - name: Checkout
44
+ uses: actions/checkout@v4
45
+ with:
46
+ submodules: true
47
+
48
+ - name: Generate
49
+ id: generate
50
+ run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
51
+
52
+ - name: Compile Arduino Sketches
53
+ uses: arduino/compile-sketches@v1.1.1
54
+ with:
55
+ platforms: ${{ matrix.board.platforms }}
56
+ fqbn: ${{ matrix.board.fqbn }}
57
+ libraries: ${{ matrix.board.libraries }}
58
+ sketch-paths: |
59
+ - ${{ steps.generate.outputs.path }}
@@ -0,0 +1,59 @@
1
+ name: ESP32-S3
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ pull_request:
7
+ paths:
8
+ - "src/**"
9
+ - ".github/workflows/build_esp32s3.yml"
10
+
11
+ push:
12
+ paths:
13
+ - "src/**"
14
+ - ".github/workflows/build_esp32s3.yml"
15
+
16
+ jobs:
17
+ esp32s3:
18
+ name: esp32s3 ${{ matrix.sketches.name }}
19
+
20
+ runs-on: ubuntu-latest
21
+
22
+ strategy:
23
+ matrix:
24
+ sketches:
25
+ - name: serial
26
+ - name: wifi
27
+
28
+ board:
29
+ - fqbn: esp32:esp32:esp32s3
30
+ denko-target: esp32
31
+ platforms: |
32
+ - name: esp32:esp32
33
+ source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
34
+ libraries: |
35
+ - name: ESP32Servo
36
+ version: 3.0.6
37
+ - name: IRremote
38
+ version: 4.4.2
39
+ - name: Adafruit NeoPixel
40
+ version: 1.15.1
41
+
42
+ steps:
43
+ - name: Checkout
44
+ uses: actions/checkout@v4
45
+ with:
46
+ submodules: true
47
+
48
+ - name: Generate
49
+ id: generate
50
+ run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
51
+
52
+ - name: Compile Arduino Sketches
53
+ uses: arduino/compile-sketches@v1.1.1
54
+ with:
55
+ platforms: ${{ matrix.board.platforms }}
56
+ fqbn: ${{ matrix.board.fqbn }}
57
+ libraries: ${{ matrix.board.libraries }}
58
+ sketch-paths: |
59
+ - ${{ steps.generate.outputs.path }}