denko 0.13.0 → 0.13.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build_avr.yml +2 -4
  3. data/.github/workflows/build_esp32.yml +2 -3
  4. data/.github/workflows/build_esp8266.yml +2 -3
  5. data/.github/workflows/build_megaavr.yml +2 -4
  6. data/.github/workflows/build_ra4m1.yml +57 -0
  7. data/.github/workflows/build_rp2040.yml +2 -4
  8. data/.github/workflows/build_sam3x.yml +1 -3
  9. data/.github/workflows/build_samd.yml +2 -4
  10. data/CHANGELOG.md +60 -0
  11. data/DEPS_CLI.md +8 -6
  12. data/DEPS_IDE.md +9 -7
  13. data/HARDWARE.md +98 -75
  14. data/README.md +48 -59
  15. data/benchmarks/i2c_ssd1306_refresh.rb +74 -0
  16. data/examples/analog_io/ads1115.rb +57 -0
  17. data/examples/analog_io/ads1118.rb +8 -9
  18. data/examples/analog_io/dac_loopback.rb +6 -4
  19. data/examples/analog_io/input.rb +39 -36
  20. data/examples/connection/tcp.rb +1 -1
  21. data/examples/display/hd44780.rb +3 -3
  22. data/examples/display/ssd1306.rb +1 -1
  23. data/examples/pulse_io/buzzer.rb +40 -0
  24. data/examples/sensor/aht20.rb +1 -1
  25. data/lib/denko/analog_io/ads1115.rb +61 -0
  26. data/lib/denko/analog_io/ads1118.rb +10 -120
  27. data/lib/denko/analog_io/ads111x.rb +123 -0
  28. data/lib/denko/analog_io/output.rb +2 -1
  29. data/lib/denko/analog_io.rb +2 -0
  30. data/lib/denko/behaviors/bus_peripheral_addressed.rb +1 -1
  31. data/lib/denko/behaviors/component.rb +1 -1
  32. data/lib/denko/behaviors/input_pin.rb +3 -0
  33. data/lib/denko/behaviors/reader.rb +14 -13
  34. data/lib/denko/behaviors/single_pin.rb +1 -3
  35. data/lib/denko/behaviors/state.rb +1 -0
  36. data/lib/denko/behaviors/subcomponents.rb +2 -2
  37. data/lib/denko/board/core.rb +1 -1
  38. data/lib/denko/board/i2c.rb +1 -4
  39. data/lib/denko/board/map.rb +9 -0
  40. data/lib/denko/board/servo.rb +2 -6
  41. data/lib/denko/board.rb +32 -20
  42. data/lib/denko/connection/board_uart.rb +3 -3
  43. data/lib/denko/connection/flow_control.rb +10 -2
  44. data/lib/denko/digital_io/output.rb +1 -1
  45. data/lib/denko/display/hd44780.rb +18 -18
  46. data/lib/denko/led/seven_segment.rb +18 -19
  47. data/lib/denko/message.rb +6 -14
  48. data/lib/denko/one_wire/bus.rb +1 -1
  49. data/lib/denko/one_wire/{bus_enumeration.rb → bus_enumerator.rb} +16 -8
  50. data/lib/denko/one_wire/helper.rb +1 -1
  51. data/lib/denko/one_wire.rb +1 -1
  52. data/lib/denko/pulse_io/ir_transmitter.rb +1 -2
  53. data/lib/denko/sensor/ds18b20.rb +1 -1
  54. data/lib/denko/version.rb +1 -1
  55. data/lib/denko_cli/packages.rb +7 -1
  56. data/lib/denko_cli/targets.rb +8 -5
  57. data/lib/denko_cli/usage.txt +8 -4
  58. data/src/denko_ethernet.ino +15 -23
  59. data/src/denko_serial.ino +3 -14
  60. data/src/denko_wifi.ino +35 -50
  61. data/src/lib/Denko.cpp +23 -6
  62. data/src/lib/Denko.h +6 -16
  63. data/src/lib/DenkoCoreIO.cpp +3 -3
  64. data/src/lib/DenkoDefines.h +62 -16
  65. data/src/lib/DenkoEEPROM.cpp +9 -1
  66. data/src/lib/DenkoI2C.cpp +11 -9
  67. data/src/lib/DenkoLEDArray.cpp +1 -1
  68. data/target.yml +35 -1
  69. data/test/behaviors/reader_test.rb +8 -1
  70. data/test/board/helper_test.rb +0 -4
  71. data/test/display/hd44780_test.rb +10 -0
  72. data/test/led/seven_segment_test.rb +30 -8
  73. data/test/one_wire/bus_enumerator_test.rb +4 -0
  74. data/test/one_wire/helper_test.rb +5 -5
  75. data/test/sensor/ds18b20_test.rb +10 -0
  76. data/test/test_helper.rb +17 -2
  77. data/vendor/board-maps/.gitmodules +3 -0
  78. data/vendor/board-maps/BoardMap.h +40 -12
  79. data/vendor/board-maps/README.md +1 -0
  80. data/vendor/board-maps/lib/header_parser.rb +30 -5
  81. data/vendor/board-maps/run.rb +11 -1
  82. data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S3.yml +6 -1
  83. data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S3_NOPSRAM.yml +6 -1
  84. data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32_V2.yml +5 -1
  85. data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32S3_N4R2.yml +20 -0
  86. data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32_PICO.yml +2 -1
  87. data/vendor/board-maps/yaml/ARTRONSHOP_RP2_NANO.yml +32 -0
  88. data/vendor/board-maps/yaml/AVR_CIRCUITPLAY.yml +1 -1
  89. data/vendor/board-maps/yaml/AVR_ESPLORA.yml +1 -1
  90. data/vendor/board-maps/yaml/AVR_INDUSTRIAL101.yml +1 -1
  91. data/vendor/board-maps/yaml/AVR_LEONARDO.yml +1 -1
  92. data/vendor/board-maps/yaml/AVR_LEONARDO_ETH.yml +1 -1
  93. data/vendor/board-maps/yaml/AVR_LILYPAD_USB.yml +1 -1
  94. data/vendor/board-maps/yaml/AVR_LININO_ONE.yml +1 -1
  95. data/vendor/board-maps/yaml/AVR_MICRO.yml +1 -1
  96. data/vendor/board-maps/yaml/AVR_ROBOT_CONTROL.yml +1 -1
  97. data/vendor/board-maps/yaml/AVR_ROBOT_MOTOR.yml +1 -1
  98. data/vendor/board-maps/yaml/AVR_YUN.yml +1 -1
  99. data/vendor/board-maps/yaml/AVR_YUNMINI.yml +1 -1
  100. data/vendor/board-maps/yaml/BPI_LEAF_S3.yml +11 -1
  101. data/vendor/board-maps/yaml/BeeMotionS3.yml +6 -1
  102. data/vendor/board-maps/yaml/Bee_Motion.yml +3 -0
  103. data/vendor/board-maps/yaml/Bee_S3.yml +1 -1
  104. data/vendor/board-maps/yaml/CHALLENGER_2040_WIFI6_BLE_RP2040.yml +42 -0
  105. data/vendor/board-maps/yaml/CYTRON_MAKER_FEATHER_AIOT_S3.yml +4 -1
  106. data/vendor/board-maps/yaml/CoreESP32.yml +5 -1
  107. data/vendor/board-maps/yaml/D1_MINI32.yml +10 -1
  108. data/vendor/board-maps/yaml/DENKY.yml +10 -1
  109. data/vendor/board-maps/yaml/DENKY_PICOV3.yml +10 -1
  110. data/vendor/board-maps/yaml/DENKY_WROOM32.yml +10 -1
  111. data/vendor/board-maps/yaml/DFROBOT_FIREBEETLE_2_ESP32E.yml +6 -1
  112. data/vendor/board-maps/yaml/DPU_ESP32.yml +10 -1
  113. data/vendor/board-maps/yaml/D_Duino_32.yml +9 -1
  114. data/vendor/board-maps/yaml/ESP32S2_DEV.yml +11 -1
  115. data/vendor/board-maps/yaml/ESP32S2_THING_PLUS.yml +11 -1
  116. data/vendor/board-maps/yaml/ESP32S2_USB.yml +11 -1
  117. data/vendor/board-maps/yaml/ESP32_DEV.yml +10 -1
  118. data/vendor/board-maps/yaml/ESP32_DEVKIT_LIPO.yml +10 -1
  119. data/vendor/board-maps/yaml/ESP32_IOT_REDBOARD.yml +10 -1
  120. data/vendor/board-maps/yaml/ESP32_PICO.yml +10 -1
  121. data/vendor/board-maps/yaml/ESP32_S3_BOX.yml +4 -1
  122. data/vendor/board-maps/yaml/ESP32_THING.yml +10 -1
  123. data/vendor/board-maps/yaml/ESP32_THING_PLUS.yml +4 -1
  124. data/vendor/board-maps/yaml/ESP32_THING_PLUS_C.yml +4 -1
  125. data/vendor/board-maps/yaml/ESP32_WROOM_DA.yml +10 -1
  126. data/vendor/board-maps/yaml/ESP32_WROVER_KIT.yml +10 -1
  127. data/vendor/board-maps/yaml/ESPECTRO32.yml +10 -1
  128. data/vendor/board-maps/yaml/ESPea32.yml +10 -1
  129. data/vendor/board-maps/yaml/ESPino32.yml +10 -1
  130. data/vendor/board-maps/yaml/FEATHERS2.yml +11 -1
  131. data/vendor/board-maps/yaml/FEATHERS2NEO.yml +2 -1
  132. data/vendor/board-maps/yaml/FEATHERS3.yml +3 -0
  133. data/vendor/board-maps/yaml/FEATHER_ESP32.yml +5 -1
  134. data/vendor/board-maps/yaml/FRANZININHO_WIFI.yml +11 -1
  135. data/vendor/board-maps/yaml/FRANZININHO_WIFI_MSC.yml +11 -1
  136. data/vendor/board-maps/yaml/FROG_ESP32.yml +10 -1
  137. data/vendor/board-maps/yaml/HEALTHYPI_4.yml +10 -1
  138. data/vendor/board-maps/yaml/HONEYLEMON.yml +10 -1
  139. data/vendor/board-maps/yaml/HORNBILL_ESP32_DEV.yml +10 -1
  140. data/vendor/board-maps/yaml/HORNBILL_ESP32_MINIMA.yml +4 -1
  141. data/vendor/board-maps/yaml/IMBRIOS_LOGSENS_V1P1.yml +5 -1
  142. data/vendor/board-maps/yaml/LILYGO_T_DISPLAY_S3.yml +7 -1
  143. data/vendor/board-maps/yaml/LOLIN32.yml +10 -1
  144. data/vendor/board-maps/yaml/LOLIN32_LITE.yml +10 -1
  145. data/vendor/board-maps/yaml/LOLIN_D32.yml +10 -1
  146. data/vendor/board-maps/yaml/LOLIN_D32_PRO.yml +10 -1
  147. data/vendor/board-maps/yaml/LOLIN_S2_MINI.yml +11 -1
  148. data/vendor/board-maps/yaml/LOLIN_S2_PICO.yml +11 -1
  149. data/vendor/board-maps/yaml/LOLIN_S3.yml +9 -1
  150. data/vendor/board-maps/yaml/LOLIN_S3_MINI.yml +9 -1
  151. data/vendor/board-maps/yaml/LOLIN_S3_PRO.yml +9 -1
  152. data/vendor/board-maps/yaml/LoPy.yml +11 -1
  153. data/vendor/board-maps/yaml/LoPy4.yml +11 -1
  154. data/vendor/board-maps/yaml/MAGTAG29_ESP32S2.yml +11 -1
  155. data/vendor/board-maps/yaml/METRO_ESP32S2.yml +11 -1
  156. data/vendor/board-maps/yaml/MGBOT_IOTIK32A.yml +10 -1
  157. data/vendor/board-maps/yaml/MGBOT_IOTIK32B.yml +10 -1
  158. data/vendor/board-maps/yaml/MH_ET_LIVE_ESP32DEVKIT.yml +10 -1
  159. data/vendor/board-maps/yaml/MH_ET_LIVE_ESP32MINIKIT.yml +10 -1
  160. data/vendor/board-maps/yaml/MICROS2.yml +11 -1
  161. data/vendor/board-maps/yaml/MINIMA.yml +15 -0
  162. data/vendor/board-maps/yaml/NANO32.yml +10 -1
  163. data/vendor/board-maps/yaml/Node32s.yml +10 -1
  164. data/vendor/board-maps/yaml/NodeMCU_32S.yml +10 -1
  165. data/vendor/board-maps/yaml/ONEHORSE_ESP32_DEV.yml +11 -1
  166. data/vendor/board-maps/yaml/PIMORONI_PLASMA2040.yml +29 -0
  167. data/vendor/board-maps/yaml/PORTENTA_C33.yml +28 -0
  168. data/vendor/board-maps/yaml/PROS3.yml +6 -1
  169. data/vendor/board-maps/yaml/PYCOM_GPY.yml +11 -1
  170. data/vendor/board-maps/yaml/Piranha.yml +7 -1
  171. data/vendor/board-maps/yaml/Pocket32.yml +10 -1
  172. data/vendor/board-maps/yaml/QUANTUM.yml +10 -1
  173. data/vendor/board-maps/yaml/REDPILL_ESP32S3.yml +11 -1
  174. data/vendor/board-maps/yaml/RMP.yml +11 -1
  175. data/vendor/board-maps/yaml/SAMD_CIRCUITPLAYGROUND_EXPRESS.yml +0 -1
  176. data/vendor/board-maps/yaml/SAM_DUE.yml +3 -1
  177. data/vendor/board-maps/yaml/SONOFF_DUALR3.yml +10 -1
  178. data/vendor/board-maps/yaml/TAMC_TERMOD_S3.yml +11 -1
  179. data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1262.yml +6 -1
  180. data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1268.yml +6 -1
  181. data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1276.yml +6 -1
  182. data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1278.yml +6 -1
  183. data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1280.yml +6 -1
  184. data/vendor/board-maps/yaml/TBeam.yml +6 -1
  185. data/vendor/board-maps/yaml/TINYPICO.yml +10 -1
  186. data/vendor/board-maps/yaml/TINYS2.yml +11 -1
  187. data/vendor/board-maps/yaml/TTGO_LoRa32_V1.yml +11 -1
  188. data/vendor/board-maps/yaml/TTGO_LoRa32_V2.yml +11 -1
  189. data/vendor/board-maps/yaml/TTGO_LoRa32_v21new.yml +11 -1
  190. data/vendor/board-maps/yaml/TTGO_T1.yml +10 -1
  191. data/vendor/board-maps/yaml/TTGO_T7_V13_Mini32.yml +10 -1
  192. data/vendor/board-maps/yaml/TTGO_T7_V14_Mini32.yml +10 -1
  193. data/vendor/board-maps/yaml/TWATCH_2020_V1.yml +0 -1
  194. data/vendor/board-maps/yaml/TWATCH_2020_V2.yml +0 -1
  195. data/vendor/board-maps/yaml/TWATCH_2020_V3.yml +0 -1
  196. data/vendor/board-maps/yaml/TWATCH_BASE.yml +0 -1
  197. data/vendor/board-maps/yaml/TWatch.yml +0 -1
  198. data/vendor/board-maps/yaml/UBLOX_NINA_W10.yml +10 -1
  199. data/vendor/board-maps/yaml/UNOWIFIR4.yml +17 -0
  200. data/vendor/board-maps/yaml/WIPY3.yml +11 -1
  201. data/vendor/board-maps/yaml/XIAO_ESP32S3.yml +2 -1
  202. data/vendor/board-maps/yaml/connaxio_espoir.yml +7 -1
  203. data/vendor/board-maps/yaml/esp32vn_iot_uno.yml +10 -1
  204. data/vendor/board-maps/yaml/heltec_wifi_32_lora_V3.yml +11 -1
  205. data/vendor/board-maps/yaml/heltec_wifi_kit_32.yml +11 -1
  206. data/vendor/board-maps/yaml/heltec_wifi_kit_32_V3.yml +11 -1
  207. data/vendor/board-maps/yaml/heltec_wifi_lora_32.yml +10 -1
  208. data/vendor/board-maps/yaml/heltec_wifi_lora_32_V2.yml +10 -1
  209. data/vendor/board-maps/yaml/heltec_wireless_stick.yml +10 -1
  210. data/vendor/board-maps/yaml/heltec_wireless_stick_LITE.yml +10 -1
  211. data/vendor/board-maps/yaml/openkb.yml +11 -1
  212. data/vendor/board-maps/yaml/roboheart_hercules.yml +10 -1
  213. data/vendor/board-maps/yaml/sensesiot_weizen.yml +10 -1
  214. data/vendor/board-maps/yaml/uPesy_WROOM.yml +10 -1
  215. data/vendor/board-maps/yaml/uPesy_WROVER.yml +10 -1
  216. data/vendor/board-maps/yaml/unphone8.yml +11 -1
  217. data/vendor/board-maps/yaml/unphone9.yml +11 -1
  218. metadata +15 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d685b8963656392d25464b4728bf3ee2191409ac06001418cdddbd465536983d
4
- data.tar.gz: 19103a6a62a0399f27ca9d525c86c516448e853868d548afc3d6b21ba89e7cd3
3
+ metadata.gz: c1cefcc0106edf784dea04c7217bf8475887402da89aacf0c9b578185ee4c152
4
+ data.tar.gz: '08b1bcaac7973a3eb5b2fbbae7b7227cfbdec9250dffe9d41a95a1fe0a90565b'
5
5
  SHA512:
6
- metadata.gz: 61acf4aabaad137625f3ab32341a991f84b69321fc68db253026beae952e5d2bc69b8afa0126a407810860b69fec0ddbfca755171d02cf5b38a1b224d4c20c99
7
- data.tar.gz: f4f63fa0146b463483c95b4474a97dba6c07b77081dd6576bd7efc1d098431a8967e7b5051aaef0fca9cb4dba484e1c7c3cdb0e29b272158b7dfcfa1f93b8f6a
6
+ metadata.gz: a0344465f58fe0e23fb579d7e903a93ecaf49a923270991c471caf674a34bf5fece80e56598878a2e690966461d2f08db15b49eccd58c09de7d2140803f2f77e
7
+ data.tar.gz: 7395727636ea674940fd84a7fdf55b61a32dde2329cf2f561aea7e73ea177098e8346ea7fd2a5ea0b4d6f035a0b88d2e4386ba33a3356966b9afe4322a53912c
@@ -33,9 +33,8 @@ jobs:
33
33
  - name: arduino:avr
34
34
  libraries: |
35
35
  - name: Servo
36
- - name: LiquidCrystal
37
36
  - name: IRremote
38
- version: 4.0.0
37
+ version: 4.1.2
39
38
  - name: Ethernet
40
39
  - name: WiFi
41
40
  - name: Adafruit NeoPixel
@@ -51,11 +50,10 @@ jobs:
51
50
  run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
52
51
 
53
52
  - name: Compile Arduino Sketches
54
- uses: arduino/compile-sketches@v1.0.1
53
+ uses: arduino/compile-sketches@v1.1.0
55
54
  with:
56
55
  platforms: ${{ matrix.board.platforms }}
57
56
  fqbn: ${{ matrix.board.fqbn }}
58
57
  libraries: ${{ matrix.board.libraries }}
59
58
  sketch-paths: |
60
59
  - ${{ steps.generate.outputs.path }}
61
-
@@ -33,7 +33,7 @@ jobs:
33
33
  source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
34
34
  libraries: |
35
35
  - name: IRremoteESP8266
36
- version: 2.8.4
36
+ version: 2.8.5
37
37
  - name: ESP32Servo
38
38
  - name: Adafruit NeoPixel
39
39
 
@@ -48,11 +48,10 @@ jobs:
48
48
  run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
49
49
 
50
50
  - name: Compile Arduino Sketches
51
- uses: arduino/compile-sketches@v1.0.1
51
+ uses: arduino/compile-sketches@v1.1.0
52
52
  with:
53
53
  platforms: ${{ matrix.board.platforms }}
54
54
  fqbn: ${{ matrix.board.fqbn }}
55
55
  libraries: ${{ matrix.board.libraries }}
56
56
  sketch-paths: |
57
57
  - ${{ steps.generate.outputs.path }}
58
-
@@ -33,7 +33,7 @@ jobs:
33
33
  source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
34
34
  libraries: |
35
35
  - name: IRremoteESP8266
36
- version: 2.8.4
36
+ version: 2.8.5
37
37
  - name: Adafruit NeoPixel
38
38
 
39
39
  steps:
@@ -47,11 +47,10 @@ jobs:
47
47
  run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
48
48
 
49
49
  - name: Compile Arduino Sketches
50
- uses: arduino/compile-sketches@v1.0.1
50
+ uses: arduino/compile-sketches@v1.1.0
51
51
  with:
52
52
  platforms: ${{ matrix.board.platforms }}
53
53
  fqbn: ${{ matrix.board.fqbn }}
54
54
  libraries: ${{ matrix.board.libraries }}
55
55
  sketch-paths: |
56
56
  - ${{ steps.generate.outputs.path }}
57
-
@@ -33,9 +33,8 @@ jobs:
33
33
  - name: arduino:megaavr
34
34
  libraries: |
35
35
  - name: Servo
36
- - name: LiquidCrystal
37
36
  - name: IRremote
38
- version: 4.0.0
37
+ version: 4.1.2
39
38
  - name: Ethernet
40
39
  - name: WiFi
41
40
  - name: Adafruit NeoPixel
@@ -51,11 +50,10 @@ jobs:
51
50
  run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
52
51
 
53
52
  - name: Compile Arduino Sketches
54
- uses: arduino/compile-sketches@v1.0.1
53
+ uses: arduino/compile-sketches@v1.1.0
55
54
  with:
56
55
  platforms: ${{ matrix.board.platforms }}
57
56
  fqbn: ${{ matrix.board.fqbn }}
58
57
  libraries: ${{ matrix.board.libraries }}
59
58
  sketch-paths: |
60
59
  - ${{ steps.generate.outputs.path }}
61
-
@@ -0,0 +1,57 @@
1
+ name: Build / RA4M1
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ pull_request:
7
+ paths:
8
+ - 'src/**'
9
+ - '.github/workflows/build_ra4m1.yml'
10
+
11
+ push:
12
+ paths:
13
+ - 'src/**'
14
+ - '.github/workflows/build_ra4m1.yml'
15
+
16
+ jobs:
17
+ samd-zero:
18
+ name: samd ${{ matrix.sketches.name }}
19
+
20
+ runs-on: ubuntu-latest
21
+
22
+ strategy:
23
+ matrix:
24
+ sketches:
25
+ - name: serial
26
+ - name: ethernet
27
+ - name: wifi
28
+
29
+ board:
30
+ - fqbn: arduino:renesas_uno:minima
31
+ denko-target: ra4m1
32
+ platforms: |
33
+ - name: arduino:renesas_uno
34
+ libraries: |
35
+ - name: Servo
36
+ - name: Ethernet
37
+ - name: WiFi
38
+ - name: Adafruit NeoPixel
39
+
40
+ steps:
41
+ - name: Checkout
42
+ uses: actions/checkout@v3
43
+ with:
44
+ submodules: true
45
+
46
+ - name: Generate
47
+ id: generate
48
+ run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
49
+
50
+ - name: Compile Arduino Sketches
51
+ uses: arduino/compile-sketches@v1.1.0
52
+ with:
53
+ platforms: ${{ matrix.board.platforms }}
54
+ fqbn: ${{ matrix.board.fqbn }}
55
+ libraries: ${{ matrix.board.libraries }}
56
+ sketch-paths: |
57
+ - ${{ steps.generate.outputs.path }}
@@ -34,9 +34,8 @@ jobs:
34
34
  source-url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
35
35
  libraries: |
36
36
  - name: Servo
37
- - name: LiquidCrystal
38
37
  - name: IRremote
39
- version: 4.0.0
38
+ version: 4.1.2
40
39
  - name: Ethernet
41
40
  - name: WiFi
42
41
 
@@ -51,11 +50,10 @@ jobs:
51
50
  run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
52
51
 
53
52
  - name: Compile Arduino Sketches
54
- uses: arduino/compile-sketches@v1.0.1
53
+ uses: arduino/compile-sketches@v1.1.0
55
54
  with:
56
55
  platforms: ${{ matrix.board.platforms }}
57
56
  fqbn: ${{ matrix.board.fqbn }}
58
57
  libraries: ${{ matrix.board.libraries }}
59
58
  sketch-paths: |
60
59
  - ${{ steps.generate.outputs.path }}
61
-
@@ -33,7 +33,6 @@ jobs:
33
33
  - name: arduino:sam
34
34
  libraries: |
35
35
  - name: Servo
36
- - name: LiquidCrystal
37
36
  - name: Ethernet
38
37
  - name: WiFi
39
38
  - name: Adafruit NeoPixel
@@ -49,11 +48,10 @@ jobs:
49
48
  run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
50
49
 
51
50
  - name: Compile Arduino Sketches
52
- uses: arduino/compile-sketches@v1.0.1
51
+ uses: arduino/compile-sketches@v1.1.0
53
52
  with:
54
53
  platforms: ${{ matrix.board.platforms }}
55
54
  fqbn: ${{ matrix.board.fqbn }}
56
55
  libraries: ${{ matrix.board.libraries }}
57
56
  sketch-paths: |
58
57
  - ${{ steps.generate.outputs.path }}
59
-
@@ -33,9 +33,8 @@ jobs:
33
33
  - name: arduino:samd
34
34
  libraries: |
35
35
  - name: Servo
36
- - name: LiquidCrystal
37
36
  - name: IRremote
38
- version: 4.0.0
37
+ version: 4.1.2
39
38
  - name: Ethernet
40
39
  - name: WiFi
41
40
  - name: Adafruit NeoPixel
@@ -51,11 +50,10 @@ jobs:
51
50
  run: echo "path=$(./bin/denko sketch ${{ matrix.sketches.name }} --target ${{ matrix.board.denko-target }})" >> $GITHUB_OUTPUT
52
51
 
53
52
  - name: Compile Arduino Sketches
54
- uses: arduino/compile-sketches@v1.0.1
53
+ uses: arduino/compile-sketches@v1.1.0
55
54
  with:
56
55
  platforms: ${{ matrix.board.platforms }}
57
56
  fqbn: ${{ matrix.board.fqbn }}
58
57
  libraries: ${{ matrix.board.libraries }}
59
58
  sketch-paths: |
60
59
  - ${{ steps.generate.outputs.path }}
61
-
data/CHANGELOG.md CHANGED
@@ -1,5 +1,65 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.13.2
4
+
5
+ ### New Boards
6
+
7
+ - Arduino UNO R4 Minima & Wi-Fi (`--target ra4m1`):
8
+ - Mostly working
9
+ - IR-remote and WS2812 libraries do not support this chip. Disabled temporarily.
10
+ - Hardware serial disabled until further testing.
11
+ - Wi-Fi still untested.
12
+
13
+ ### New Components
14
+
15
+ - ADS1115 Analog-to-Digital Converter:
16
+ - Class: `Denko::AnalogIO::ADS1115`.
17
+ - Connects via I2C bus. Driver written in Ruby.
18
+ - Can be used directly by calling `ADS1115#read` with the 2 config register bytes.
19
+ - `#read` automatically waits for conversion before reading result.
20
+ - Implements `BoardProxy` interface, so `AnalogIO::Input` can use it in place of `Board`.
21
+ - For each `AnalogIO::Input` subcomponent:
22
+ - Negative pin (1 or 3) of differential pair can be set with the keyword argument `negative_pin:`
23
+ - Gain can be set with the keyword argument `gain:`
24
+ - Sample rate can be set with the keyword argument `sample_rate:`
25
+ - Sample rate doesn't affect update rate. Higher sample rates oversample for a single reading, increasing resolution.
26
+ - `ADS1115` sets `@volts_per_bit` in the subcomponent, so exact voltages can be calculated.
27
+ - There is no listening interface for subcomponents.
28
+ - Built in comparator not implemented.
29
+ - Basically an I2C version of ADS1118 with the temperature sensor swapped for comparator.
30
+
31
+ ### Optimizations
32
+
33
+ - Boards now declare their serial RX buffer size and maximum I2C transaction size in handshake. This makes it possible to send data as fast as possible without data loss.
34
+ - Added `benchmarks` folder and a simple SSD1306 screen redrawing benchmark, with results for many chips.
35
+ - Changed many instance methods to use keyword args instead of options hash pattern. Better performance everywhere, but will matter most in mruby.
36
+ - Many small performance improvemnts taken from mruby implementation to keep code as similar as possible across both.
37
+
38
+ ### Minor Changes
39
+
40
+ - Improved detection of default serial interface and EEPROM availability at the sketch level.
41
+ - Pins defined as any of `:SDA0, :SCL0, :MISO0, :MOSI0, :SCK0, :SS0` in a loaded board map are automatically copied to the key without the trailing 0, i.e. `:SDA` and so forth. This is convenient for chips like the RP2040 which don't define the "non-zero" pins at all.
42
+ - Simplified handling of Wi-Fi reconnection in that sketch.
43
+ - Wi-Fi sketch now prints its connection details to serial on each reconnect, as well as startup.
44
+ - Updated both IR libraries to latest version.
45
+
46
+ ### Bug Fixes
47
+
48
+ - Display::HD44780 was trying to write 1 and 0 as String instead of Integer to digital output pins.
49
+ - Wi-Fi and Ethernet sketches could get stuck in an endless loop when switching between a TCP client and the Serial interface fallback.
50
+ - SAMD21 could hang on I2C when writing lots of data. This has to do with its serial buffer not being saturated somehow? Fixed though.
51
+ - Board#set_register_divider wouldn't raise the correct ArgumentError if the divider given was out of range.
52
+ - Updated the arduino-yaml-board-maps project to prevent ESP32 chips from wrongly map many of their ADC pins.
53
+ - ESP32 variants, other than the original V1, could try to assign more LEDC (PWM) channels than they actually have.
54
+
55
+ ### Removed
56
+
57
+ - Removed the `:pad` option from Message::pack. Nothing was using it and padding bytes should be handled in the component class anyway.
58
+
59
+ ## 0.13.1
60
+
61
+ Fixes critical 1-Wire bugs introduced when namespace was reorganized for 0.13.0.
62
+
3
63
  ## 0.13.0
4
64
 
5
65
  ### New Features
data/DEPS_CLI.md CHANGED
@@ -14,13 +14,14 @@ arduino-cli core update-index
14
14
  arduino-cli core install arduino:megaavr
15
15
  arduino-cli core install arduino:sam
16
16
  arduino-cli core install arduino:samd
17
+ arduino-cli core install arduino:renesas_uno
17
18
  arduino-cli core install esp8266:esp8266
18
19
  arduino-cli core install esp32:esp32
19
20
  arduino-cli core install rp2040:rp2040
20
21
  arduino-cli lib install Servo
21
22
  arduino-cli lib install Ethernet
22
23
  arduino-cli lib install WiFi
23
- arduino-cli lib install IRremote@4.0.0
24
+ arduino-cli lib install IRremote@4.1.2
24
25
  arduino-cli lib install IRremoteESP8266@2.8.4
25
26
  arduino-cli lib install ESP32Servo
26
27
  arduino-cli lib install "Adafruit NeoPixel"
@@ -33,7 +34,7 @@ arduino-cli core install arduino:megaavr
33
34
  arduino-cli lib install Servo
34
35
  arduino-cli lib install Ethernet
35
36
  arduino-cli lib install WiFi
36
- arduino-cli lib install IRremote@4.0.0
37
+ arduino-cli lib install IRremote@4.1.2
37
38
  arduino-cli lib install "Adafruit NeoPixel"
38
39
  ````
39
40
 
@@ -42,10 +43,11 @@ arduino-cli lib install "Adafruit NeoPixel"
42
43
  arduino-cli core update-index
43
44
  arduino-cli core install arduino:sam
44
45
  arduino-cli core install arduino:samd
46
+ arduino-cli core install arduino:renesas_uno
45
47
  arduino-cli lib install Servo
46
48
  arduino-cli lib install Ethernet
47
49
  arduino-cli lib install WiFi
48
- arduino-cli lib install IRremote@4.0.0
50
+ arduino-cli lib install IRremote@4.1.2
49
51
  arduino-cli lib install "Adafruit NeoPixel"
50
52
  ````
51
53
 
@@ -55,7 +57,7 @@ arduino-cli config init
55
57
  arduino-cli config add board_manager.additional_urls https://arduino.esp8266.com/stable/package_esp8266com_index.json
56
58
  arduino-cli core update-index
57
59
  arduino-cli core install esp8266:esp8266
58
- arduino-cli lib install IRremoteESP8266@2.8.4
60
+ arduino-cli lib install IRremoteESP8266@2.8.5
59
61
  arduino-cli lib install "Adafruit NeoPixel"
60
62
  ````
61
63
 
@@ -66,7 +68,7 @@ arduino-cli config add board_manager.additional_urls https://raw.githubuserconte
66
68
  arduino-cli core update-index
67
69
  arduino-cli core install esp32:esp32
68
70
  arduino-cli lib install ESP32Servo
69
- arduino-cli lib install IRremoteESP8266@2.8.4
71
+ arduino-cli lib install IRremoteESP8266@2.8.5
70
72
  arduino-cli lib install "Adafruit NeoPixel"
71
73
  ````
72
74
 
@@ -76,5 +78,5 @@ arduino-cli config init
76
78
  arduino-cli config add board_manager.additional_urls https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
77
79
  arduino-cli core update-index
78
80
  arduino-cli core install rp2040:rp2040
79
- arduino-cli lib install IRremote@4.0.0
81
+ arduino-cli lib install IRremote@4.1.2
80
82
  ````
data/DEPS_IDE.md CHANGED
@@ -31,6 +31,7 @@ All platforms will require libraries to be installed. To install a library do th
31
31
  Arduino megaAVR Boards
32
32
  Arduino SAM Boards (32-bits ARM Cortex-M3)
33
33
  Arduino SAMD Boards (32-bits ARM Cortex-M0+)
34
+ Arduino UNO R4 Boards
34
35
  ESP8266 Boards
35
36
  ESP32 Boards
36
37
  ````
@@ -39,8 +40,8 @@ All platforms will require libraries to be installed. To install a library do th
39
40
  Servo by Michael Margolis, Arduino
40
41
  Ethernet by Various
41
42
  WiFi by Arduino
42
- IRremote @ v4.0.0 by shirriff, z3to, ArminJo
43
- IRremoteESP82666 @ v2.8.4 by David Conran, Sebastien Warin
43
+ IRremote @ v4.1.2 by shirriff, z3to, ArminJo
44
+ IRremoteESP82666 @ v2.8.5 by David Conran, Sebastien Warin
44
45
  ESP32Servo by Kevin Harrington, John K. Bennett
45
46
  Adafruit NeoPixel by Adafruit
46
47
  ````
@@ -55,7 +56,7 @@ All platforms will require libraries to be installed. To install a library do th
55
56
  Servo by Michael Margolis, Arduino
56
57
  Ethernet by Various
57
58
  WiFi by Arduino
58
- IRremote @ v4.0.0 by shirriff, z3to, ArminJo
59
+ IRremote @ v4.1.2 by shirriff, z3to, ArminJo
59
60
  Adafruit NeoPixel by Adafruit
60
61
  ````
61
62
 
@@ -64,13 +65,14 @@ All platforms will require libraries to be installed. To install a library do th
64
65
  ````
65
66
  Arduino SAM Boards (32-bits ARM Cortex-M3)
66
67
  Arduino SAMD Boards (32-bits ARM Cortex-M0+)
68
+ Arduino UNO R4 Boards
67
69
  ````
68
70
  * Libraries:
69
71
  ````
70
72
  Servo by Michael Margolis, Arduino
71
73
  Ethernet by Various
72
74
  WiFi by Arduino
73
- IRremote @ v4.0.0 by shirriff, z3to, ArminJo
75
+ IRremote @ v4.1.2 by shirriff, z3to, ArminJo
74
76
  Adafruit NeoPixel by Adafruit
75
77
  ````
76
78
 
@@ -85,7 +87,7 @@ All platforms will require libraries to be installed. To install a library do th
85
87
  ````
86
88
  * Libraries:
87
89
  ````
88
- IRremoteESP82666 @ v2.8.4 by David Conran, Sebastien Warin
90
+ IRremoteESP82666 @ v2.8.5 by David Conran, Sebastien Warin
89
91
  Adafruit NeoPixel by Adafruit
90
92
  ````
91
93
 
@@ -100,7 +102,7 @@ All platforms will require libraries to be installed. To install a library do th
100
102
  ````
101
103
  * Libraries (latest version unless specified):
102
104
  ````
103
- IRremoteESP82666 @ v2.8.4 by David Conran, Sebastien Warin
105
+ IRremoteESP82666 @ v2.8.5 by David Conran, Sebastien Warin
104
106
  ESP32Servo by Kevin Harrington, John K. Bennett
105
107
  Adafruit NeoPixel by Adafruit
106
108
  ````
@@ -116,5 +118,5 @@ All platforms will require libraries to be installed. To install a library do th
116
118
  ````
117
119
  * Libraries:
118
120
  ````
119
- IRremote @ v4.0.0 by shirriff, z3to, ArminJo
121
+ IRremote @ v4.1.2 by shirriff, z3to, ArminJo
120
122
  ````