denko 0.13.5 → 0.14.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/{build_avr.yml → build_atmega_avr.yml} +18 -18
- data/.github/workflows/{build_megaavr.yml → build_atmega_megaavr.yml} +18 -18
- data/.github/workflows/{build_sam3x.yml → build_atsam3x.yml} +17 -17
- data/.github/workflows/{build_samd.yml → build_atsamd21.yml} +18 -18
- data/.github/workflows/build_esp32.yml +17 -17
- data/.github/workflows/build_esp32c3.yml +57 -0
- data/.github/workflows/build_esp32c6.yml +57 -0
- data/.github/workflows/build_esp32h2.yml +56 -0
- data/.github/workflows/build_esp32s2.yml +57 -0
- data/.github/workflows/build_esp32s3.yml +57 -0
- data/.github/workflows/build_esp8266.yml +15 -15
- data/.github/workflows/build_ra4m1.yml +16 -16
- data/.github/workflows/build_rp2040.yml +17 -16
- data/.github/workflows/ruby.yml +20 -20
- data/CHANGELOG.md +195 -11
- data/DEPS_CLI.md +9 -9
- data/DEPS_IDE.md +17 -18
- data/HARDWARE.md +50 -51
- data/README.md +61 -53
- data/Rakefile +1 -1
- data/benchmarks/analog_listen.rb +49 -0
- data/benchmarks/digital_write.rb +28 -0
- data/benchmarks/i2c_ssd1306_refresh.rb +13 -6
- data/build +1 -1
- data/denko.gemspec +5 -2
- data/examples/advanced/{m5_env.rb → m5_env3.rb} +12 -14
- data/examples/advanced/rotary_encoder_mac_volume.rb +18 -13
- data/examples/advanced/ssd1306_time_temp_rh.rb +8 -13
- data/examples/analog_io/ads1100.rb +48 -0
- data/examples/analog_io/ads1115.rb +2 -2
- data/examples/analog_io/ads1118.rb +3 -11
- data/examples/analog_io/input.rb +17 -16
- data/examples/analog_io/input_smoothing.rb +27 -0
- data/examples/analog_io/potentiometer.rb +31 -0
- data/examples/connection/binary_echo.rb +34 -0
- data/examples/connection/tcp.rb +12 -27
- data/examples/digital_io/button.rb +7 -3
- data/examples/digital_io/relay.rb +17 -0
- data/examples/digital_io/rotary_encoder.rb +21 -11
- data/examples/display/hd44780.rb +13 -5
- data/examples/display/ssd1306.rb +20 -17
- data/examples/display/ssd1306_s2_pico.rb +2 -2
- data/examples/i2c/search.rb +10 -26
- data/examples/led/apa102_bounce.rb +3 -4
- data/examples/led/apa102_fade.rb +44 -0
- data/examples/led/builtin_blink.rb +3 -1
- data/examples/led/builtin_fade.rb +19 -0
- data/examples/led/rgb_led.rb +31 -0
- data/examples/led/seven_segment_char_echo.rb +4 -2
- data/examples/led/ws2812_bounce.rb +5 -7
- data/examples/led/ws2812_builtin_blink.rb +3 -2
- data/examples/led/ws2812_fade.rb +43 -0
- data/examples/motor/l298.rb +10 -8
- data/examples/motor/servo.rb +4 -3
- data/examples/motor/stepper.rb +13 -13
- data/examples/one_wire/search.rb +32 -0
- data/examples/pulse_io/buzzer.rb +8 -3
- data/examples/pulse_io/ir_output.rb +51 -0
- data/examples/pulse_io/pwm_output.rb +30 -0
- data/examples/rtc/ds3231.rb +18 -35
- data/examples/sensor/aht10.rb +4 -6
- data/examples/sensor/aht20.rb +4 -6
- data/examples/sensor/bme280.rb +4 -4
- data/examples/sensor/bmp180.rb +9 -5
- data/examples/sensor/dht.rb +20 -15
- data/examples/sensor/ds18b20.rb +20 -21
- data/examples/sensor/generic_pir.rb +4 -2
- data/examples/sensor/hcsr04.rb +5 -2
- data/examples/sensor/htu21d.rb +9 -20
- data/examples/sensor/htu31d.rb +7 -9
- data/examples/sensor/neat_tph_readings.rb +15 -9
- data/examples/sensor/qmp6988.rb +5 -7
- data/examples/sensor/rcwl9620.rb +3 -3
- data/examples/sensor/sht3x.rb +4 -6
- data/examples/spi/bitbang_loopback.rb +46 -0
- data/examples/spi/input_register.rb +9 -19
- data/examples/spi/output_register.rb +9 -17
- data/examples/spi/ssd_through_registers.rb +28 -0
- data/examples/spi/two_registers.rb +18 -24
- data/examples/uart/bit_bang_demo.rb +25 -0
- data/examples/uart/board_passthrough.rb +19 -13
- data/examples/uart/hardware_loopback.rb +1 -1
- data/lib/denko/analog_io/ads1100.rb +127 -0
- data/lib/denko/analog_io/ads1115.rb +8 -25
- data/lib/denko/analog_io/ads1118.rb +10 -25
- data/lib/denko/analog_io/ads111x.rb +25 -11
- data/lib/denko/analog_io/input.rb +29 -55
- data/lib/denko/analog_io/input_helper.rb +42 -0
- data/lib/denko/analog_io/output.rb +5 -5
- data/lib/denko/analog_io/potentiometer.rb +6 -8
- data/lib/denko/analog_io.rb +2 -1
- data/lib/denko/behaviors/board_proxy.rb +13 -1
- data/lib/denko/behaviors/bus_controller.rb +1 -0
- data/lib/denko/behaviors/bus_controller_addressed.rb +1 -0
- data/lib/denko/behaviors/bus_peripheral.rb +3 -4
- data/lib/denko/behaviors/bus_peripheral_addressed.rb +8 -6
- data/lib/denko/behaviors/callbacks.rb +9 -7
- data/lib/denko/behaviors/component.rb +16 -14
- data/lib/denko/behaviors/input_pin.rb +14 -15
- data/lib/denko/behaviors/lifecycle.rb +51 -0
- data/lib/denko/behaviors/multi_pin.rb +22 -18
- data/lib/denko/behaviors/output_pin.rb +9 -4
- data/lib/denko/behaviors/single_pin.rb +1 -0
- data/lib/denko/behaviors/state.rb +15 -9
- data/lib/denko/behaviors/subcomponents.rb +72 -12
- data/lib/denko/behaviors.rb +2 -1
- data/lib/denko/board/core.rb +36 -18
- data/lib/denko/board/i2c.rb +14 -14
- data/lib/denko/board/i2c_bit_bang.rb +49 -0
- data/lib/denko/board/infrared.rb +6 -6
- data/lib/denko/board/led_array.rb +6 -5
- data/lib/denko/board/spi.rb +15 -10
- data/lib/denko/board/spi_bit_bang.rb +9 -7
- data/lib/denko/board.rb +35 -33
- data/lib/denko/connection/binary_echo.rb +17 -0
- data/lib/denko/connection/flow_control.rb +11 -15
- data/lib/denko/connection/handshake.rb +2 -0
- data/lib/denko/digital_io/button.rb +4 -0
- data/lib/denko/digital_io/c_bit_bang.rb +15 -0
- data/lib/denko/digital_io/input.rb +4 -5
- data/lib/denko/digital_io/output.rb +7 -6
- data/lib/denko/digital_io/relay.rb +2 -0
- data/lib/denko/digital_io/rotary_encoder.rb +78 -60
- data/lib/denko/digital_io.rb +1 -0
- data/lib/denko/display/hd44780.rb +136 -93
- data/lib/denko/display/sh1106.rb +42 -0
- data/lib/denko/display/ssd1306.rb +105 -45
- data/lib/denko/display.rb +1 -0
- data/lib/denko/eeprom/built_in.rb +19 -16
- data/lib/denko/i2c/bit_bang.rb +31 -0
- data/lib/denko/i2c/bus.rb +8 -36
- data/lib/denko/i2c/bus_common.rb +45 -0
- data/lib/denko/i2c/peripheral.rb +28 -19
- data/lib/denko/i2c.rb +2 -0
- data/lib/denko/led/apa102.rb +43 -29
- data/lib/denko/led/base.rb +8 -2
- data/lib/denko/led/rgb.rb +5 -7
- data/lib/denko/led/seven_segment.rb +24 -9
- data/lib/denko/led/ws2812.rb +10 -7
- data/lib/denko/message.rb +5 -0
- data/lib/denko/motor/l298.rb +11 -10
- data/lib/denko/motor/servo.rb +22 -10
- data/lib/denko/motor/stepper.rb +11 -14
- data/lib/denko/mutex_stub.rb +7 -0
- data/lib/denko/one_wire/bus.rb +9 -5
- data/lib/denko/one_wire/peripheral.rb +0 -3
- data/lib/denko/pulse_io/buzzer.rb +9 -3
- data/lib/denko/pulse_io/{ir_transmitter.rb → ir_output.rb} +9 -4
- data/lib/denko/pulse_io/pwm_output.rb +69 -15
- data/lib/denko/pulse_io.rb +3 -3
- data/lib/denko/rtc/ds3231.rb +11 -13
- data/lib/denko/sensor/aht.rb +22 -21
- data/lib/denko/sensor/bme280.rb +60 -63
- data/lib/denko/sensor/bmp180.rb +41 -38
- data/lib/denko/sensor/dht.rb +22 -5
- data/lib/denko/sensor/ds18b20.rb +40 -34
- data/lib/denko/sensor/hcsr04.rb +7 -5
- data/lib/denko/sensor/helper.rb +37 -0
- data/lib/denko/sensor/htu21d.rb +44 -55
- data/lib/denko/sensor/htu31d.rb +32 -33
- data/lib/denko/sensor/qmp6988.rb +25 -23
- data/lib/denko/sensor/rcwl9620.rb +2 -5
- data/lib/denko/sensor/sht3x.rb +23 -21
- data/lib/denko/sensor.rb +1 -2
- data/lib/denko/spi/base_register.rb +22 -22
- data/lib/denko/spi/bit_bang.rb +17 -51
- data/lib/denko/spi/bus.rb +15 -29
- data/lib/denko/spi/bus_common.rb +36 -0
- data/lib/denko/spi/input_register.rb +36 -30
- data/lib/denko/spi/output_register.rb +25 -40
- data/lib/denko/spi/peripheral.rb +93 -24
- data/lib/denko/spi.rb +6 -1
- data/lib/denko/uart/bit_bang.rb +5 -3
- data/lib/denko/uart/hardware.rb +9 -8
- data/lib/denko/version.rb +1 -1
- data/lib/denko.rb +10 -0
- data/lib/denko_cli/generator.rb +2 -2
- data/lib/denko_cli/packages.rb +8 -10
- data/lib/denko_cli/targets.rb +8 -8
- data/lib/denko_cli/targets.txt +4 -4
- data/lib/denko_cli/usage.txt +1 -1
- data/src/denko_ethernet.ino +0 -14
- data/src/denko_serial.ino +0 -14
- data/src/denko_wifi.ino +6 -15
- data/src/lib/Denko.cpp +39 -3
- data/src/lib/Denko.h +42 -26
- data/src/lib/DenkoCoreIO.cpp +60 -103
- data/src/lib/DenkoDefines.h +36 -31
- data/src/lib/DenkoI2C.cpp +54 -45
- data/src/lib/DenkoI2CBB.cpp +238 -0
- data/src/lib/DenkoIROut.cpp +12 -7
- data/src/lib/DenkoLEDArray.cpp +36 -13
- data/src/lib/DenkoSPI.cpp +6 -5
- data/src/lib/DenkoSPIBB.cpp +7 -6
- data/target.yml +37 -2
- data/test/analog_io/potentiometer_test.rb +10 -10
- data/test/behaviors/board_proxy_test.rb +1 -1
- data/test/behaviors/callbacks_test.rb +11 -3
- data/test/behaviors/component_test.rb +17 -9
- data/test/behaviors/input_pin_test.rb +14 -9
- data/test/behaviors/multi_pin_test.rb +14 -4
- data/test/behaviors/output_pin_test.rb +11 -8
- data/test/behaviors/poller_test.rb +1 -0
- data/test/behaviors/reader_test.rb +3 -2
- data/test/behaviors/subcomponents_test.rb +22 -2
- data/test/board/core_test.rb +15 -11
- data/test/board/i2c_test.rb +39 -33
- data/test/board/infrared_test.rb +1 -1
- data/test/board/message_test.rb +17 -11
- data/test/board/spi_test.rb +21 -21
- data/test/digital_io/button_test.rb +15 -0
- data/test/digital_io/relay_test.rb +18 -0
- data/test/digital_io/rotary_encoder_test.rb +80 -60
- data/test/eeprom/built_in_test.rb +9 -9
- data/test/i2c/bus_test.rb +30 -14
- data/test/i2c/peripheral_test.rb +36 -17
- data/test/led/base_test.rb +2 -1
- data/test/led/rgb_test.rb +6 -6
- data/test/led/seven_segment_test.rb +7 -7
- data/test/motor/servo_test.rb +1 -1
- data/test/motor/stepper_test.rb +2 -2
- data/test/one_wire/bus_test.rb +1 -0
- data/test/pulse_io/buzzer_test.rb +7 -4
- data/test/pulse_io/{ir_transmitter_test.rb → ir_output_test.rb} +10 -10
- data/test/pulse_io/pwm_output_test.rb +74 -18
- data/test/rtc/ds3231_test.rb +11 -13
- data/test/sensor/dht_test.rb +1 -1
- data/test/sensor/ds18b20_test.rb +4 -8
- data/test/spi/bus_test.rb +7 -7
- data/test/spi/input_register_test.rb +15 -15
- data/test/spi/output_register_test.rb +10 -28
- data/test/spi/peripheral_multi_pin_test.rb +53 -0
- data/test/spi/peripheral_single_pin_test.rb +48 -0
- data/test/test_helper.rb +36 -33
- data/tutorial/02-button/button.rb +5 -4
- data/tutorial/03-potentiometer/potentiometer.rb +9 -5
- data/tutorial/04-pwm_led/pwm_led.rb +14 -16
- data/tutorial/05-rgb_led/rgb_led.rb +6 -6
- data/tutorial/05-rgb_led/rgb_mapping.rb +11 -11
- data/vendor/board-maps/.gitignore +56 -0
- data/vendor/board-maps/.gitmodules +24 -0
- data/vendor/board-maps/BoardMap.h +1852 -0
- data/vendor/board-maps/README.md +52 -0
- data/vendor/board-maps/lib/boards_parser.rb +66 -0
- data/vendor/board-maps/lib/header_parser.rb +199 -0
- data/vendor/board-maps/run.rb +57 -0
- data/vendor/board-maps/yaml/0XCB_HELIOS.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_CAMERA_ESP32S3.yml +11 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32C6.yml +15 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S2.yml +25 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S2_REVTFT.yml +25 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S2_TFT.yml +27 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S3.yml +34 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S3_NOPSRAM.yml +34 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S3_REVTFT.yml +25 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S3_TFT.yml +27 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32_V2.yml +34 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_ADALOGGER.yml +44 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_CAN.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_DVI.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_PROP_MAKER.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_RFM.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_SCORPIO.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_THINKINK.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_USB_HOST.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_ITSYBITSY_ESP32.yml +24 -0
- data/vendor/board-maps/yaml/ADAFRUIT_ITSYBITSY_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_KB2040_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_MACROPAD_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_MATRIXPORTAL_ESP32S3.yml +16 -0
- data/vendor/board-maps/yaml/ADAFRUIT_METRO_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32C3.yml +13 -0
- data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32S2.yml +23 -0
- data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32S3_N4R2.yml +21 -0
- data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32S3_NOPSRAM.yml +21 -0
- data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32_PICO.yml +29 -0
- data/vendor/board-maps/yaml/ADAFRUIT_QTPY_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_STEMMAFRIEND_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/ADAFRUIT_TRINKEYQT_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/ALKS.yml +34 -0
- data/vendor/board-maps/yaml/AMKEN_BB.yml +48 -0
- data/vendor/board-maps/yaml/AMKEN_ES.yml +48 -0
- data/vendor/board-maps/yaml/AMKEN_REVELOP.yml +48 -0
- data/vendor/board-maps/yaml/AMKEN_REVELOP_PLUS.yml +48 -0
- data/vendor/board-maps/yaml/AMPERKA_WIFI_SLOT.yml +16 -0
- data/vendor/board-maps/yaml/ARTRONSHOP_RP2_NANO.yml +32 -0
- data/vendor/board-maps/yaml/ASL_CAN_X2.yml +41 -0
- data/vendor/board-maps/yaml/ATD143_S3.yml +41 -0
- data/vendor/board-maps/yaml/AVENTEN_S3_SYNC.yml +38 -0
- data/vendor/board-maps/yaml/AVR_ADK.yml +24 -0
- data/vendor/board-maps/yaml/AVR_BT.yml +16 -0
- data/vendor/board-maps/yaml/AVR_CIRCUITPLAY.yml +14 -0
- data/vendor/board-maps/yaml/AVR_DUEMILANOVE.yml +16 -0
- data/vendor/board-maps/yaml/AVR_ESPLORA.yml +20 -0
- data/vendor/board-maps/yaml/AVR_ETHERNET.yml +16 -0
- data/vendor/board-maps/yaml/AVR_FIO.yml +16 -0
- data/vendor/board-maps/yaml/AVR_GEMMA.yml +6 -0
- data/vendor/board-maps/yaml/AVR_INDUSTRIAL101.yml +20 -0
- data/vendor/board-maps/yaml/AVR_LEONARDO.yml +20 -0
- data/vendor/board-maps/yaml/AVR_LEONARDO_ETH.yml +20 -0
- data/vendor/board-maps/yaml/AVR_LILYPAD.yml +16 -0
- data/vendor/board-maps/yaml/AVR_LILYPAD_USB.yml +20 -0
- data/vendor/board-maps/yaml/AVR_LININO_ONE.yml +20 -0
- data/vendor/board-maps/yaml/AVR_MEGA.yml +24 -0
- data/vendor/board-maps/yaml/AVR_MEGA2560.yml +24 -0
- data/vendor/board-maps/yaml/AVR_MICRO.yml +20 -0
- data/vendor/board-maps/yaml/AVR_MINI.yml +16 -0
- data/vendor/board-maps/yaml/AVR_NANO.yml +16 -0
- data/vendor/board-maps/yaml/AVR_NANO_EVERY.yml +22 -0
- data/vendor/board-maps/yaml/AVR_NG.yml +16 -0
- data/vendor/board-maps/yaml/AVR_PRO.yml +16 -0
- data/vendor/board-maps/yaml/AVR_ROBOT_CONTROL.yml +22 -0
- data/vendor/board-maps/yaml/AVR_ROBOT_MOTOR.yml +19 -0
- data/vendor/board-maps/yaml/AVR_UNO.yml +16 -0
- data/vendor/board-maps/yaml/AVR_UNO_WIFI_DEV_ED.yml +16 -0
- data/vendor/board-maps/yaml/AVR_UNO_WIFI_REV2.yml +22 -0
- data/vendor/board-maps/yaml/AVR_YUN.yml +20 -0
- data/vendor/board-maps/yaml/AVR_YUNMINI.yml +20 -0
- data/vendor/board-maps/yaml/AirM2M_CORE_ESP32C3.yml +14 -0
- data/vendor/board-maps/yaml/BEE_DATA_LOGGER.yml +39 -0
- data/vendor/board-maps/yaml/BLING.yml +25 -0
- data/vendor/board-maps/yaml/BPI_BIT.yml +9 -0
- data/vendor/board-maps/yaml/BPI_LEAF_S3.yml +42 -0
- data/vendor/board-maps/yaml/BRIDGETEK_IDM2040_43A.yml +48 -0
- data/vendor/board-maps/yaml/BRIDGETEK_IDM2040_7A.yml +48 -0
- data/vendor/board-maps/yaml/BeeMotionS3.yml +45 -0
- data/vendor/board-maps/yaml/Bee_Motion.yml +30 -0
- data/vendor/board-maps/yaml/Bee_Motion_Mini.yml +13 -0
- data/vendor/board-maps/yaml/Bee_S3.yml +38 -0
- data/vendor/board-maps/yaml/Breadstick_Raspberry.yml +31 -0
- data/vendor/board-maps/yaml/CHALLENGER_2040_LORA_RP2040.yml +39 -0
- data/vendor/board-maps/yaml/CHALLENGER_2040_LTE_RP2040.yml +38 -0
- data/vendor/board-maps/yaml/CHALLENGER_2040_NFC_RP2040.yml +32 -0
- data/vendor/board-maps/yaml/CHALLENGER_2040_SDRTC_RP2040.yml +36 -0
- data/vendor/board-maps/yaml/CHALLENGER_2040_SUBGHZ_RP2040.yml +39 -0
- data/vendor/board-maps/yaml/CHALLENGER_2040_UWB_RP2040.yml +39 -0
- data/vendor/board-maps/yaml/CHALLENGER_2040_WIFI6_BLE_RP2040.yml +42 -0
- data/vendor/board-maps/yaml/CHALLENGER_2040_WIFI_BLE_RP2040.yml +42 -0
- data/vendor/board-maps/yaml/CHALLENGER_2040_WIFI_RP2040.yml +38 -0
- data/vendor/board-maps/yaml/CHALLENGER_NB_2040_WIFI_RP2040.yml +38 -0
- data/vendor/board-maps/yaml/CONNECTIVITY_2040_LTE_WIFI_BLE_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/CRABIK_SLOT_ESP32_S3.yml +19 -0
- data/vendor/board-maps/yaml/CYTRON_MAKER_FEATHER_AIOT_S3.yml +29 -0
- data/vendor/board-maps/yaml/CYTRON_MAKER_NANO_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/CYTRON_MAKER_PI_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/CYTRON_MAKER_UNO_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/CoreESP32.yml +53 -0
- data/vendor/board-maps/yaml/D1_MINI32.yml +45 -0
- data/vendor/board-maps/yaml/D1_UNO32.yml +28 -0
- data/vendor/board-maps/yaml/DATANOISETV_PICOADK.yml +48 -0
- data/vendor/board-maps/yaml/DEGZ_SUIBO_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/DENKY.yml +35 -0
- data/vendor/board-maps/yaml/DENKY_PICOV3.yml +35 -0
- data/vendor/board-maps/yaml/DENKY_WROOM32.yml +35 -0
- data/vendor/board-maps/yaml/DEPARTMENT_OF_ALCHEMY_MINIMAIN_ESP32S2.yml +26 -0
- data/vendor/board-maps/yaml/DFROBOT_BEETLE_ESP32C6.yml +8 -0
- data/vendor/board-maps/yaml/DFROBOT_BEETLE_ESP32_C3.yml +14 -0
- data/vendor/board-maps/yaml/DFROBOT_BEETLE_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/DFROBOT_FIREBEETLE_2_ESP32C6.yml +20 -0
- data/vendor/board-maps/yaml/DFROBOT_FIREBEETLE_2_ESP32E.yml +49 -0
- data/vendor/board-maps/yaml/DFROBOT_FIREBEETLE_2_ESP32S3.yml +38 -0
- data/vendor/board-maps/yaml/DFROBOT_FIREBEETLE_ESP32.yml +46 -0
- data/vendor/board-maps/yaml/DFROBOT_ROMEO_ESP32S3.yml +7 -0
- data/vendor/board-maps/yaml/DPTECHNICS_WALTER.yml +39 -0
- data/vendor/board-maps/yaml/DPU_ESP32.yml +35 -0
- data/vendor/board-maps/yaml/DYDK.yml +38 -0
- data/vendor/board-maps/yaml/DYDK1A.yml +37 -0
- data/vendor/board-maps/yaml/DYDK1Av2.yml +45 -0
- data/vendor/board-maps/yaml/DYG.yml +20 -0
- data/vendor/board-maps/yaml/DYM.yml +40 -0
- data/vendor/board-maps/yaml/DYMv2.yml +39 -0
- data/vendor/board-maps/yaml/D_Duino_32.yml +37 -0
- data/vendor/board-maps/yaml/ELECROW_CROWPANEL_7.yml +8 -0
- data/vendor/board-maps/yaml/ELECTRONICCATS_HUNTERCAT_NFC.yml +44 -0
- data/vendor/board-maps/yaml/ESP320.yml +8 -0
- data/vendor/board-maps/yaml/ESP32C2_DEV.yml +12 -0
- data/vendor/board-maps/yaml/ESP32C3_DEV.yml +14 -0
- data/vendor/board-maps/yaml/ESP32C3_DEVKIT_LIPO.yml +14 -0
- data/vendor/board-maps/yaml/ESP32C3_M1_I_KIT.yml +13 -0
- data/vendor/board-maps/yaml/ESP32C6_DEV.yml +15 -0
- data/vendor/board-maps/yaml/ESP32C6_EVB.yml +15 -0
- data/vendor/board-maps/yaml/ESP32C6_QWIIC_POCKET.yml +15 -0
- data/vendor/board-maps/yaml/ESP32C6_THING_PLUS.yml +15 -0
- data/vendor/board-maps/yaml/ESP32H2_DEV.yml +13 -0
- data/vendor/board-maps/yaml/ESP32H2_DEVKIT_LIPO.yml +13 -0
- data/vendor/board-maps/yaml/ESP32S2_DEV.yml +44 -0
- data/vendor/board-maps/yaml/ESP32S2_DEVKIT_LIPO.yml +44 -0
- data/vendor/board-maps/yaml/ESP32S2_DEVKIT_LIPO_USB.yml +44 -0
- data/vendor/board-maps/yaml/ESP32S2_THING_PLUS.yml +44 -0
- data/vendor/board-maps/yaml/ESP32S2_USB.yml +43 -0
- data/vendor/board-maps/yaml/ESP32S3_CAM_LCD.yml +7 -0
- data/vendor/board-maps/yaml/ESP32S3_DEV.yml +38 -0
- data/vendor/board-maps/yaml/ESP32S3_DEVKIT_LIPO.yml +42 -0
- data/vendor/board-maps/yaml/ESP32S3_POWERFEATHER.yml +22 -0
- data/vendor/board-maps/yaml/ESP32_DEV.yml +35 -0
- data/vendor/board-maps/yaml/ESP32_DEVKIT_LIPO.yml +35 -0
- data/vendor/board-maps/yaml/ESP32_EVB.yml +7 -0
- data/vendor/board-maps/yaml/ESP32_GATEWAY.yml +13 -0
- data/vendor/board-maps/yaml/ESP32_GATEWAY_C.yml +13 -0
- data/vendor/board-maps/yaml/ESP32_GATEWAY_E.yml +13 -0
- data/vendor/board-maps/yaml/ESP32_GATEWAY_F.yml +13 -0
- data/vendor/board-maps/yaml/ESP32_IOT_REDBOARD.yml +36 -0
- data/vendor/board-maps/yaml/ESP32_MICROMOD.yml +24 -0
- data/vendor/board-maps/yaml/ESP32_PICO.yml +35 -0
- data/vendor/board-maps/yaml/ESP32_POE.yml +7 -0
- data/vendor/board-maps/yaml/ESP32_POE_ISO.yml +7 -0
- data/vendor/board-maps/yaml/ESP32_S3R8N16.yml +3 -0
- data/vendor/board-maps/yaml/ESP32_S3_BOX.yml +19 -0
- data/vendor/board-maps/yaml/ESP32_S3_USB_OTG.yml +11 -0
- data/vendor/board-maps/yaml/ESP32_SBC_FABGL.yml +35 -0
- data/vendor/board-maps/yaml/ESP32_THING.yml +36 -0
- data/vendor/board-maps/yaml/ESP32_THING_PLUS.yml +33 -0
- data/vendor/board-maps/yaml/ESP32_THING_PLUS_C.yml +33 -0
- data/vendor/board-maps/yaml/ESP32_WROOM_DA.yml +35 -0
- data/vendor/board-maps/yaml/ESP32_WROVER_KIT.yml +35 -0
- data/vendor/board-maps/yaml/ESP8266_ADAFRUIT_HUZZAH.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_AGRUMINO_LEMON_V4.yml +8 -0
- data/vendor/board-maps/yaml/ESP8266_ARDUINO_PRIMO.yml +7 -0
- data/vendor/board-maps/yaml/ESP8266_ARDUINO_STAR_OTTO.yml +7 -0
- data/vendor/board-maps/yaml/ESP8266_ARDUINO_UNOWIFI.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_ESP01.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_ESP07.yml +20 -0
- data/vendor/board-maps/yaml/ESP8266_ESP12.yml +20 -0
- data/vendor/board-maps/yaml/ESP8266_ESP13.yml +17 -0
- data/vendor/board-maps/yaml/ESP8266_ESP210.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_ESPECTRO_CORE.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_ESPINO_ESP12.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_ESPINO_ESP13.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_ESPRESSO_LITE_V1.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_ESPRESSO_LITE_V2.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_GENERIC.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_INVENT_ONE.yml +22 -0
- data/vendor/board-maps/yaml/ESP8266_NODEMCU_ESP12.yml +20 -0
- data/vendor/board-maps/yaml/ESP8266_NODEMCU_ESP12E.yml +20 -0
- data/vendor/board-maps/yaml/ESP8266_OAK.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_PHOENIX_V1.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_PHOENIX_V2.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_SCHIRMILABS_EDUINO_WIFI.yml +25 -0
- data/vendor/board-maps/yaml/ESP8266_SONOFF_BASIC.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_SONOFF_S20.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_SONOFF_SV.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_SONOFF_TH.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_THING.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_THING_DEV.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_WEMOS_D1MINI.yml +18 -0
- data/vendor/board-maps/yaml/ESP8266_WEMOS_D1MINILITE.yml +18 -0
- data/vendor/board-maps/yaml/ESP8266_WEMOS_D1MINIPRO.yml +18 -0
- data/vendor/board-maps/yaml/ESP8266_WEMOS_D1R1.yml +25 -0
- data/vendor/board-maps/yaml/ESP8266_WEMOS_D1WROOM02.yml +18 -0
- data/vendor/board-maps/yaml/ESP8266_WIO_LINK.yml +9 -0
- data/vendor/board-maps/yaml/ESP8266_XINABOX_CW01.yml +9 -0
- data/vendor/board-maps/yaml/ESPECTRO32.yml +36 -0
- data/vendor/board-maps/yaml/ESPea32.yml +36 -0
- data/vendor/board-maps/yaml/ESPino32.yml +36 -0
- data/vendor/board-maps/yaml/ET-Board.yml +26 -0
- data/vendor/board-maps/yaml/EVN_ALPHA.yml +48 -0
- data/vendor/board-maps/yaml/EXTREMEELEXTRONICS_RC2040.yml +46 -0
- data/vendor/board-maps/yaml/Edgebox-ESP-100.yml +7 -0
- data/vendor/board-maps/yaml/FEATHERS2.yml +43 -0
- data/vendor/board-maps/yaml/FEATHERS2NEO.yml +31 -0
- data/vendor/board-maps/yaml/FEATHERS3.yml +32 -0
- data/vendor/board-maps/yaml/FEATHERS3NEO.yml +32 -0
- data/vendor/board-maps/yaml/FEATHER_ESP32.yml +32 -0
- data/vendor/board-maps/yaml/FLYBOARD2040_CORE.yml +48 -0
- data/vendor/board-maps/yaml/FRANZININHO_WIFI.yml +43 -0
- data/vendor/board-maps/yaml/FRANZININHO_WIFI_MSC.yml +43 -0
- data/vendor/board-maps/yaml/FROG_ESP32.yml +35 -0
- data/vendor/board-maps/yaml/FUNHOUSE_ESP32S2.yml +22 -0
- data/vendor/board-maps/yaml/GEEKBLE_ESP32C3.yml +14 -0
- data/vendor/board-maps/yaml/GEN4_IOD.yml +9 -0
- data/vendor/board-maps/yaml/GENERIC_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/HEALTHYPI_4.yml +36 -0
- data/vendor/board-maps/yaml/HELTEC_CAPSULE_SENSOR_V3.yml +43 -0
- data/vendor/board-maps/yaml/HELTEC_WIFI_LORA_32_V3.yml +42 -0
- data/vendor/board-maps/yaml/HELTEC_WIRELESS_BRIDGE.yml +8 -0
- data/vendor/board-maps/yaml/HELTEC_WIRELESS_MINI_SHELL.yml +13 -0
- data/vendor/board-maps/yaml/HELTEC_WIRELESS_PAPER.yml +42 -0
- data/vendor/board-maps/yaml/HELTEC_WIRELESS_SHELL_V3.yml +42 -0
- data/vendor/board-maps/yaml/HELTEC_WIRELESS_STICK_LITE_V3.yml +30 -0
- data/vendor/board-maps/yaml/HELTEC_WIRELESS_STICK_V3.yml +41 -0
- data/vendor/board-maps/yaml/HELTEC_WIRELESS_TRACKER.yml +41 -0
- data/vendor/board-maps/yaml/HONEYLEMON.yml +36 -0
- data/vendor/board-maps/yaml/HORNBILL_ESP32_DEV.yml +36 -0
- data/vendor/board-maps/yaml/HORNBILL_ESP32_MINIMA.yml +19 -0
- data/vendor/board-maps/yaml/HT_DE01.yml +42 -0
- data/vendor/board-maps/yaml/ILABS_2040_RPICO32_RP2040.yml +47 -0
- data/vendor/board-maps/yaml/IMBRIOS_LOGSENS_V1P1.yml +23 -0
- data/vendor/board-maps/yaml/INTOROBOT_ESP32_DEV.yml +34 -0
- data/vendor/board-maps/yaml/IOXESP32.yml +36 -0
- data/vendor/board-maps/yaml/IOXESP32PS.yml +36 -0
- data/vendor/board-maps/yaml/LILYGO_T3S3_LR1121.yml +9 -0
- data/vendor/board-maps/yaml/LILYGO_T3S3_SX1262.yml +9 -0
- data/vendor/board-maps/yaml/LILYGO_T3S3_SX1276.yml +9 -0
- data/vendor/board-maps/yaml/LILYGO_T3S3_SX1278.yml +9 -0
- data/vendor/board-maps/yaml/LILYGO_T3S3_SX1280.yml +9 -0
- data/vendor/board-maps/yaml/LILYGO_T3S3_SX1280PA.yml +8 -0
- data/vendor/board-maps/yaml/LILYGO_T_DISPLAY.yml +35 -0
- data/vendor/board-maps/yaml/LILYGO_T_DISPLAY_S3.yml +32 -0
- data/vendor/board-maps/yaml/LILYGO_T_ETH_LITE.yml +21 -0
- data/vendor/board-maps/yaml/LIONBITS3_DEV.yml +34 -0
- data/vendor/board-maps/yaml/LOLIN32.yml +36 -0
- data/vendor/board-maps/yaml/LOLIN32_LITE.yml +36 -0
- data/vendor/board-maps/yaml/LOLIN_C3_MINI.yml +14 -0
- data/vendor/board-maps/yaml/LOLIN_C3_PICO.yml +14 -0
- data/vendor/board-maps/yaml/LOLIN_D32.yml +36 -0
- data/vendor/board-maps/yaml/LOLIN_D32_PRO.yml +36 -0
- data/vendor/board-maps/yaml/LOLIN_S2_MINI.yml +44 -0
- data/vendor/board-maps/yaml/LOLIN_S2_PICO.yml +44 -0
- data/vendor/board-maps/yaml/LOLIN_S3.yml +40 -0
- data/vendor/board-maps/yaml/LOLIN_S3_MINI.yml +40 -0
- data/vendor/board-maps/yaml/LOLIN_S3_MINI_PRO.yml +40 -0
- data/vendor/board-maps/yaml/LOLIN_S3_PRO.yml +40 -0
- data/vendor/board-maps/yaml/Lion_Bit_Dev_Board.yml +16 -0
- data/vendor/board-maps/yaml/LoPy.yml +38 -0
- data/vendor/board-maps/yaml/LoPy4.yml +38 -0
- data/vendor/board-maps/yaml/M5STACK_CAPSULE.yml +8 -0
- data/vendor/board-maps/yaml/M5STACK_CARDPUTER.yml +8 -0
- data/vendor/board-maps/yaml/M5STACK_CORE.yml +10 -0
- data/vendor/board-maps/yaml/M5STACK_CORES3.yml +8 -0
- data/vendor/board-maps/yaml/M5STACK_Core2.yml +9 -0
- data/vendor/board-maps/yaml/M5STACK_DIAL.yml +8 -0
- data/vendor/board-maps/yaml/M5STACK_FIRE.yml +9 -0
- data/vendor/board-maps/yaml/M5STACK_NANOC6.yml +17 -0
- data/vendor/board-maps/yaml/M5STACK_PAPER.yml +9 -0
- data/vendor/board-maps/yaml/M5STACK_POE_CAM.yml +5 -0
- data/vendor/board-maps/yaml/M5STACK_STAMP_C3.yml +13 -0
- data/vendor/board-maps/yaml/M5STACK_STAMP_PICO.yml +7 -0
- data/vendor/board-maps/yaml/M5STACK_STAMP_S3.yml +4 -0
- data/vendor/board-maps/yaml/M5STACK_STICKC.yml +9 -0
- data/vendor/board-maps/yaml/M5STACK_STICKC_PLUS.yml +9 -0
- data/vendor/board-maps/yaml/M5STACK_STICKC_PLUS2.yml +9 -0
- data/vendor/board-maps/yaml/M5STACK_TIMER_CAM.yml +10 -0
- data/vendor/board-maps/yaml/M5STACK_TOUGH.yml +9 -0
- data/vendor/board-maps/yaml/M5STACK_UNIT_CAM.yml +10 -0
- data/vendor/board-maps/yaml/M5STACK_UNIT_CAMS3.yml +4 -0
- data/vendor/board-maps/yaml/M5Stack_ATOM.yml +9 -0
- data/vendor/board-maps/yaml/M5Stack_ATOMS3.yml +7 -0
- data/vendor/board-maps/yaml/M5Stack_CoreInk.yml +9 -0
- data/vendor/board-maps/yaml/M5Stack_Station.yml +10 -0
- data/vendor/board-maps/yaml/MAGTAG29_ESP32S2.yml +31 -0
- data/vendor/board-maps/yaml/MAKERGO_C3_SUPERMINI.yml +14 -0
- data/vendor/board-maps/yaml/MARBLE_PICO.yml +48 -0
- data/vendor/board-maps/yaml/MELOPERO_COOKIE_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/MELOPERO_SHAKE_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/METEHOCA_AKANA_R1.yml +46 -0
- data/vendor/board-maps/yaml/METRO_ESP32S2.yml +44 -0
- data/vendor/board-maps/yaml/METRO_ESP32S3.yml +42 -0
- data/vendor/board-maps/yaml/MGBOT_IOTIK32A.yml +36 -0
- data/vendor/board-maps/yaml/MGBOT_IOTIK32B.yml +36 -0
- data/vendor/board-maps/yaml/MH_ET_LIVE_ESP32DEVKIT.yml +36 -0
- data/vendor/board-maps/yaml/MH_ET_LIVE_ESP32MINIKIT.yml +36 -0
- data/vendor/board-maps/yaml/MICROS2.yml +44 -0
- data/vendor/board-maps/yaml/MINIMA.yml +15 -0
- data/vendor/board-maps/yaml/MOD_WIFI_ESP8266.yml +9 -0
- data/vendor/board-maps/yaml/Metro.yml +8 -0
- data/vendor/board-maps/yaml/NAMINO_ARANCIO.yml +3 -0
- data/vendor/board-maps/yaml/NAMINO_BIANCO.yml +13 -0
- data/vendor/board-maps/yaml/NAMINO_ROSSO.yml +3 -0
- data/vendor/board-maps/yaml/NANO32.yml +36 -0
- data/vendor/board-maps/yaml/NANOS3.yml +25 -0
- data/vendor/board-maps/yaml/NANO_ESP32.yml +18 -0
- data/vendor/board-maps/yaml/NANO_RP2040_CONNECT.yml +35 -0
- data/vendor/board-maps/yaml/NEBULAS3.yml +32 -0
- data/vendor/board-maps/yaml/NEKOSYSTEMS_BL2040_MINI.yml +48 -0
- data/vendor/board-maps/yaml/NEWSAN_ARCHI.yml +48 -0
- data/vendor/board-maps/yaml/NOLOGO_ESP32C3_SUPER_MINI.yml +14 -0
- data/vendor/board-maps/yaml/NOLOGO_ESP32S3_PICO.yml +12 -0
- data/vendor/board-maps/yaml/NULLBITS_BIT_C_PRO.yml +48 -0
- data/vendor/board-maps/yaml/Node32s.yml +36 -0
- data/vendor/board-maps/yaml/NodeMCU_32S.yml +36 -0
- data/vendor/board-maps/yaml/ODROID_ESP32.yml +10 -0
- data/vendor/board-maps/yaml/OLIMEX_RP2040_PICO30_16MB.yml +48 -0
- data/vendor/board-maps/yaml/OLIMEX_RP2040_PICO30_2MB.yml +48 -0
- data/vendor/board-maps/yaml/ONEHORSE_ESP32_DEV.yml +34 -0
- data/vendor/board-maps/yaml/OPTA_ANALOG.yml +7 -0
- data/vendor/board-maps/yaml/OPTA_DIGITAL.yml +5 -0
- data/vendor/board-maps/yaml/OROCA_EDUBOT.yml +33 -0
- data/vendor/board-maps/yaml/PIMORONI_PGA2040.yml +48 -0
- data/vendor/board-maps/yaml/PIMORONI_PLASMA2040.yml +29 -0
- data/vendor/board-maps/yaml/PIMORONI_TINY2040.yml +44 -0
- data/vendor/board-maps/yaml/PINTRONIX_PINMAX.yml +42 -0
- data/vendor/board-maps/yaml/PORTENTA_C33.yml +28 -0
- data/vendor/board-maps/yaml/PROS3.yml +33 -0
- data/vendor/board-maps/yaml/PYCOM_GPY.yml +38 -0
- data/vendor/board-maps/yaml/Piranha.yml +22 -0
- data/vendor/board-maps/yaml/Pocket32.yml +36 -0
- data/vendor/board-maps/yaml/QUALIA_S3_RGB666.yml +15 -0
- data/vendor/board-maps/yaml/QUANTUM.yml +35 -0
- data/vendor/board-maps/yaml/RAKWIRELESS_RAK11300.yml +47 -0
- data/vendor/board-maps/yaml/RASPBERRY_PI_PICO.yml +48 -0
- data/vendor/board-maps/yaml/RASPBERRY_PI_PICO_W.yml +48 -0
- data/vendor/board-maps/yaml/REDPILL_ESP32S3.yml +41 -0
- data/vendor/board-maps/yaml/REDSCORP_RP2040_EINS.yml +35 -0
- data/vendor/board-maps/yaml/REDSCORP_RP2040_PROMINI.yml +35 -0
- data/vendor/board-maps/yaml/SAMD_CIRCUITPLAYGROUND_EXPRESS.yml +11 -0
- data/vendor/board-maps/yaml/SAMD_MKR1000.yml +20 -0
- data/vendor/board-maps/yaml/SAMD_MKRFox1200.yml +19 -0
- data/vendor/board-maps/yaml/SAMD_MKRGSM1400.yml +15 -0
- data/vendor/board-maps/yaml/SAMD_MKRNB1500.yml +15 -0
- data/vendor/board-maps/yaml/SAMD_MKRVIDOR4000.yml +19 -0
- data/vendor/board-maps/yaml/SAMD_MKRWAN1300.yml +18 -0
- data/vendor/board-maps/yaml/SAMD_MKRWAN1310.yml +18 -0
- data/vendor/board-maps/yaml/SAMD_MKRWIFI1010.yml +19 -0
- data/vendor/board-maps/yaml/SAMD_MKRZERO.yml +19 -0
- data/vendor/board-maps/yaml/SAMD_NANO_33_IOT.yml +13 -0
- data/vendor/board-maps/yaml/SAMD_TIAN.yml +15 -0
- data/vendor/board-maps/yaml/SAMD_ZERO.yml +14 -0
- data/vendor/board-maps/yaml/SAM_DUE.yml +28 -0
- data/vendor/board-maps/yaml/SAM_ZERO.yml +15 -0
- data/vendor/board-maps/yaml/SEA_PICRO.yml +48 -0
- data/vendor/board-maps/yaml/SEEED_INDICATOR_RP2040.yml +47 -0
- data/vendor/board-maps/yaml/SEEED_XIAO_RP2040.yml +29 -0
- data/vendor/board-maps/yaml/SENSEBOX_MCU_ESP32S2.yml +12 -0
- data/vendor/board-maps/yaml/SILICOGNITION_RP2040_SHIM.yml +30 -0
- data/vendor/board-maps/yaml/SOLDERPARTY_RP2040_STAMP.yml +48 -0
- data/vendor/board-maps/yaml/SONOFF_DUALR3.yml +35 -0
- data/vendor/board-maps/yaml/SPARKFUN_MICROMOD_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/SPARKFUN_PROMICRO_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/SPARKFUN_PRO_MICRO_ESP32C3.yml +24 -0
- data/vendor/board-maps/yaml/SPARKFUN_THINGPLUS_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/TAMC_TERMOD_S3.yml +41 -0
- data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1262.yml +28 -0
- data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1268.yml +28 -0
- data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1276.yml +28 -0
- data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1278.yml +28 -0
- data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1280.yml +28 -0
- data/vendor/board-maps/yaml/TBeam.yml +28 -0
- data/vendor/board-maps/yaml/THINGPULSE_EPULSE_FEATHER.yml +31 -0
- data/vendor/board-maps/yaml/THINGPULSE_EPULSE_FEATHER_C6.yml +15 -0
- data/vendor/board-maps/yaml/TINYC6.yml +25 -0
- data/vendor/board-maps/yaml/TINYPICO.yml +35 -0
- data/vendor/board-maps/yaml/TINYS2.yml +43 -0
- data/vendor/board-maps/yaml/TINYS3.yml +25 -0
- data/vendor/board-maps/yaml/TTGO-T-OI-PLUS_DEV.yml +11 -0
- data/vendor/board-maps/yaml/TTGO_LoRa32_V1.yml +38 -0
- data/vendor/board-maps/yaml/TTGO_LoRa32_V2.yml +38 -0
- data/vendor/board-maps/yaml/TTGO_LoRa32_v21new.yml +38 -0
- data/vendor/board-maps/yaml/TTGO_T1.yml +36 -0
- data/vendor/board-maps/yaml/TTGO_T7_V13_Mini32.yml +36 -0
- data/vendor/board-maps/yaml/TTGO_T7_V14_Mini32.yml +36 -0
- data/vendor/board-maps/yaml/TWATCH_2020_V1.yml +9 -0
- data/vendor/board-maps/yaml/TWATCH_2020_V2.yml +9 -0
- data/vendor/board-maps/yaml/TWATCH_2020_V3.yml +9 -0
- data/vendor/board-maps/yaml/TWATCH_BASE.yml +9 -0
- data/vendor/board-maps/yaml/TWatch.yml +9 -0
- data/vendor/board-maps/yaml/Trueverit_ESP32_Universal_IoT_Driver.yml +18 -0
- data/vendor/board-maps/yaml/Trueverit_ESP32_Universal_IoT_Driver_MK_II.yml +18 -0
- data/vendor/board-maps/yaml/UBLOX_NINA_W10.yml +57 -0
- data/vendor/board-maps/yaml/UBLOX_NORA_W10.yml +43 -0
- data/vendor/board-maps/yaml/UNOWIFIR4.yml +17 -0
- data/vendor/board-maps/yaml/UPESY_EDU_ESP32.yml +28 -0
- data/vendor/board-maps/yaml/UPESY_ESP32C3_BASIC.yml +13 -0
- data/vendor/board-maps/yaml/UPESY_ESP32C3_MINI.yml +12 -0
- data/vendor/board-maps/yaml/UPESY_ESP32S3_BASIC.yml +42 -0
- data/vendor/board-maps/yaml/UPESY_RP2040_DEVKIT.yml +48 -0
- data/vendor/board-maps/yaml/VALTRACK_V4_MFW_ESP32_C3.yml +23 -0
- data/vendor/board-maps/yaml/VALTRACK_V4_VTS_ESP32_C3.yml +23 -0
- data/vendor/board-maps/yaml/VIRALINK_GATE32_01.yml +6 -0
- data/vendor/board-maps/yaml/VIRALINK_GATE32_11.yml +7 -0
- data/vendor/board-maps/yaml/VIYALAB_MIZU_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/WATCHY.yml +7 -0
- data/vendor/board-maps/yaml/WATCHY_V10.yml +7 -0
- data/vendor/board-maps/yaml/WATCHY_V15.yml +7 -0
- data/vendor/board-maps/yaml/WATCHY_V20.yml +7 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32S3_TOUCH_LCD_128.yml +8 -0
- data/vendor/board-maps/yaml/WAVESHARE_RP2040_LCD_0_96.yml +47 -0
- data/vendor/board-maps/yaml/WAVESHARE_RP2040_LCD_1_28.yml +47 -0
- data/vendor/board-maps/yaml/WAVESHARE_RP2040_MATRIX.yml +48 -0
- data/vendor/board-maps/yaml/WAVESHARE_RP2040_ONE.yml +48 -0
- data/vendor/board-maps/yaml/WAVESHARE_RP2040_PIZERO.yml +47 -0
- data/vendor/board-maps/yaml/WAVESHARE_RP2040_PLUS.yml +48 -0
- data/vendor/board-maps/yaml/WAVESHARE_RP2040_ZERO.yml +48 -0
- data/vendor/board-maps/yaml/WEACT_STUDIO_ESP32C3.yml +14 -0
- data/vendor/board-maps/yaml/WESP32.yml +17 -0
- data/vendor/board-maps/yaml/WIDORA_AIR.yml +34 -0
- data/vendor/board-maps/yaml/WIFIDUINO_ESP8266.yml +23 -0
- data/vendor/board-maps/yaml/WIFINFO.yml +20 -0
- data/vendor/board-maps/yaml/WIPY3.yml +38 -0
- data/vendor/board-maps/yaml/WIZNET_5100S_EVB_PICO.yml +48 -0
- data/vendor/board-maps/yaml/WIZNET_5500_EVB_PICO.yml +48 -0
- data/vendor/board-maps/yaml/WIZNET_WIZFI360_EVB_PICO.yml +48 -0
- data/vendor/board-maps/yaml/WT32_ETH01.yml +8 -0
- data/vendor/board-maps/yaml/WT32_SC01_PLUS.yml +7 -0
- data/vendor/board-maps/yaml/WiFiduino32S3.yml +27 -0
- data/vendor/board-maps/yaml/WiFiduinoV2.yml +28 -0
- data/vendor/board-maps/yaml/Wifiduino32.yml +40 -0
- data/vendor/board-maps/yaml/XIAO_ESP32C3.yml +21 -0
- data/vendor/board-maps/yaml/XIAO_ESP32C6.yml +22 -0
- data/vendor/board-maps/yaml/XIAO_ESP32S3.yml +37 -0
- data/vendor/board-maps/yaml/YD_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/atmegazero_esp32s2.yml +30 -0
- data/vendor/board-maps/yaml/connaxio_espoir.yml +24 -0
- data/vendor/board-maps/yaml/esp32vn_iot_uno.yml +31 -0
- data/vendor/board-maps/yaml/fm_devkit.yml +15 -0
- data/vendor/board-maps/yaml/heltec_wifi_kit_32.yml +38 -0
- data/vendor/board-maps/yaml/heltec_wifi_kit_32_V3.yml +42 -0
- data/vendor/board-maps/yaml/heltec_wifi_lora_32.yml +36 -0
- data/vendor/board-maps/yaml/heltec_wifi_lora_32_V2.yml +36 -0
- data/vendor/board-maps/yaml/heltec_wireless_stick.yml +36 -0
- data/vendor/board-maps/yaml/heltec_wireless_stick_LITE.yml +36 -0
- data/vendor/board-maps/yaml/openkb.yml +37 -0
- data/vendor/board-maps/yaml/roboheart_hercules.yml +26 -0
- data/vendor/board-maps/yaml/sensesiot_weizen.yml +35 -0
- data/vendor/board-maps/yaml/uPesy_WROOM.yml +36 -0
- data/vendor/board-maps/yaml/uPesy_WROVER.yml +36 -0
- data/vendor/board-maps/yaml/unphone8.yml +42 -0
- data/vendor/board-maps/yaml/unphone9.yml +50 -0
- data/vendor/board-maps/yaml/wifi_kit_8.yml +15 -0
- metadata +541 -22
- data/examples/led/apa102_breathe.rb +0 -45
- data/examples/pulse_io/ir_transmitter.rb +0 -55
- data/examples/spi/ssd_through_register.rb +0 -40
- data/examples/uart/bit_bang_read.rb +0 -16
- data/examples/uart/bit_bang_write.rb +0 -16
- data/lib/denko/analog_io/sensor.rb +0 -6
- data/lib/denko/sensor/virtual.rb +0 -42
- data/src/lib/DenkoIROutESP.cpp +0 -26
@@ -1,30 +1,30 @@
|
|
1
|
-
name:
|
1
|
+
name: ESP8266
|
2
2
|
|
3
3
|
on:
|
4
4
|
workflow_dispatch:
|
5
|
-
|
5
|
+
|
6
6
|
pull_request:
|
7
7
|
paths:
|
8
|
-
-
|
9
|
-
-
|
8
|
+
- "src/**"
|
9
|
+
- ".github/workflows/build_esp8266.yml"
|
10
10
|
|
11
11
|
push:
|
12
12
|
paths:
|
13
|
-
-
|
14
|
-
-
|
15
|
-
|
13
|
+
- "src/**"
|
14
|
+
- ".github/workflows/build_esp8266.yml"
|
15
|
+
|
16
16
|
jobs:
|
17
17
|
esp8266-nodemcuv2:
|
18
18
|
name: esp8266 ${{ 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: esp8266:esp8266:nodemcuv2
|
30
30
|
denko-target: esp8266
|
@@ -32,22 +32,22 @@ jobs:
|
|
32
32
|
- name: esp8266:esp8266
|
33
33
|
source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
|
34
34
|
libraries: |
|
35
|
-
- name:
|
36
|
-
version:
|
35
|
+
- name: IRremote
|
36
|
+
version: 4.4.1
|
37
37
|
- name: Adafruit NeoPixel
|
38
38
|
|
39
39
|
steps:
|
40
40
|
- name: Checkout
|
41
|
-
uses: actions/checkout@
|
41
|
+
uses: actions/checkout@v4
|
42
42
|
with:
|
43
43
|
submodules: true
|
44
|
-
|
44
|
+
|
45
45
|
- name: Generate
|
46
46
|
id: generate
|
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.1.
|
50
|
+
uses: arduino/compile-sketches@v1.1.1
|
51
51
|
with:
|
52
52
|
platforms: ${{ matrix.board.platforms }}
|
53
53
|
fqbn: ${{ matrix.board.fqbn }}
|
@@ -1,31 +1,31 @@
|
|
1
|
-
name:
|
1
|
+
name: RA4M1
|
2
2
|
|
3
3
|
on:
|
4
4
|
workflow_dispatch:
|
5
|
-
|
5
|
+
|
6
6
|
pull_request:
|
7
7
|
paths:
|
8
|
-
-
|
9
|
-
-
|
8
|
+
- "src/**"
|
9
|
+
- ".github/workflows/build_ra4m1.yml"
|
10
10
|
|
11
11
|
push:
|
12
12
|
paths:
|
13
|
-
-
|
14
|
-
-
|
15
|
-
|
13
|
+
- "src/**"
|
14
|
+
- ".github/workflows/build_ra4m1.yml"
|
15
|
+
|
16
16
|
jobs:
|
17
|
-
|
18
|
-
name:
|
19
|
-
|
17
|
+
renesas_uno_minima:
|
18
|
+
name: ra4m1 ${{ 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:renesas_uno:minima
|
31
31
|
denko-target: ra4m1
|
@@ -36,19 +36,19 @@ jobs:
|
|
36
36
|
- name: Ethernet
|
37
37
|
- name: WiFi
|
38
38
|
- name: Adafruit NeoPixel
|
39
|
-
|
39
|
+
|
40
40
|
steps:
|
41
41
|
- name: Checkout
|
42
|
-
uses: actions/checkout@
|
42
|
+
uses: actions/checkout@v4
|
43
43
|
with:
|
44
44
|
submodules: true
|
45
|
-
|
45
|
+
|
46
46
|
- name: Generate
|
47
47
|
id: generate
|
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.1.
|
51
|
+
uses: arduino/compile-sketches@v1.1.1
|
52
52
|
with:
|
53
53
|
platforms: ${{ matrix.board.platforms }}
|
54
54
|
fqbn: ${{ matrix.board.fqbn }}
|
@@ -1,31 +1,31 @@
|
|
1
|
-
name:
|
1
|
+
name: RP2040
|
2
2
|
|
3
3
|
on:
|
4
4
|
workflow_dispatch:
|
5
|
-
|
5
|
+
|
6
6
|
pull_request:
|
7
7
|
paths:
|
8
|
-
-
|
9
|
-
-
|
8
|
+
- "src/**"
|
9
|
+
- ".github/workflows/build_rp2040.yml"
|
10
10
|
|
11
11
|
push:
|
12
12
|
paths:
|
13
|
-
-
|
14
|
-
-
|
15
|
-
|
13
|
+
- "src/**"
|
14
|
+
- ".github/workflows/build_rp2040.yml"
|
15
|
+
|
16
16
|
jobs:
|
17
|
-
|
17
|
+
rpipicow:
|
18
18
|
name: rp2040 ${{ 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: ethernet
|
27
27
|
- name: wifi
|
28
|
-
|
28
|
+
|
29
29
|
board:
|
30
30
|
- fqbn: rp2040:rp2040:rpipicow
|
31
31
|
denko-target: rp2040
|
@@ -35,22 +35,23 @@ jobs:
|
|
35
35
|
libraries: |
|
36
36
|
- name: Servo
|
37
37
|
- name: IRremote
|
38
|
-
version: 4.1
|
38
|
+
version: 4.4.1
|
39
|
+
- name: Adafruit NeoPixel
|
39
40
|
- name: Ethernet
|
40
41
|
- name: WiFi
|
41
|
-
|
42
|
+
|
42
43
|
steps:
|
43
44
|
- name: Checkout
|
44
|
-
uses: actions/checkout@
|
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.
|
54
|
+
uses: arduino/compile-sketches@v1.1.1
|
54
55
|
with:
|
55
56
|
platforms: ${{ matrix.board.platforms }}
|
56
57
|
fqbn: ${{ matrix.board.fqbn }}
|
data/.github/workflows/ruby.yml
CHANGED
@@ -9,39 +9,39 @@ name: Ruby MiniTest
|
|
9
9
|
|
10
10
|
on:
|
11
11
|
workflow_dispatch:
|
12
|
-
|
12
|
+
|
13
13
|
push:
|
14
|
-
branches: [
|
14
|
+
branches: ["master"]
|
15
15
|
paths-ignore:
|
16
|
-
-
|
16
|
+
- "src/**"
|
17
17
|
|
18
18
|
pull_request:
|
19
|
-
branches: [
|
19
|
+
branches: ["master"]
|
20
20
|
paths-ignore:
|
21
|
-
-
|
21
|
+
- "src/**"
|
22
22
|
|
23
23
|
permissions:
|
24
24
|
contents: read
|
25
25
|
|
26
26
|
jobs:
|
27
27
|
test:
|
28
|
-
|
29
28
|
runs-on: ubuntu-latest
|
30
29
|
strategy:
|
31
30
|
matrix:
|
32
|
-
ruby-version:
|
31
|
+
ruby-version:
|
32
|
+
["2.7", "3.3", "head", "jruby-9.4.8.0", "truffleruby-24.1.0"]
|
33
33
|
|
34
34
|
steps:
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
35
|
+
- name: Checkout
|
36
|
+
uses: actions/checkout@v4
|
37
|
+
with:
|
38
|
+
submodules: true
|
39
|
+
|
40
|
+
- name: Setup Ruby, JRuby and TruffleRuby
|
41
|
+
uses: ruby/setup-ruby@v1
|
42
|
+
with:
|
43
|
+
ruby-version: ${{ matrix.ruby-version }}
|
44
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
45
|
+
|
46
|
+
- name: Run tests
|
47
|
+
run: bundle exec rake
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,189 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.14.0
|
4
|
+
|
5
|
+
### Known Issues
|
6
|
+
|
7
|
+
- ESP32 Boards
|
8
|
+
- **USB-CDC (aka native USB) appears to be broken** in the 3.0 core. Will eventually hang if sending a lot of data both directions at the same time. Use one of the standard UART interfaces until this is fixed.
|
9
|
+
|
10
|
+
### New Boards
|
11
|
+
|
12
|
+
- ESP32-H2 and ESP32-C6 variants (`--target esp32`):
|
13
|
+
- Depends on ESP32 Arduino Core 3.0+
|
14
|
+
- No WiFi on H2
|
15
|
+
|
16
|
+
### Board Changes
|
17
|
+
|
18
|
+
- ESP32 Boards
|
19
|
+
- 3.0+ version of the ESP32 Arduino Core now required.
|
20
|
+
|
21
|
+
- Raspberry Pi Pico (RP2040)
|
22
|
+
- WS2812 LED strips work now.
|
23
|
+
|
24
|
+
### New Peripherals
|
25
|
+
|
26
|
+
- Bit-Bang I2C:
|
27
|
+
- Class: `Denko::I2C::BitBang`
|
28
|
+
- Start a software bit-banged I2C bus on any 2 pins.
|
29
|
+
- Interchangeable with hardware bus (`Denko::I2C::Bus`), as far as I2C peripherals are concerned.
|
30
|
+
|
31
|
+
- ADS1100 Analog-to-Digital Converter:
|
32
|
+
- Class: `Denko::AnalogIO::ADS1100`
|
33
|
+
- Connects via I2C bus. Driver written in Ruby.
|
34
|
+
- Modeled after `AnalogIO::Input` since it's a single channel ADC.
|
35
|
+
- Can be read directly with `#read` or polled with `#poll`.
|
36
|
+
- Full scale voltage must be given in the initailize hash, `full_scale_ voltage:`.
|
37
|
+
- Gain and sample rate configurable. See example for more.
|
38
|
+
|
39
|
+
- SSD1306 1-Color OLED
|
40
|
+
- Added SPI version.
|
41
|
+
- Both use `Denko::Display::SSD1306`. Instances mutate to I2C or SPI behavior, based on bus given.
|
42
|
+
|
43
|
+
- SH1106 1-Color OLED
|
44
|
+
- Class: `Denko::Display::SH1106`
|
45
|
+
- Almost the same as SSD1306. Most driver code is shared between them.
|
46
|
+
- I2C and SPI versions both supported, as SSD1306 above.
|
47
|
+
|
48
|
+
### Peripheral Changes
|
49
|
+
|
50
|
+
- All Peripherals:
|
51
|
+
- On CRuby, `@state_mutex` and `@callback_mutex` are now instances of `Denko::MutexStub`, which just runs the given block when called with `#synchronize`.
|
52
|
+
- The options hash (now called params), given to `#initialize` is always available through the `#params` method.
|
53
|
+
- `#initialize` no longer accepts `pullup: true` or `pulldown: true`. Set mode explicitly, like `mode: :input_pullup`.
|
54
|
+
|
55
|
+
- Temperature / Pressure / Humidity Sensors:
|
56
|
+
- `DS18B20`, `DHT` and `HTU21D` readings now match all the others (Hash with same keys).
|
57
|
+
- Readings standardized to be in ºC, %RH and Pascals. Callbacks always receive hash with these.
|
58
|
+
- `[]` access for `@state` removed removed. Use `#temperature`, `#pressure`, `#humidity` instead.
|
59
|
+
- Added `#temperature_f` `#temperature_k` `#pressure_atm` `#pressure_bar` helper conversion methods.
|
60
|
+
- `#read` methods standardized to always read ALL sub-sensors. Affects `HTU21D` and `BMP180`.
|
61
|
+
|
62
|
+
- `AnalogIO::Input`:
|
63
|
+
- Added `#smoothing=` and `#smoothing_size=` accessors to `AnalogIO::Input` for configuration.
|
64
|
+
- `AnalogIO::Sensor` removed. Use `Input` instead.
|
65
|
+
|
66
|
+
- `Behavior::InputPin`
|
67
|
+
- Added `#debounce=(time)` which just calls `Board#set_pin_debounce` for the pin. Only on `PiBoard`.
|
68
|
+
|
69
|
+
- `DigitalIO::CBitBang`:
|
70
|
+
- New helper class. Forces initialize validation for bit-bang pins. Essential for `PiBoard`.
|
71
|
+
- As a side-effect, makes sure 2 low-level bit-bang Components (eg. buses) can't use the same pin.
|
72
|
+
- Always starts pins in `:input` mode. The bit-bang routine is expected to change them.
|
73
|
+
|
74
|
+
- `DigitalIO::RotaryEncoder`:
|
75
|
+
- Pin names standardized to `a:` and `b:`, but still accept `:clock`, `:data`, `:clk`, `:dt`.
|
76
|
+
- `steps_per_revolution` changed to `counts_per_revolution`
|
77
|
+
- Every level change is counted now (full-quadrature). Was half-quadrature before.
|
78
|
+
- `counts_per_revolution` now defaults to 60 instead of 30 (generic 30-detent encoders).
|
79
|
+
- `state` and callback hash store `:count` instead of `:steps`.
|
80
|
+
|
81
|
+
- `I2C::Bus`:
|
82
|
+
- No longer requires SDA pin to initialize.
|
83
|
+
- Accepts `index:` param (default 0) on initialize, specifying which I2C interface to use.
|
84
|
+
- Only works for PiBoard on Linux right now.
|
85
|
+
- `#update` accepts String of comma delimited ASCII numbers (Board), or Array of bytes (PiBoard).
|
86
|
+
|
87
|
+
- `I2C::Peripheral`:
|
88
|
+
- `#i2c_read` arg order changed from `(register, num_bytes)` to `(num_bytes, register: nil)`
|
89
|
+
|
90
|
+
- `LED`:
|
91
|
+
- `Base`, `RGB` and `SevenSegment` all inherit from `PulseIO::PWMOutput`, so see that below.
|
92
|
+
- `#write` MUST always be given a PWM value if used, not `0` or `1`.
|
93
|
+
- Prefer using `duty=` if possible, which is percentage based.
|
94
|
+
- Alternatively, call `#digital_write` only to stay in faster digital mode.
|
95
|
+
|
96
|
+
- `LED::RGB`:
|
97
|
+
- `#write` takes 3 regular args now. Use `*array` instead to pass an array.
|
98
|
+
- `#color` only takes a symbol for one of the predefined colors (or `:off`) now.
|
99
|
+
|
100
|
+
- `Motor::Stepper`:
|
101
|
+
- `#step_cc` renamed to `#step_ccw`.
|
102
|
+
|
103
|
+
- `OneWire::Bus`:
|
104
|
+
- `#update` accepts String of comma delimited ASCII numbers (Board), or Array of bytes (PiBoard).
|
105
|
+
|
106
|
+
- `PulseIO::IRTransmitter`:
|
107
|
+
- Renamed to `PulseIO::IROutput` to be more consistent with other classes.
|
108
|
+
- `#emit` renamed to `#write` for consistency.
|
109
|
+
|
110
|
+
- `PulseIO::PWMOutput`:
|
111
|
+
- `#write` will never try to call `#digital_write`, always `#pwm_write`.
|
112
|
+
- Initial mode is `:output` instead of `:output_pwm`, saving MCU PWM channels until needed.
|
113
|
+
- Mode change is lazy. Happens with first call to `#pwm_write`.
|
114
|
+
- Call only `#digital_write` to stay in digital `:output` mode (faster).
|
115
|
+
- Added `#duty=`. Set duty cycle in percentage regardless of PWM resolution.
|
116
|
+
- Set resolution and frequency per `PWMOutput` instance (pin), instead of per `Board` instance:
|
117
|
+
- `#initialize` hash accepts `frequency:` and `resolution:` keys.
|
118
|
+
- Call `#pwm_enable` with `frequency:` and `resolution:` kwargs
|
119
|
+
- Or use `#resolution=` and `#frequency=` methods.
|
120
|
+
- Defaults are 1 kHz frequency and 8-bit resolution.
|
121
|
+
- **ONLY** works on ESP32 and `PiBoard` right now. Others still control at the Board level.
|
122
|
+
- Limited to 13-bit resolution on `Denko::Board` for now.
|
123
|
+
|
124
|
+
- `SPI::Bus`:
|
125
|
+
- Accepts `index:` param (default 0) on initialize, specifying which SPI interface to use.
|
126
|
+
- Only works for PiBoard on Linux right now.
|
127
|
+
|
128
|
+
- `SPI::Peripheral`:
|
129
|
+
- Split into `SPI:Peripheral::SinglePin` and `Spi::Peripheral::MultiPin` to allow modeling more complex peripherals.
|
130
|
+
- `#update` accepts String of comma delimited ASCII numbers (Board), or Array of bytes (PiBoard).
|
131
|
+
|
132
|
+
- `SPI::OutputRegister`:
|
133
|
+
- Removed automatic buffering of writes.
|
134
|
+
- Call `#set_bit(value)` instead to modify state in memory, without writing to the physical register.
|
135
|
+
- Call `#write` to send state to the register after modifying.
|
136
|
+
|
137
|
+
### Fiwmare Changes
|
138
|
+
|
139
|
+
- General:
|
140
|
+
- Boards now report their serial buffer as 8 bytes less than the actual buffer size.
|
141
|
+
- Removed local callback hooks (meant for customization in C) from the Arduino sketches.
|
142
|
+
- Improved serial interface selection for ATSAMD21 boards. Some boards have the native interface as `Serial`, some as `SerialUSB`. The native interface is always selected now, regardless of its name.
|
143
|
+
- More accurate pin counts when initializing digital listener storage for different boards.
|
144
|
+
|
145
|
+
- Core I/O:
|
146
|
+
- Removed `INPUT_OUTPUT` mode. Only ESP32 used it and it's the same as `OUTPUT`.
|
147
|
+
- Added an optimized single-byte binary message type for `#digital_write`. Improves write throughput 6-7x. Only works for pins 0..63. Fallback automatic for higher pins.
|
148
|
+
|
149
|
+
- Hardware I2C:
|
150
|
+
- Message format changed so "value" isn't used. Will be used for differentiating multiple I2C interfaces in future.
|
151
|
+
- Responses now prefixed with `I2C{index}:` (index = I2C device integer, always 0 for now), instead of SDA pin number.
|
152
|
+
|
153
|
+
- Hardware SPI:
|
154
|
+
- Transfers don't need a chip select pin now. This is for LED strips like APA102.
|
155
|
+
|
156
|
+
- Bit-Bang I2C:
|
157
|
+
- Newly added. Works similar to Bit-Bang SPI.
|
158
|
+
|
159
|
+
### Board Interface Changes
|
160
|
+
|
161
|
+
- `Board#set_pin_mode` now takes a third hash argument, `options={}`. Only used keys are `resolution:` and `frequency:` for setting PWM resolution. Only works on ESP32 boards and `PiBoard` on Linux.
|
162
|
+
|
163
|
+
- Added `Board#set_pin_debounce`
|
164
|
+
- Implemented for Linux GPIO alerts in `Denko::PiBoard` (denko-piboard gem).
|
165
|
+
- Sets a time (in microseconds) that level changes on a pin must be stable for, before an update happens.
|
166
|
+
- Does nothing for `Denko::Board`.
|
167
|
+
|
168
|
+
- Added `OUTPUT_OPEN_DRAIN` and `OUTPUT_OPEN_SOURCE` pin modes to support `PiBoard`.
|
169
|
+
|
170
|
+
### CLI Changes
|
171
|
+
|
172
|
+
- All Atmel targets now prefixed with "at". Eg. `atsamd21` now, instead of `samd21` before.
|
173
|
+
|
174
|
+
### Bugs Fixed
|
175
|
+
|
176
|
+
- ADS111X sensors were incorrectly validating sample rate when set.
|
177
|
+
- Handshake could fail if board was left in a state where it kept transmitting data.
|
178
|
+
- An ESP32 with no DACs might not release a LEDC channel after use.
|
179
|
+
- `Denko::Connection` could have negative bytes in transit, making it overflow the board's rx buffer.
|
180
|
+
- `Servo`, `Buzzer` and `IRTransmitter` didn't start in `:output_pwm` mode.
|
181
|
+
- `SSD1306#on` and `#off` would raise errors, trying to write Integer instead of Array to `I2C::Bus`.
|
182
|
+
- `SPI::BitBang` did not correctly set initial clock state for modes 2 and 3.
|
183
|
+
- `IRTransmitter.emit` didn't work at all ESP8266. Pulse data wasn't aligned properly in memory.
|
184
|
+
- `Board#ws2812_write` was validating max length to 256 instead of 255.
|
185
|
+
- WS2812 write on ESP32 would crash it, only with *some* low 8-bit pixel values. Still unsure why, but four extra 0 bytes (preceding the pixel data in auxMsg) seems to work around this.
|
186
|
+
|
3
187
|
## 0.13.5
|
4
188
|
|
5
189
|
### New Components
|
@@ -88,7 +272,7 @@
|
|
88
272
|
|
89
273
|
- WS2812
|
90
274
|
- Larger aux message size now allows up to 256 pixels (3 bytes per pixel) on a strip
|
91
|
-
|
275
|
+
|
92
276
|
### Bug Fixes
|
93
277
|
|
94
278
|
- Fixed a bug with WS2812 strips where it would try to memcpy 3x the number of necessary bytes. Fixed this by just sending the total number of bytes to write to the strip, rather than number of pixels * bytes per pxiel.
|
@@ -221,7 +405,7 @@ Fixes critical 1-Wire bugs introduced when namespace was reorganized for 0.13.0.
|
|
221
405
|
- Connects via I2C bus. Driver written in Ruby.
|
222
406
|
- All features in the datasheet are implemented, except status checking.
|
223
407
|
- Both are mostly identical, except for BMP280 lacking humidity.
|
224
|
-
|
408
|
+
|
225
409
|
- HTU21D Temperature + Humidity Sensor:
|
226
410
|
- Class: `Denko::Sensor::HTU21D`
|
227
411
|
- Connects via I2C bus. Driver written in Ruby.
|
@@ -314,7 +498,7 @@ See new examples in the [examples](examples) folder to learn more.
|
|
314
498
|
- This solves compatibility with boards that the library didn't work on.
|
315
499
|
- `HD44780#create_char` allows 8 custom characters to be defined in memory addresses 0-7.
|
316
500
|
- `HD44780#write` draws the custom (or standard) character from a given memory address.
|
317
|
-
|
501
|
+
|
318
502
|
- `Denko::PulseIO::PWMOutput` (previously `Denko::Components::Basic::AnalogOutput`):
|
319
503
|
- Changed `#analog_write` to `#pwm_write`.
|
320
504
|
- Added `#pwm_enable` and `#pwm_disable` methods.
|
@@ -340,7 +524,7 @@ See new examples in the [examples](examples) folder to learn more.
|
|
340
524
|
- All calls to `delayMicroseconds()` should be replaced with this.
|
341
525
|
- Exposed in Ruby via `CMD=99`. It takes one argument, uint_16 for delay length in microsceonds.
|
342
526
|
- `Board#micro_delay` and `Component::#micro_delay` are defined.
|
343
|
-
|
527
|
+
|
344
528
|
- `dacWrite` function added to board library. `aWrite` function renamed to `pwmWrite`. Need this to avoid conflict between DAC, PWM and regular output on some chips.
|
345
529
|
|
346
530
|
- CMD numbers for some board functions changed to accomodate dacWrite:
|
@@ -353,7 +537,7 @@ See new examples in the [examples](examples) folder to learn more.
|
|
353
537
|
pulseread 11 -> 9
|
354
538
|
servoToggle 8 -> 10
|
355
539
|
servoWrite 9 -> 11
|
356
|
-
````
|
540
|
+
````
|
357
541
|
|
358
542
|
- `Board#analog_write` replaced by `Board#pwm_write` and `Board#dac_write`, matching the two C functions.
|
359
543
|
|
@@ -431,7 +615,7 @@ See new examples in the [examples](examples) folder to learn more.
|
|
431
615
|
- WiFi version supports OTA (over-the-air) update in the Arduino IDE. Initial flash must still be done via serial.
|
432
616
|
- Dev boards can map GPIOs to physical pins differently. Always look up the GPIO numbers and use those for pin numbers.
|
433
617
|
- **Note:** SoftwareSerial and LiquidCrystal (LCD) both do not work on the ESP8266, and are excluded from the sketch.
|
434
|
-
|
618
|
+
|
435
619
|
- ESP32 (`--target esp32`):
|
436
620
|
- Works with either built in WiFi or Serial.
|
437
621
|
- WiFi version does NOT support OTA (over-the-air) updates yet.
|
@@ -440,7 +624,7 @@ See new examples in the [examples](examples) folder to learn more.
|
|
440
624
|
- **Note:** Servos and analog outputs share the `LEDC` channels on the board. Maximum of 16 combined.
|
441
625
|
- **Note:** SoftwareSerial and LiquidCrystal (LCD) both do not work on the ESP32, and are excluded from the sketch.
|
442
626
|
- **Note:** SPI bug exists where input modes don't match other platforms. Eg. For a register using mode 0 on AVR, mode 2 needs to be set on ESP32 for it to work. Using mode 0 misses a bit.
|
443
|
-
|
627
|
+
|
444
628
|
- Arduino Due (`--target sam3x`) :
|
445
629
|
- Up to 12-bit analog in/out. Pass a `bits:` option to `Board#new` to set resolution for both.
|
446
630
|
- DAC support. Refer to DAC pins as `'DAC0'`, `'DAC1'`, just as labeled on the board. Call `#analog_write` or just `#write` on an `sensor` component that uses the pin.
|
@@ -463,7 +647,7 @@ See new examples in the [examples](examples) folder to learn more.
|
|
463
647
|
|
464
648
|
- Infrared Emitter support. _Uses [Arduino-IRremote](https://github.com/z3t0/Arduino-IRremote), and the [ESP8266 fork](https://github.com/markszabo/IRremoteESP8266) where applicable._
|
465
649
|
|
466
|
-
- Tone (piezo) support. _Uses Arduino `tone`,`noTone` functions._
|
650
|
+
- Tone (piezo) support. _Uses Arduino `tone`,`noTone` functions._
|
467
651
|
|
468
652
|
- SoftwareSerial **(write only)**. _Uses Arduino `SoftSerial` library. Only tested on ATmega chips._
|
469
653
|
|
@@ -511,7 +695,7 @@ See new examples in the [examples](examples) folder to learn more.
|
|
511
695
|
|
512
696
|
- `BoardProxy` abstraction for shift/SPI registers:
|
513
697
|
- The `Register` classes implement enough of the `Board` interface to satisfy components based on `DigitalInput` and `DigitalOutput`, such as `Led` or `Button`.
|
514
|
-
- This lets you call methods on components directly, rather than manipulating the register data to control components indirectly.
|
698
|
+
- This lets you call methods on components directly, rather than manipulating the register data to control components indirectly.
|
515
699
|
- Initialize the appropriate `Register` object for the type of register. To initialize a component connected to the register, use the register as the `board:`, and give the parallel I/O pin on the register that the component is connected to. Pin 0 maps to the lowest bit.
|
516
700
|
- This also works for `MultiPin` components built out of only `DigitalInput` or `DigitalOutput`, eg. `SSD` - seven segment display or `RGBLed`. See `examples/register` for more.
|
517
701
|
|
@@ -523,7 +707,7 @@ See new examples in the [examples](examples) folder to learn more.
|
|
523
707
|
- Callback functionality for components has been extracted into a mixin module, `Mixins::Callbacks`.
|
524
708
|
- Like before, callbacks for all components on a board run sequentially, in a single "update" thread, separate from the main thread. This is the same thread reading from TxRx.
|
525
709
|
- `#add_callback` and `#remove_callback` methods are available, and take an optional `key` as argument.
|
526
|
-
- Blocks given to `#add_callback` are stored in `@callbacks[key]`, to be called later, when the "update" thread receives data for the component. The default key is `:persistent`.
|
710
|
+
- Blocks given to `#add_callback` are stored in `@callbacks[key]`, to be called later, when the "update" thread receives data for the component. The default key is `:persistent`.
|
527
711
|
- Each key represents an array of callbacks, so multiple callbacks can share the same key.
|
528
712
|
- Calling `#remove_callbacks` with a key empties that array. Calling with no key removes **all** callbacks for the component.
|
529
713
|
- `#pre_callback_filter` is defined in the `Callbacks` module. The return value of this method is what is given to the component's callbacks and to update its `@state`. By default, it returns whatever was given from the board.
|
@@ -563,7 +747,7 @@ See new examples in the [examples](examples) folder to learn more.
|
|
563
747
|
* Flashing the updated sketch to the board is required.
|
564
748
|
|
565
749
|
## 0.11.1
|
566
|
-
|
750
|
+
|
567
751
|
### New Features
|
568
752
|
|
569
753
|
* Support for the Arduino Ethernet shield and compatibles (Wiznet W5100 chipset).
|
data/DEPS_CLI.md
CHANGED
@@ -16,15 +16,14 @@ arduino-cli core install arduino:sam
|
|
16
16
|
arduino-cli core install arduino:samd
|
17
17
|
arduino-cli core install arduino:renesas_uno
|
18
18
|
arduino-cli core install esp8266:esp8266
|
19
|
-
arduino-cli core install esp32:esp32
|
19
|
+
arduino-cli core install esp32:esp32@3.0.5
|
20
20
|
arduino-cli core install rp2040:rp2040
|
21
21
|
arduino-cli lib install Servo
|
22
22
|
arduino-cli lib install Ethernet
|
23
23
|
arduino-cli lib install WiFi
|
24
24
|
arduino-cli lib install WiFi101
|
25
25
|
arduino-cli lib install WiFiNINA
|
26
|
-
arduino-cli lib install IRremote@4.1
|
27
|
-
arduino-cli lib install IRremoteESP8266@2.8.4
|
26
|
+
arduino-cli lib install IRremote@4.4.1
|
28
27
|
arduino-cli lib install ESP32Servo
|
29
28
|
arduino-cli lib install "Adafruit NeoPixel"
|
30
29
|
````
|
@@ -37,7 +36,7 @@ arduino-cli lib install Servo
|
|
37
36
|
arduino-cli lib install Ethernet
|
38
37
|
arduino-cli lib install WiFi
|
39
38
|
arduino-cli lib install WiFiNINA
|
40
|
-
arduino-cli lib install IRremote@4.1
|
39
|
+
arduino-cli lib install IRremote@4.4.1
|
41
40
|
arduino-cli lib install "Adafruit NeoPixel"
|
42
41
|
````
|
43
42
|
|
@@ -52,7 +51,7 @@ arduino-cli lib install Ethernet
|
|
52
51
|
arduino-cli lib install WiFi
|
53
52
|
arduino-cli lib install WiFi101
|
54
53
|
arduino-cli lib install WiFiNINA
|
55
|
-
arduino-cli lib install IRremote@4.1
|
54
|
+
arduino-cli lib install IRremote@4.4.1
|
56
55
|
arduino-cli lib install "Adafruit NeoPixel"
|
57
56
|
````
|
58
57
|
|
@@ -62,7 +61,7 @@ arduino-cli config init
|
|
62
61
|
arduino-cli config add board_manager.additional_urls https://arduino.esp8266.com/stable/package_esp8266com_index.json
|
63
62
|
arduino-cli core update-index
|
64
63
|
arduino-cli core install esp8266:esp8266
|
65
|
-
arduino-cli lib install
|
64
|
+
arduino-cli lib install IRremote@4.4.1
|
66
65
|
arduino-cli lib install "Adafruit NeoPixel"
|
67
66
|
````
|
68
67
|
|
@@ -71,9 +70,9 @@ arduino-cli lib install "Adafruit NeoPixel"
|
|
71
70
|
arduino-cli config init
|
72
71
|
arduino-cli config add board_manager.additional_urls https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
|
73
72
|
arduino-cli core update-index
|
74
|
-
arduino-cli core install esp32:esp32
|
73
|
+
arduino-cli core install esp32:esp32@3.0.5
|
75
74
|
arduino-cli lib install ESP32Servo
|
76
|
-
arduino-cli lib install
|
75
|
+
arduino-cli lib install IRremote@4.4.1
|
77
76
|
arduino-cli lib install "Adafruit NeoPixel"
|
78
77
|
````
|
79
78
|
|
@@ -83,5 +82,6 @@ arduino-cli config init
|
|
83
82
|
arduino-cli config add board_manager.additional_urls https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
|
84
83
|
arduino-cli core update-index
|
85
84
|
arduino-cli core install rp2040:rp2040
|
86
|
-
arduino-cli lib install IRremote@4.1
|
85
|
+
arduino-cli lib install IRremote@4.4.1
|
86
|
+
arduino-cli lib install "Adafruit NeoPixel"
|
87
87
|
````
|