denko 0.13.6 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/{build_avr.yml → build_atmega_avr.yml} +19 -18
- data/.github/workflows/{build_megaavr.yml → build_atmega_megaavr.yml} +19 -18
- data/.github/workflows/{build_sam3x.yml → build_atsam3x.yml} +18 -17
- data/.github/workflows/{build_samd.yml → build_atsamd21.yml} +19 -18
- data/.github/workflows/build_esp32.yml +19 -18
- data/.github/workflows/build_esp32c3.yml +58 -0
- data/.github/workflows/build_esp32c6.yml +59 -0
- data/.github/workflows/build_esp32h2.yml +58 -0
- data/.github/workflows/build_esp32s2.yml +59 -0
- data/.github/workflows/build_esp32s3.yml +59 -0
- data/.github/workflows/build_esp8266.yml +16 -15
- data/.github/workflows/build_ra4m1.yml +17 -16
- data/.github/workflows/build_rp2040.yml +19 -17
- data/.github/workflows/ruby.yml +20 -20
- data/CHANGELOG.md +398 -11
- data/DEPS_CLI.md +16 -16
- data/DEPS_IDE.md +39 -39
- data/MICROCONTROLLERS.md +103 -0
- data/PERIPHERALS.md +178 -0
- data/README.md +73 -58
- data/Rakefile +1 -1
- data/build +1 -1
- data/denko.gemspec +11 -3
- 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 +12 -27
- data/lib/denko/analog_io/ads111x.rb +39 -21
- data/lib/denko/analog_io/input.rb +29 -55
- data/lib/denko/analog_io/input_helper.rb +42 -0
- data/lib/denko/analog_io/joystick.rb +87 -0
- data/lib/denko/analog_io/output.rb +5 -5
- data/lib/denko/analog_io/potentiometer.rb +3 -9
- data/lib/denko/analog_io.rb +22 -7
- data/lib/denko/behaviors/board_proxy.rb +13 -1
- data/lib/denko/behaviors/bus_controller.rb +3 -1
- 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 +18 -14
- data/lib/denko/behaviors/component.rb +12 -14
- data/lib/denko/behaviors/input_pin.rb +14 -15
- data/lib/denko/behaviors/lifecycle.rb +51 -0
- data/lib/denko/behaviors/listener.rb +9 -3
- data/lib/denko/behaviors/multi_pin.rb +22 -20
- data/lib/denko/behaviors/output_pin.rb +9 -4
- data/lib/denko/behaviors/poller.rb +11 -2
- data/lib/denko/behaviors/reader.rb +109 -21
- data/lib/denko/behaviors/single_pin.rb +3 -4
- data/lib/denko/behaviors/state.rb +24 -13
- data/lib/denko/behaviors/subcomponents.rb +72 -12
- data/lib/denko/behaviors/threaded.rb +19 -8
- data/lib/denko/behaviors.rb +36 -22
- data/lib/denko/board/core.rb +36 -18
- data/lib/denko/board/eeprom.rb +1 -1
- data/lib/denko/board/i2c.rb +15 -15
- data/lib/denko/board/i2c_bit_bang.rb +53 -0
- data/lib/denko/board/infrared.rb +6 -6
- data/lib/denko/board/led_array.rb +6 -5
- data/lib/denko/board/map.rb +6 -2
- data/lib/denko/board/one_wire.rb +3 -3
- data/lib/denko/board/spi.rb +35 -30
- data/lib/denko/board/spi_bit_bang.rb +14 -15
- data/lib/denko/board.rb +41 -36
- data/lib/denko/connection/binary_echo.rb +17 -0
- data/lib/denko/connection/flow_control.rb +12 -16
- data/lib/denko/connection/handshake.rb +2 -0
- data/lib/denko/connection/serial.rb +5 -5
- 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 +19 -10
- data/lib/denko/digital_io/pcf8574.rb +114 -0
- data/lib/denko/digital_io/relay.rb +2 -0
- data/lib/denko/digital_io/rotary_encoder.rb +83 -61
- data/lib/denko/digital_io.rb +24 -5
- data/lib/denko/display/canvas.rb +350 -157
- data/lib/denko/display/font/bmp_5x7.rb +142 -0
- data/lib/denko/display/font/bmp_6x8.rb +142 -0
- data/lib/denko/display/font/bmp_8x16.rb +141 -0
- data/lib/denko/display/font.rb +22 -0
- data/lib/denko/display/hd44780.rb +152 -105
- data/lib/denko/display/il0373.rb +186 -0
- data/lib/denko/display/mono_oled.rb +193 -0
- data/lib/denko/display/pcd8544.rb +154 -0
- data/lib/denko/display/pixel_common.rb +83 -0
- data/lib/denko/display/sh1106.rb +38 -0
- data/lib/denko/display/sh1107.rb +10 -0
- data/lib/denko/display/spi_common.rb +35 -0
- data/lib/denko/display/spi_epaper_common.rb +30 -0
- data/lib/denko/display/ssd1306.rb +6 -168
- data/lib/denko/display/ssd1680.rb +14 -0
- data/lib/denko/display/ssd1681.rb +8 -0
- data/lib/denko/display/ssd168x.rb +227 -0
- data/lib/denko/display/st7302.rb +207 -0
- data/lib/denko/display/st7565.rb +166 -0
- data/lib/denko/display.rb +40 -3
- data/lib/denko/eeprom/at24c.rb +67 -0
- data/lib/denko/eeprom/board.rb +69 -0
- data/lib/denko/eeprom.rb +15 -1
- data/lib/denko/helpers/engine_check.rb +13 -0
- data/lib/denko/helpers/mutex_stub.rb +13 -0
- data/lib/denko/helpers.rb +6 -0
- data/lib/denko/i2c/bit_bang.rb +32 -0
- data/lib/denko/i2c/bus.rb +8 -36
- data/lib/denko/i2c/bus_common.rb +50 -0
- data/lib/denko/i2c/peripheral.rb +32 -19
- data/lib/denko/i2c.rb +17 -2
- data/lib/denko/led/apa102.rb +42 -30
- data/lib/denko/led/base.rb +13 -2
- data/lib/denko/led/rgb.rb +18 -14
- data/lib/denko/led/seven_segment.rb +24 -9
- data/lib/denko/led/ws2812.rb +10 -7
- data/lib/denko/led.rb +17 -8
- data/lib/denko/message.rb +5 -0
- data/lib/denko/motor/{stepper.rb → a3967.rb} +12 -15
- data/lib/denko/motor/l298.rb +11 -10
- data/lib/denko/motor/servo.rb +37 -15
- data/lib/denko/motor.rb +16 -3
- data/lib/denko/one_wire/bus.rb +31 -23
- data/lib/denko/one_wire/bus_enumerator.rb +25 -14
- data/lib/denko/one_wire/helper.rb +4 -2
- data/lib/denko/one_wire/peripheral.rb +0 -3
- data/lib/denko/one_wire.rb +18 -5
- data/lib/denko/pulse_io/buzzer.rb +11 -9
- data/lib/denko/pulse_io/{ir_transmitter.rb → ir_output.rb} +6 -5
- data/lib/denko/pulse_io/pwm_output.rb +94 -15
- data/lib/denko/pulse_io.rb +17 -3
- data/lib/denko/rtc/ds3231.rb +13 -14
- data/lib/denko/rtc.rb +14 -1
- data/lib/denko/sensor/aht.rb +35 -38
- data/lib/denko/sensor/bme280.rb +76 -92
- data/lib/denko/sensor/bmp180.rb +46 -48
- data/lib/denko/sensor/dht.rb +34 -7
- data/lib/denko/sensor/ds18b20.rb +41 -34
- data/lib/denko/sensor/hcsr04.rb +7 -5
- data/lib/denko/sensor/hdc1080.rb +174 -0
- data/lib/denko/sensor/helper.rb +37 -0
- data/lib/denko/sensor/htu21d.rb +57 -57
- data/lib/denko/sensor/htu31d.rb +36 -36
- data/lib/denko/sensor/jsnsr04t.rb +49 -0
- data/lib/denko/sensor/qmp6988.rb +34 -48
- data/lib/denko/sensor/rcwl9620.rb +3 -5
- data/lib/denko/sensor/sht3x.rb +27 -24
- data/lib/denko/sensor/sht4x.rb +125 -0
- data/lib/denko/sensor/vl53l0x.rb +58 -0
- data/lib/denko/sensor.rb +33 -16
- data/lib/denko/spi/base_register.rb +25 -21
- data/lib/denko/spi/bit_bang.rb +17 -51
- data/lib/denko/spi/bus.rb +15 -29
- data/lib/denko/spi/bus_common.rb +33 -0
- data/lib/denko/spi/input_register.rb +37 -31
- data/lib/denko/spi/output_register.rb +33 -39
- data/lib/denko/spi/peripheral.rb +81 -14
- data/lib/denko/spi.rb +21 -6
- data/lib/denko/uart/bit_bang.rb +7 -30
- data/lib/denko/uart/common.rb +33 -0
- data/lib/denko/uart/hardware.rb +10 -34
- data/lib/denko/uart.rb +16 -2
- data/lib/denko/version.rb +1 -1
- data/lib/denko.rb +23 -16
- data/lib/denko_cli/generator.rb +2 -2
- data/lib/denko_cli/packages.rb +8 -10
- data/lib/denko_cli/targets.rb +13 -13
- data/lib/denko_cli/targets.txt +23 -24
- 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 +65 -16
- data/src/lib/Denko.h +46 -30
- data/src/lib/DenkoCoreIO.cpp +57 -102
- data/src/lib/DenkoDefines.h +32 -46
- 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 +29 -13
- data/src/lib/DenkoSPI.cpp +36 -33
- data/src/lib/DenkoSPIBB.cpp +19 -20
- data/target.yml +37 -2
- data/test/analog_io/input_test.rb +1 -1
- data/test/analog_io/potentiometer_test.rb +12 -12
- data/test/behaviors/board_proxy_test.rb +1 -1
- data/test/behaviors/bus_peripheral_test.rb +4 -4
- data/test/behaviors/callbacks_test.rb +28 -10
- data/test/behaviors/component_test.rb +32 -14
- 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/board_test.rb +9 -9
- 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/one_wire_test.rb +25 -14
- data/test/board/spi_test.rb +45 -29
- data/test/digital_io/button_test.rb +15 -0
- data/test/digital_io/input_test.rb +2 -2
- data/test/digital_io/relay_test.rb +18 -0
- data/test/digital_io/rotary_encoder_test.rb +80 -60
- data/test/display/canvas_test.rb +306 -0
- data/test/display/hd44780_test.rb +34 -7
- data/test/eeprom/board_test.rb +45 -0
- data/test/helpers/mruby_minitest.rb +95 -0
- data/test/helpers/mruby_runner.rb +13 -0
- data/test/i2c/bus_test.rb +108 -29
- data/test/i2c/peripheral_test.rb +38 -19
- data/test/led/apa102_test.rb +24 -0
- data/test/led/base_test.rb +2 -1
- data/test/led/rgb_test.rb +9 -9
- data/test/led/seven_segment_test.rb +7 -7
- data/test/motor/{stepper_test.rb → a3967_test.rb} +4 -4
- data/test/motor/servo_test.rb +1 -1
- data/test/one_wire/bus_enumerator_test.rb +1 -1
- data/test/one_wire/bus_test.rb +43 -35
- data/test/one_wire/peripheral_test.rb +5 -17
- data/test/pulse_io/buzzer_test.rb +7 -4
- data/test/pulse_io/{ir_transmitter_test.rb → ir_output_test.rb} +15 -10
- data/test/pulse_io/pwm_output_test.rb +74 -18
- data/test/rtc/ds3231_test.rb +13 -14
- data/test/sensor/dht_test.rb +12 -12
- data/test/sensor/ds18b20_test.rb +4 -8
- data/test/spi/bitbang_test.rb +27 -0
- data/test/spi/bus_test.rb +24 -34
- data/test/spi/input_register_test.rb +17 -17
- data/test/spi/output_register_test.rb +10 -28
- data/test/spi/peripheral_test.rb +73 -0
- data/test/test_helper.rb +44 -121
- data/vendor/board-maps/BoardMap.h +678 -54
- data/vendor/board-maps/lib/header_parser.rb +12 -2
- data/vendor/board-maps/yaml/ADAFRUIT_CAMERA_ESP32S3.yml +2 -2
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32C6.yml +15 -0
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32_V2.yml +1 -1
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_RP2040_ADALOGGER.yml +44 -0
- data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32C3.yml +1 -0
- data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32S2.yml +1 -0
- data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32S3_N4R2.yml +1 -0
- data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32S3_NOPSRAM.yml +1 -0
- data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32_PICO.yml +1 -0
- data/vendor/board-maps/yaml/ALFREDO_NOU3.yml +2 -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/ASL_CAN_X2.yml +41 -0
- data/vendor/board-maps/yaml/ATD143_S3.yml +1 -0
- data/vendor/board-maps/yaml/BHARATPI_A7672S_4G.yml +14 -0
- data/vendor/board-maps/yaml/BHARATPI_LORA.yml +14 -0
- data/vendor/board-maps/yaml/BHARATPI_NODE_WIFI.yml +14 -0
- data/vendor/board-maps/yaml/BLING.yml +25 -0
- data/vendor/board-maps/yaml/BRIDGETEK_IDM2040_7A.yml +48 -0
- data/vendor/board-maps/yaml/Bee_Motion_Mini.yml +13 -1
- data/vendor/board-maps/yaml/Breadstick_Raspberry.yml +31 -0
- data/vendor/board-maps/yaml/CEZERIO_DEV_ESP32C6.yml +14 -0
- data/vendor/board-maps/yaml/CEZERIO_MINI_DEV_ESP32C6.yml +12 -0
- data/vendor/board-maps/yaml/CIRCUITART_ZERO_S3.yml +71 -0
- data/vendor/board-maps/yaml/CODECELLC3.yml +13 -0
- data/vendor/board-maps/yaml/CYOBOT_V2_ESP32S3.yml +7 -0
- data/vendor/board-maps/yaml/DFROBOT_BEETLE_ESP32C6.yml +8 -0
- data/vendor/board-maps/yaml/DFROBOT_FIREBEETLE_2_ESP32C6.yml +20 -0
- data/vendor/board-maps/yaml/DFROBOT_FIREBEETLE_ESP32.yml +46 -0
- data/vendor/board-maps/yaml/DPTECHNICS_WALTER.yml +39 -0
- data/vendor/board-maps/yaml/EDGES3D.yml +25 -0
- data/vendor/board-maps/yaml/ELECROW_CROWPANEL_7.yml +8 -0
- data/vendor/board-maps/yaml/ESP32C2_DEV.yml +12 -0
- data/vendor/board-maps/yaml/ESP32C3_DEVKIT_LIPO.yml +14 -0
- data/vendor/board-maps/yaml/ESP32C6_DEV.yml +14 -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 +14 -0
- data/vendor/board-maps/yaml/ESP32H2_DEV.yml +12 -0
- data/vendor/board-maps/yaml/ESP32H2_DEVKIT_LIPO.yml +12 -0
- data/vendor/board-maps/yaml/ESP32P4_DEV.yml +35 -0
- data/vendor/board-maps/yaml/{RMP.yml → ESP32S2_DEVKIT_LIPO.yml} +1 -1
- data/vendor/board-maps/yaml/ESP32S2_DEVKIT_LIPO_USB.yml +43 -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_2432S028R.yml +14 -0
- data/vendor/board-maps/yaml/ESP32_SBC_FABGL.yml +35 -0
- data/vendor/board-maps/yaml/EVN_ALPHA.yml +48 -0
- data/vendor/board-maps/yaml/FEATHERS3.yml +1 -1
- data/vendor/board-maps/yaml/FEATHERS3NEO.yml +32 -0
- data/vendor/board-maps/yaml/FRI3D_2024_ESP32S3.yml +43 -0
- data/vendor/board-maps/yaml/GEEKBLE_ESP32C3.yml +13 -0
- data/vendor/board-maps/yaml/GEEKBLE_NANO_ESP32S3.yml +25 -0
- data/vendor/board-maps/yaml/HELTEC_CAPSULE_SENSOR_V3.yml +43 -0
- data/vendor/board-maps/yaml/HELTEC_VISION_MASTER_E290.yml +41 -0
- data/vendor/board-maps/yaml/HELTEC_VISION_MASTER_E_213.yml +41 -0
- data/vendor/board-maps/yaml/HELTEC_VISION_MASTER_T190.yml +41 -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_TRACKER.yml +41 -0
- data/vendor/board-maps/yaml/HT_DE01.yml +42 -0
- data/vendor/board-maps/yaml/HUIDU_HD_WF2.yml +5 -0
- data/vendor/board-maps/yaml/HUIDU_HD_WF4.yml +1 -0
- data/vendor/board-maps/yaml/IMBRIOS_LOGSENS_V1P1.yml +1 -1
- data/vendor/board-maps/yaml/LILYGO_LORA_CC1101.yml +6 -0
- data/vendor/board-maps/yaml/LILYGO_LORA_LR1121.yml +6 -0
- data/vendor/board-maps/yaml/LILYGO_LORA_SI4432.yml +6 -0
- data/vendor/board-maps/yaml/LILYGO_LORA_SX1262.yml +6 -0
- data/vendor/board-maps/yaml/LILYGO_LORA_SX1280.yml +6 -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_ETH_LITE.yml +21 -0
- data/vendor/board-maps/yaml/LOLIN_C3_MINI.yml +0 -1
- data/vendor/board-maps/yaml/LOLIN_C3_PICO.yml +13 -0
- data/vendor/board-maps/yaml/LOLIN_S3.yml +1 -0
- data/vendor/board-maps/yaml/LOLIN_S3_MINI_PRO.yml +40 -0
- data/vendor/board-maps/yaml/Lion_Bit_Dev_Board.yml +0 -2
- 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_DIAL.yml +8 -0
- data/vendor/board-maps/yaml/M5STACK_DINMETER.yml +8 -0
- data/vendor/board-maps/yaml/M5STACK_FIRE.yml +1 -2
- 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_S3.yml +4 -0
- data/vendor/board-maps/yaml/{M5Stick_C.yml → M5STACK_STICKC.yml} +0 -1
- 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_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 +0 -1
- 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/METEHOCA_AKANA_R1.yml +46 -0
- data/vendor/board-maps/yaml/NAMINO_BIANCO.yml +13 -0
- data/vendor/board-maps/yaml/NEBULAS3.yml +0 -1
- 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/OLIMEX_RP2040_PICO30_16MB.yml +48 -0
- data/vendor/board-maps/yaml/OLIMEX_RP2040_PICO30_2MB.yml +48 -0
- data/vendor/board-maps/yaml/OMGS3.yml +25 -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/PCBCUPID_GLYPHC3.yml +23 -0
- data/vendor/board-maps/yaml/PCBCUPID_GLYPHC6.yml +32 -0
- data/vendor/board-maps/yaml/PCBCUPID_GLYPHH2.yml +24 -0
- data/vendor/board-maps/yaml/PINTRONIX_PINMAX.yml +42 -0
- data/vendor/board-maps/yaml/REDPILL_ESP32S3.yml +0 -1
- data/vendor/board-maps/yaml/SENSEBOX_MCU_ESP32S2.yml +12 -0
- data/vendor/board-maps/yaml/SPARKFUN_ESP32S3_THING_PLUS.yml +13 -0
- data/vendor/board-maps/yaml/SPARKFUN_MICROMOD_RP2040.yml +48 -0
- data/vendor/board-maps/yaml/SPARKFUN_PRO_MICRO_ESP32C3.yml +24 -0
- data/vendor/board-maps/yaml/SPARKLEMOTIONMINI_ESP32.yml +12 -0
- data/vendor/board-maps/yaml/SPARKLEMOTIONSTICK_ESP32.yml +11 -0
- data/vendor/board-maps/yaml/SPARKLEMOTION_ESP32.yml +12 -0
- data/vendor/board-maps/yaml/SQUIXL.yml +7 -0
- data/vendor/board-maps/yaml/THINGPULSE_EPULSE_FEATHER.yml +31 -0
- data/vendor/board-maps/yaml/THINGPULSE_EPULSE_FEATHER_C6.yml +14 -0
- data/vendor/board-maps/yaml/TINYC6.yml +25 -0
- data/vendor/board-maps/yaml/T_LORA_PAGER.yml +6 -0
- data/vendor/board-maps/yaml/T_WATCH_S3.yml +7 -0
- data/vendor/board-maps/yaml/T_WATCH_S3_ULTRA.yml +6 -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/VIRALINK_GATE32_01.yml +6 -0
- data/vendor/board-maps/yaml/VIRALINK_GATE32_11.yml +7 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32S3_TOUCH_LCD_128.yml +8 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_146.yml +41 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_147.yml +41 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_169.yml +38 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_LCD_185.yml +41 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_RELAY_6CH.yml +41 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_143.yml +7 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_164.yml +7 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_18.yml +38 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_191.yml +7 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_AMOLED_241.yml +7 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_146.yml +41 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_169.yml +38 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_185.yml +41 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_185_BOX.yml +41 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_21.yml +41 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_28.yml +41 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_4.yml +36 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_43.yml +38 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_43B.yml +38 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_5.yml +38 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_5B.yml +38 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_TOUCH_LCD_7.yml +38 -0
- data/vendor/board-maps/yaml/WAVESHARE_ESP32_S3_ZERO.yml +36 -0
- data/vendor/board-maps/yaml/WAVESHARE_RP2040_MATRIX.yml +48 -0
- data/vendor/board-maps/yaml/WAVESHARE_RP2040_ONE.yml +1 -0
- data/vendor/board-maps/yaml/WAVESHARE_RP2040_PIZERO.yml +47 -0
- data/vendor/board-maps/yaml/WAVESHARE_RP2040_ZERO.yml +1 -0
- data/vendor/board-maps/yaml/WEACT_STUDIO_ESP32C3.yml +14 -0
- data/vendor/board-maps/yaml/WS_ESP32_S3_MATRIX.yml +38 -0
- data/vendor/board-maps/yaml/WT32_SC01_PLUS.yml +7 -0
- data/vendor/board-maps/yaml/WiFiduinoV2.yml +1 -0
- data/vendor/board-maps/yaml/XIAO_ESP32C3.yml +0 -1
- data/vendor/board-maps/yaml/XIAO_ESP32C6.yml +22 -0
- data/vendor/board-maps/yaml/XIAO_ESP32S3_PLUS.yml +46 -0
- data/vendor/board-maps/yaml/YB_ESP32S3_AMP_V2.yml +28 -0
- data/vendor/board-maps/yaml/YB_ESP32S3_AMP_V3.yml +28 -0
- data/vendor/board-maps/yaml/YB_ESP32S3_ETH.yml +40 -0
- data/vendor/board-maps/yaml/mercury.yml +20 -0
- data/vendor/board-maps/yaml/unphone9.yml +8 -0
- metadata +259 -105
- data/.vscode/settings.json +0 -5
- data/.vscode/tasks.json +0 -20
- data/HARDWARE.md +0 -264
- data/benchmarks/i2c_ssd1306_refresh.rb +0 -84
- data/examples/advanced/m5_env.rb +0 -48
- data/examples/advanced/rotary_encoder_mac_volume.rb +0 -48
- data/examples/advanced/ssd1306_time_temp_rh.rb +0 -48
- data/examples/analog_io/ads1115.rb +0 -57
- data/examples/analog_io/ads1118.rb +0 -73
- data/examples/analog_io/dac_loopback.rb +0 -34
- data/examples/analog_io/input.rb +0 -55
- data/examples/connection/tcp.rb +0 -34
- data/examples/digital_io/button.rb +0 -13
- data/examples/digital_io/rotary_encoder.rb +0 -26
- data/examples/display/hd44780.png +0 -0
- data/examples/display/hd44780.rb +0 -39
- data/examples/display/ssd1306.rb +0 -40
- data/examples/display/ssd1306_s2_pico.rb +0 -29
- data/examples/eeprom/built_in.rb +0 -32
- data/examples/i2c/search.rb +0 -55
- data/examples/led/apa102_bounce.rb +0 -33
- data/examples/led/apa102_breathe.rb +0 -45
- data/examples/led/builtin_blink.rb +0 -12
- data/examples/led/seven_segment_char_echo.rb +0 -15
- data/examples/led/ws2812_bounce.rb +0 -32
- data/examples/led/ws2812_builtin_blink.rb +0 -21
- data/examples/motor/l298.rb +0 -43
- data/examples/motor/servo.rb +0 -16
- data/examples/motor/stepper.png +0 -0
- data/examples/motor/stepper.rb +0 -43
- data/examples/pulse_io/buzzer.rb +0 -30
- data/examples/pulse_io/ir_transmitter.rb +0 -55
- data/examples/rtc/ds3231.rb +0 -48
- data/examples/sensor/aht10.rb +0 -19
- data/examples/sensor/aht20.rb +0 -19
- data/examples/sensor/bme280.rb +0 -38
- data/examples/sensor/bmp180.rb +0 -22
- data/examples/sensor/dht.rb +0 -24
- data/examples/sensor/ds18b20.rb +0 -58
- data/examples/sensor/generic_pir.rb +0 -25
- data/examples/sensor/hcsr04.rb +0 -14
- data/examples/sensor/htu21d.rb +0 -54
- data/examples/sensor/htu31d.rb +0 -35
- data/examples/sensor/neat_tph_readings.rb +0 -26
- data/examples/sensor/qmp6988.rb +0 -53
- data/examples/sensor/rcwl9620.rb +0 -15
- data/examples/sensor/sht3x.rb +0 -34
- data/examples/spi/input_register.rb +0 -50
- data/examples/spi/output_register.rb +0 -49
- data/examples/spi/ssd_through_register.rb +0 -40
- data/examples/spi/two_registers.rb +0 -46
- data/examples/uart/bit_bang_read.rb +0 -16
- data/examples/uart/bit_bang_write.rb +0 -16
- data/examples/uart/board_passthrough.rb +0 -34
- data/examples/uart/hardware_loopback.rb +0 -16
- data/lib/denko/analog_io/sensor.rb +0 -6
- data/lib/denko/eeprom/built_in.rb +0 -69
- data/lib/denko/fonts.rb +0 -106
- data/lib/denko/sensor/virtual.rb +0 -42
- data/src/lib/DenkoIROutESP.cpp +0 -26
- data/test/eeprom/built_in_test.rb +0 -61
- data/tutorial/01-led/led.fzz +0 -0
- data/tutorial/01-led/led.pdf +0 -0
- data/tutorial/01-led/led.rb +0 -73
- data/tutorial/02-button/button.fzz +0 -0
- data/tutorial/02-button/button.pdf +0 -0
- data/tutorial/02-button/button.rb +0 -64
- data/tutorial/03-potentiometer/potentiometer.fzz +0 -0
- data/tutorial/03-potentiometer/potentiometer.pdf +0 -0
- data/tutorial/03-potentiometer/potentiometer.rb +0 -62
- data/tutorial/04-pwm_led/pwm_led.fzz +0 -0
- data/tutorial/04-pwm_led/pwm_led.pdf +0 -0
- data/tutorial/04-pwm_led/pwm_led.rb +0 -66
- data/tutorial/05-rgb_led/rgb_led.fzz +0 -0
- data/tutorial/05-rgb_led/rgb_led.pdf +0 -0
- data/tutorial/05-rgb_led/rgb_led.rb +0 -58
- data/tutorial/05-rgb_led/rgb_mapping.rb +0 -76
- data/vendor/board-maps/yaml/STAMP_S3.yml +0 -8
- /data/vendor/board-maps/yaml/{BRIDGETEK_IDM2040-7A.yml → BRIDGETEK_IDM2040_43A.yml} +0 -0
- /data/vendor/board-maps/yaml/{heltec_wifi_32_lora_V3.yml → HELTEC_WIRELESS_STICK_V3.yml} +0 -0
- /data/vendor/board-maps/yaml/{M5Stack_Core_ESP32.yml → M5STACK_CORE.yml} +0 -0
- /data/vendor/board-maps/yaml/{M5Stamp_Pico.yml → M5STACK_STAMP_PICO.yml} +0 -0
- /data/vendor/board-maps/yaml/{M5Stack-Timer-CAM.yml → M5STACK_TIMER_CAM.yml} +0 -0
@@ -0,0 +1,142 @@
|
|
1
|
+
# MIT License
|
2
|
+
#
|
3
|
+
# Copyright (c) 2018-2019, Alexey Dynda
|
4
|
+
#
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
10
|
+
# furnished to do so, subject to the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
13
|
+
# copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
# SOFTWARE.
|
22
|
+
#
|
23
|
+
# ssd1306xled_font6x8 is by Neven Boyanov
|
24
|
+
# ssd1306xled_font8x16 is by Neven Boyanov
|
25
|
+
#
|
26
|
+
# @created: 2014-08-12
|
27
|
+
# @author: Neven Boyanov
|
28
|
+
#
|
29
|
+
# Copyright (c) 2015 Neven Boyanov, Tinusaur Team. All Rights Reserved.
|
30
|
+
# Distributed as open source software under MIT License, see LICENSE.txt file.
|
31
|
+
# Please, as a favour, retain the link http://tinusaur.org to The Tinusaur Project.
|
32
|
+
#
|
33
|
+
# Source code available at: https://bitbucket.org/tinusaur/ssd1306xled
|
34
|
+
#
|
35
|
+
module Denko
|
36
|
+
module Display
|
37
|
+
module Font
|
38
|
+
BMP_5X7 = {
|
39
|
+
width: 5,
|
40
|
+
height: 7,
|
41
|
+
characters: [
|
42
|
+
[0x00, 0x00, 0x00, 0x00, 0x00], # sp
|
43
|
+
[0x00, 0x00, 0x5F, 0x00, 0x00], # !
|
44
|
+
[0x00, 0x03, 0x00, 0x03, 0x00], # "
|
45
|
+
[0x14, 0x3E, 0x14, 0x3E, 0x14], # #
|
46
|
+
[0x24, 0x2A, 0x7F, 0x2A, 0x12], # $
|
47
|
+
[0x43, 0x33, 0x08, 0x66, 0x61], # %
|
48
|
+
[0x36, 0x49, 0x55, 0x22, 0x50], # &
|
49
|
+
[0x00, 0x05, 0x03, 0x00, 0x00], # '
|
50
|
+
[0x00, 0x1C, 0x22, 0x41, 0x00], # (
|
51
|
+
[0x00, 0x41, 0x22, 0x1C, 0x00], # )
|
52
|
+
[0x14, 0x08, 0x3E, 0x08, 0x14], # *
|
53
|
+
[0x08, 0x08, 0x3E, 0x08, 0x08], # +
|
54
|
+
[0x00, 0x50, 0x30, 0x00, 0x00], # ,
|
55
|
+
[0x08, 0x08, 0x08, 0x08, 0x08], # -
|
56
|
+
[0x00, 0x60, 0x60, 0x00, 0x00], # .
|
57
|
+
[0x20, 0x10, 0x08, 0x04, 0x02], # /
|
58
|
+
[0x3E, 0x51, 0x49, 0x45, 0x3E], # 0
|
59
|
+
[0x00, 0x04, 0x02, 0x7F, 0x00], # 1
|
60
|
+
[0x42, 0x61, 0x51, 0x49, 0x46], # 2
|
61
|
+
[0x22, 0x41, 0x49, 0x49, 0x36], # 3
|
62
|
+
[0x18, 0x14, 0x12, 0x7F, 0x10], # 4
|
63
|
+
[0x27, 0x45, 0x45, 0x45, 0x39], # 5
|
64
|
+
[0x3E, 0x49, 0x49, 0x49, 0x32], # 6
|
65
|
+
[0x01, 0x01, 0x71, 0x09, 0x07], # 7
|
66
|
+
[0x36, 0x49, 0x49, 0x49, 0x36], # 8
|
67
|
+
[0x26, 0x49, 0x49, 0x49, 0x3E], # 9
|
68
|
+
[0x00, 0x36, 0x36, 0x00, 0x00], # :
|
69
|
+
[0x00, 0x56, 0x36, 0x00, 0x00], # ;
|
70
|
+
[0x08, 0x14, 0x22, 0x41, 0x00], # <
|
71
|
+
[0x14, 0x14, 0x14, 0x14, 0x14], # =
|
72
|
+
[0x00, 0x41, 0x22, 0x14, 0x08], # >
|
73
|
+
[0x02, 0x01, 0x51, 0x09, 0x06], # ?
|
74
|
+
[0x3E, 0x41, 0x59, 0x55, 0x5E], # @
|
75
|
+
[0x7E, 0x09, 0x09, 0x09, 0x7E], # A
|
76
|
+
[0x7F, 0x49, 0x49, 0x49, 0x36], # B
|
77
|
+
[0x3E, 0x41, 0x41, 0x41, 0x22], # C
|
78
|
+
[0x7F, 0x41, 0x41, 0x41, 0x3E], # D
|
79
|
+
[0x7F, 0x49, 0x49, 0x49, 0x41], # E
|
80
|
+
[0x7F, 0x09, 0x09, 0x09, 0x01], # F
|
81
|
+
[0x3E, 0x41, 0x41, 0x49, 0x3A], # G
|
82
|
+
[0x7F, 0x08, 0x08, 0x08, 0x7F], # H
|
83
|
+
[0x00, 0x41, 0x7F, 0x41, 0x00], # I
|
84
|
+
[0x30, 0x40, 0x40, 0x40, 0x3F], # J
|
85
|
+
[0x7F, 0x08, 0x14, 0x22, 0x41], # K
|
86
|
+
[0x7F, 0x40, 0x40, 0x40, 0x40], # L
|
87
|
+
[0x7F, 0x02, 0x0C, 0x02, 0x7F], # M
|
88
|
+
[0x7F, 0x02, 0x04, 0x08, 0x7F], # N
|
89
|
+
[0x3E, 0x41, 0x41, 0x41, 0x3E], # O
|
90
|
+
[0x7F, 0x09, 0x09, 0x09, 0x06], # P
|
91
|
+
[0x1E, 0x21, 0x21, 0x21, 0x5E], # Q
|
92
|
+
[0x7F, 0x09, 0x09, 0x09, 0x76], # R
|
93
|
+
[0x26, 0x49, 0x49, 0x49, 0x32], # S
|
94
|
+
[0x01, 0x01, 0x7F, 0x01, 0x01], # T
|
95
|
+
[0x3F, 0x40, 0x40, 0x40, 0x3F], # U
|
96
|
+
[0x1F, 0x20, 0x40, 0x20, 0x1F], # V
|
97
|
+
[0x7F, 0x20, 0x10, 0x20, 0x7F], # W
|
98
|
+
[0x41, 0x22, 0x1C, 0x22, 0x41], # X
|
99
|
+
[0x07, 0x08, 0x70, 0x08, 0x07], # Y
|
100
|
+
[0x61, 0x51, 0x49, 0x45, 0x43], # Z
|
101
|
+
[0x00, 0x7F, 0x41, 0x00, 0x00], # [
|
102
|
+
[0x02, 0x04, 0x08, 0x10, 0x20], # 55
|
103
|
+
[0x00, 0x00, 0x41, 0x7F, 0x00], # ]
|
104
|
+
[0x04, 0x02, 0x01, 0x02, 0x04], # ^
|
105
|
+
[0x40, 0x40, 0x40, 0x40, 0x40], # _
|
106
|
+
[0x00, 0x01, 0x02, 0x04, 0x00], # `
|
107
|
+
[0x20, 0x54, 0x54, 0x54, 0x78], # a
|
108
|
+
[0x7F, 0x44, 0x44, 0x44, 0x38], # b
|
109
|
+
[0x38, 0x44, 0x44, 0x44, 0x44], # c
|
110
|
+
[0x38, 0x44, 0x44, 0x44, 0x7F], # d
|
111
|
+
[0x38, 0x54, 0x54, 0x54, 0x18], # e
|
112
|
+
[0x04, 0x04, 0x7E, 0x05, 0x05], # f
|
113
|
+
[0x08, 0x54, 0x54, 0x54, 0x3C], # g
|
114
|
+
[0x7F, 0x08, 0x04, 0x04, 0x78], # h
|
115
|
+
[0x00, 0x44, 0x7D, 0x40, 0x00], # i
|
116
|
+
[0x20, 0x40, 0x44, 0x3D, 0x00], # j
|
117
|
+
[0x7F, 0x10, 0x28, 0x44, 0x00], # k
|
118
|
+
[0x00, 0x41, 0x7F, 0x40, 0x00], # l
|
119
|
+
[0x7C, 0x04, 0x78, 0x04, 0x78], # m
|
120
|
+
[0x7C, 0x08, 0x04, 0x04, 0x78], # n
|
121
|
+
[0x38, 0x44, 0x44, 0x44, 0x38], # o
|
122
|
+
[0x7C, 0x14, 0x14, 0x14, 0x08], # p
|
123
|
+
[0x08, 0x14, 0x14, 0x14, 0x7C], # q
|
124
|
+
[0x00, 0x7C, 0x08, 0x04, 0x04], # r
|
125
|
+
[0x48, 0x54, 0x54, 0x54, 0x20], # s
|
126
|
+
[0x04, 0x04, 0x3F, 0x44, 0x44], # t
|
127
|
+
[0x3C, 0x40, 0x40, 0x20, 0x7C], # u
|
128
|
+
[0x1C, 0x20, 0x40, 0x20, 0x1C], # v
|
129
|
+
[0x3C, 0x40, 0x30, 0x40, 0x3C], # w
|
130
|
+
[0x44, 0x28, 0x10, 0x28, 0x44], # x
|
131
|
+
[0x0C, 0x50, 0x50, 0x50, 0x3C], # y
|
132
|
+
[0x44, 0x64, 0x54, 0x4C, 0x44], # z
|
133
|
+
[0x00, 0x08, 0x36, 0x41, 0x41], # {
|
134
|
+
[0x00, 0x00, 0x7F, 0x00, 0x00], # |
|
135
|
+
[0x41, 0x41, 0x36, 0x08, 0x00], # }
|
136
|
+
[0x02, 0x01, 0x02, 0x04, 0x02], # ~
|
137
|
+
[0x14, 0x14, 0x14, 0x14, 0x14], # horiz lines // DEL
|
138
|
+
]
|
139
|
+
}
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
@@ -0,0 +1,142 @@
|
|
1
|
+
# MIT License
|
2
|
+
#
|
3
|
+
# Copyright (c) 2018-2019, Alexey Dynda
|
4
|
+
#
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
10
|
+
# furnished to do so, subject to the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
13
|
+
# copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
# SOFTWARE.
|
22
|
+
#
|
23
|
+
# ssd1306xled_font6x8 is by Neven Boyanov
|
24
|
+
# ssd1306xled_font8x16 is by Neven Boyanov
|
25
|
+
#
|
26
|
+
# @created: 2014-08-12
|
27
|
+
# @author: Neven Boyanov
|
28
|
+
#
|
29
|
+
# Copyright (c) 2015 Neven Boyanov, Tinusaur Team. All Rights Reserved.
|
30
|
+
# Distributed as open source software under MIT License, see LICENSE.txt file.
|
31
|
+
# Please, as a favour, retain the link http://tinusaur.org to The Tinusaur Project.
|
32
|
+
#
|
33
|
+
# Source code available at: https://bitbucket.org/tinusaur/ssd1306xled
|
34
|
+
#
|
35
|
+
module Denko
|
36
|
+
module Display
|
37
|
+
module Font
|
38
|
+
BMP_6X8 = {
|
39
|
+
width: 6,
|
40
|
+
height: 8,
|
41
|
+
characters: [
|
42
|
+
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # sp
|
43
|
+
[0x00, 0x00, 0x00, 0x2f, 0x00, 0x00], # !
|
44
|
+
[0x00, 0x00, 0x07, 0x00, 0x07, 0x00], # "
|
45
|
+
[0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14], # #
|
46
|
+
[0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12], # $
|
47
|
+
[0x00, 0x23, 0x13, 0x08, 0x64, 0x62], # %
|
48
|
+
[0x00, 0x36, 0x49, 0x55, 0x22, 0x50], # &
|
49
|
+
[0x00, 0x00, 0x05, 0x03, 0x00, 0x00], # '
|
50
|
+
[0x00, 0x00, 0x1c, 0x22, 0x41, 0x00], # (
|
51
|
+
[0x00, 0x00, 0x41, 0x22, 0x1c, 0x00], # )
|
52
|
+
[0x00, 0x14, 0x08, 0x3E, 0x08, 0x14], # *
|
53
|
+
[0x00, 0x08, 0x08, 0x3E, 0x08, 0x08], # +
|
54
|
+
[0x00, 0x00, 0x00, 0xA0, 0x60, 0x00], # ,
|
55
|
+
[0x00, 0x08, 0x08, 0x08, 0x08, 0x08], # -
|
56
|
+
[0x00, 0x00, 0x60, 0x60, 0x00, 0x00], # .
|
57
|
+
[0x00, 0x20, 0x10, 0x08, 0x04, 0x02], # /
|
58
|
+
[0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E], # 0
|
59
|
+
[0x00, 0x00, 0x42, 0x7F, 0x40, 0x00], # 1
|
60
|
+
[0x00, 0x42, 0x61, 0x51, 0x49, 0x46], # 2
|
61
|
+
[0x00, 0x21, 0x41, 0x45, 0x4B, 0x31], # 3
|
62
|
+
[0x00, 0x18, 0x14, 0x12, 0x7F, 0x10], # 4
|
63
|
+
[0x00, 0x27, 0x45, 0x45, 0x45, 0x39], # 5
|
64
|
+
[0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30], # 6
|
65
|
+
[0x00, 0x01, 0x71, 0x09, 0x05, 0x03], # 7
|
66
|
+
[0x00, 0x36, 0x49, 0x49, 0x49, 0x36], # 8
|
67
|
+
[0x00, 0x06, 0x49, 0x49, 0x29, 0x1E], # 9
|
68
|
+
[0x00, 0x00, 0x36, 0x36, 0x00, 0x00], # :
|
69
|
+
[0x00, 0x00, 0x56, 0x36, 0x00, 0x00], # ;
|
70
|
+
[0x00, 0x08, 0x14, 0x22, 0x41, 0x00], # <
|
71
|
+
[0x00, 0x14, 0x14, 0x14, 0x14, 0x14], # =
|
72
|
+
[0x00, 0x00, 0x41, 0x22, 0x14, 0x08], # >
|
73
|
+
[0x00, 0x02, 0x01, 0x51, 0x09, 0x06], # ?
|
74
|
+
[0x00, 0x32, 0x49, 0x59, 0x51, 0x3E], # @
|
75
|
+
[0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C], # A
|
76
|
+
[0x00, 0x7F, 0x49, 0x49, 0x49, 0x36], # B
|
77
|
+
[0x00, 0x3E, 0x41, 0x41, 0x41, 0x22], # C
|
78
|
+
[0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C], # D
|
79
|
+
[0x00, 0x7F, 0x49, 0x49, 0x49, 0x41], # E
|
80
|
+
[0x00, 0x7F, 0x09, 0x09, 0x09, 0x01], # F
|
81
|
+
[0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A], # G
|
82
|
+
[0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F], # H
|
83
|
+
[0x00, 0x00, 0x41, 0x7F, 0x41, 0x00], # I
|
84
|
+
[0x00, 0x20, 0x40, 0x41, 0x3F, 0x01], # J
|
85
|
+
[0x00, 0x7F, 0x08, 0x14, 0x22, 0x41], # K
|
86
|
+
[0x00, 0x7F, 0x40, 0x40, 0x40, 0x40], # L
|
87
|
+
[0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F], # M
|
88
|
+
[0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F], # N
|
89
|
+
[0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E], # O
|
90
|
+
[0x00, 0x7F, 0x09, 0x09, 0x09, 0x06], # P
|
91
|
+
[0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E], # Q
|
92
|
+
[0x00, 0x7F, 0x09, 0x19, 0x29, 0x46], # R
|
93
|
+
[0x00, 0x46, 0x49, 0x49, 0x49, 0x31], # S
|
94
|
+
[0x00, 0x01, 0x01, 0x7F, 0x01, 0x01], # T
|
95
|
+
[0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F], # U
|
96
|
+
[0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F], # V
|
97
|
+
[0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F], # W
|
98
|
+
[0x00, 0x63, 0x14, 0x08, 0x14, 0x63], # X
|
99
|
+
[0x00, 0x07, 0x08, 0x70, 0x08, 0x07], # Y
|
100
|
+
[0x00, 0x61, 0x51, 0x49, 0x45, 0x43], # Z
|
101
|
+
[0x00, 0x00, 0x7F, 0x41, 0x41, 0x00], # [
|
102
|
+
[0x00, 0x02, 0x04, 0x08, 0x10, 0x20], # \
|
103
|
+
[0x00, 0x00, 0x41, 0x41, 0x7F, 0x00], # ]
|
104
|
+
[0x00, 0x04, 0x02, 0x01, 0x02, 0x04], # ^
|
105
|
+
[0x00, 0x40, 0x40, 0x40, 0x40, 0x40], # _
|
106
|
+
[0x00, 0x00, 0x01, 0x02, 0x04, 0x00], # '
|
107
|
+
[0x00, 0x20, 0x54, 0x54, 0x54, 0x78], # a
|
108
|
+
[0x00, 0x7F, 0x48, 0x44, 0x44, 0x38], # b
|
109
|
+
[0x00, 0x38, 0x44, 0x44, 0x44, 0x20], # c
|
110
|
+
[0x00, 0x38, 0x44, 0x44, 0x48, 0x7F], # d
|
111
|
+
[0x00, 0x38, 0x54, 0x54, 0x54, 0x18], # e
|
112
|
+
[0x00, 0x08, 0x7E, 0x09, 0x01, 0x02], # f
|
113
|
+
[0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C], # g
|
114
|
+
[0x00, 0x7F, 0x08, 0x04, 0x04, 0x78], # h
|
115
|
+
[0x00, 0x00, 0x44, 0x7D, 0x40, 0x00], # i
|
116
|
+
[0x00, 0x40, 0x80, 0x84, 0x7D, 0x00], # j
|
117
|
+
[0x00, 0x7F, 0x10, 0x28, 0x44, 0x00], # k
|
118
|
+
[0x00, 0x00, 0x41, 0x7F, 0x40, 0x00], # l
|
119
|
+
[0x00, 0x7C, 0x04, 0x18, 0x04, 0x78], # m
|
120
|
+
[0x00, 0x7C, 0x08, 0x04, 0x04, 0x78], # n
|
121
|
+
[0x00, 0x38, 0x44, 0x44, 0x44, 0x38], # o
|
122
|
+
[0x00, 0xFC, 0x24, 0x24, 0x24, 0x18], # p
|
123
|
+
[0x00, 0x18, 0x24, 0x24, 0x18, 0xFC], # q
|
124
|
+
[0x00, 0x7C, 0x08, 0x04, 0x04, 0x08], # r
|
125
|
+
[0x00, 0x48, 0x54, 0x54, 0x54, 0x20], # s
|
126
|
+
[0x00, 0x04, 0x3F, 0x44, 0x40, 0x20], # t
|
127
|
+
[0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C], # u
|
128
|
+
[0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C], # v
|
129
|
+
[0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C], # w
|
130
|
+
[0x00, 0x44, 0x28, 0x10, 0x28, 0x44], # x
|
131
|
+
[0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C], # y
|
132
|
+
[0x00, 0x44, 0x64, 0x54, 0x4C, 0x44], # z
|
133
|
+
[0x00, 0x00, 0x08, 0x77, 0x00, 0x00], # {
|
134
|
+
[0x00, 0x00, 0x00, 0x7F, 0x00, 0x00], # |
|
135
|
+
[0x00, 0x00, 0x77, 0x08, 0x00, 0x00], # }
|
136
|
+
[0x00, 0x10, 0x08, 0x10, 0x08, 0x00], # ~
|
137
|
+
[0x14, 0x14, 0x14, 0x14, 0x14, 0x14], # horiz lines # DEL
|
138
|
+
]
|
139
|
+
}
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
@@ -0,0 +1,141 @@
|
|
1
|
+
# MIT License
|
2
|
+
#
|
3
|
+
# Copyright (c) 2018-2019, Alexey Dynda
|
4
|
+
#
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
10
|
+
# furnished to do so, subject to the following conditions:
|
11
|
+
#
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
13
|
+
# copies or substantial portions of the Software.
|
14
|
+
#
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
# SOFTWARE.
|
22
|
+
#
|
23
|
+
# ssd1306xled_font6x8 is by Neven Boyanov
|
24
|
+
# ssd1306xled_font8x16 is by Neven Boyanov
|
25
|
+
#
|
26
|
+
# @created: 2014-08-12
|
27
|
+
# @author: Neven Boyanov
|
28
|
+
#
|
29
|
+
# Copyright (c) 2015 Neven Boyanov, Tinusaur Team. All Rights Reserved.
|
30
|
+
# Distributed as open source software under MIT License, see LICENSE.txt file.
|
31
|
+
# Please, as a favour, retain the link http://tinusaur.org to The Tinusaur Project.
|
32
|
+
#
|
33
|
+
# Source code available at: https://bitbucket.org/tinusaur/ssd1306xled
|
34
|
+
#
|
35
|
+
module Denko
|
36
|
+
module Display
|
37
|
+
module Font
|
38
|
+
BMP_8X16 = {
|
39
|
+
width: 8,
|
40
|
+
height: 16,
|
41
|
+
characters: [
|
42
|
+
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # 0
|
43
|
+
[0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x30, 0x00, 0x00, 0x00], # ! 1
|
44
|
+
[0x00, 0x10, 0x0C, 0x06, 0x10, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # " 2
|
45
|
+
[0x40, 0xC0, 0x78, 0x40, 0xC0, 0x78, 0x40, 0x00, 0x04, 0x3F, 0x04, 0x04, 0x3F, 0x04, 0x04, 0x00], # # 3
|
46
|
+
[0x00, 0x70, 0x88, 0xFC, 0x08, 0x30, 0x00, 0x00, 0x00, 0x18, 0x20, 0xFF, 0x21, 0x1E, 0x00, 0x00], # $ 4
|
47
|
+
[0xF0, 0x08, 0xF0, 0x00, 0xE0, 0x18, 0x00, 0x00, 0x00, 0x21, 0x1C, 0x03, 0x1E, 0x21, 0x1E, 0x00], # % 5
|
48
|
+
[0x00, 0xF0, 0x08, 0x88, 0x70, 0x00, 0x00, 0x00, 0x1E, 0x21, 0x23, 0x24, 0x19, 0x27, 0x21, 0x10], # & 6
|
49
|
+
[0x10, 0x16, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # ' 7
|
50
|
+
[0x00, 0x00, 0x00, 0xE0, 0x18, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x40, 0x00], # ( 8
|
51
|
+
[0x00, 0x02, 0x04, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00], # ) 9
|
52
|
+
[0x40, 0x40, 0x80, 0xF0, 0x80, 0x40, 0x40, 0x00, 0x02, 0x02, 0x01, 0x0F, 0x01, 0x02, 0x02, 0x00], # * 10
|
53
|
+
[0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x1F, 0x01, 0x01, 0x01, 0x00], # + 11
|
54
|
+
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xB0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00], # , 12
|
55
|
+
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01], # - 13
|
56
|
+
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00], # . 14
|
57
|
+
[0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x18, 0x04, 0x00, 0x60, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00], # / 15
|
58
|
+
[0x00, 0xE0, 0x10, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x00, 0x0F, 0x10, 0x20, 0x20, 0x10, 0x0F, 0x00], # 0 16
|
59
|
+
[0x00, 0x10, 0x10, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00], # 1 17
|
60
|
+
[0x00, 0x70, 0x08, 0x08, 0x08, 0x88, 0x70, 0x00, 0x00, 0x30, 0x28, 0x24, 0x22, 0x21, 0x30, 0x00], # 2 18
|
61
|
+
[0x00, 0x30, 0x08, 0x88, 0x88, 0x48, 0x30, 0x00, 0x00, 0x18, 0x20, 0x20, 0x20, 0x11, 0x0E, 0x00], # 3 19
|
62
|
+
[0x00, 0x00, 0xC0, 0x20, 0x10, 0xF8, 0x00, 0x00, 0x00, 0x07, 0x04, 0x24, 0x24, 0x3F, 0x24, 0x00], # 4 20
|
63
|
+
[0x00, 0xF8, 0x08, 0x88, 0x88, 0x08, 0x08, 0x00, 0x00, 0x19, 0x21, 0x20, 0x20, 0x11, 0x0E, 0x00], # 5 21
|
64
|
+
[0x00, 0xE0, 0x10, 0x88, 0x88, 0x18, 0x00, 0x00, 0x00, 0x0F, 0x11, 0x20, 0x20, 0x11, 0x0E, 0x00], # 6 22
|
65
|
+
[0x00, 0x38, 0x08, 0x08, 0xC8, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00], # 7 23
|
66
|
+
[0x00, 0x70, 0x88, 0x08, 0x08, 0x88, 0x70, 0x00, 0x00, 0x1C, 0x22, 0x21, 0x21, 0x22, 0x1C, 0x00], # 8 24
|
67
|
+
[0x00, 0xE0, 0x10, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x00, 0x00, 0x31, 0x22, 0x22, 0x11, 0x0F, 0x00], # 9 25
|
68
|
+
[0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00], # : 26
|
69
|
+
[0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x00, 0x00, 0x00, 0x00], # ; 27
|
70
|
+
[0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00], # < 28
|
71
|
+
[0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00], # = 29
|
72
|
+
[0x00, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00], # > 30
|
73
|
+
[0x00, 0x70, 0x48, 0x08, 0x08, 0x08, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x36, 0x01, 0x00, 0x00], # ? 31
|
74
|
+
[0xC0, 0x30, 0xC8, 0x28, 0xE8, 0x10, 0xE0, 0x00, 0x07, 0x18, 0x27, 0x24, 0x23, 0x14, 0x0B, 0x00], # @ 32
|
75
|
+
[0x00, 0x00, 0xC0, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x20, 0x3C, 0x23, 0x02, 0x02, 0x27, 0x38, 0x20], # A 33
|
76
|
+
[0x08, 0xF8, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00, 0x20, 0x3F, 0x20, 0x20, 0x20, 0x11, 0x0E, 0x00], # B 34
|
77
|
+
[0xC0, 0x30, 0x08, 0x08, 0x08, 0x08, 0x38, 0x00, 0x07, 0x18, 0x20, 0x20, 0x20, 0x10, 0x08, 0x00], # C 35
|
78
|
+
[0x08, 0xF8, 0x08, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x20, 0x3F, 0x20, 0x20, 0x20, 0x10, 0x0F, 0x00], # D 36
|
79
|
+
[0x08, 0xF8, 0x88, 0x88, 0xE8, 0x08, 0x10, 0x00, 0x20, 0x3F, 0x20, 0x20, 0x23, 0x20, 0x18, 0x00], # E 37
|
80
|
+
[0x08, 0xF8, 0x88, 0x88, 0xE8, 0x08, 0x10, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x03, 0x00, 0x00, 0x00], # F 38
|
81
|
+
[0xC0, 0x30, 0x08, 0x08, 0x08, 0x38, 0x00, 0x00, 0x07, 0x18, 0x20, 0x20, 0x22, 0x1E, 0x02, 0x00], # G 39
|
82
|
+
[0x08, 0xF8, 0x08, 0x00, 0x00, 0x08, 0xF8, 0x08, 0x20, 0x3F, 0x21, 0x01, 0x01, 0x21, 0x3F, 0x20], # H 40
|
83
|
+
[0x00, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00], # I 41
|
84
|
+
[0x00, 0x00, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x00, 0xC0, 0x80, 0x80, 0x80, 0x7F, 0x00, 0x00, 0x00], # J 42
|
85
|
+
[0x08, 0xF8, 0x88, 0xC0, 0x28, 0x18, 0x08, 0x00, 0x20, 0x3F, 0x20, 0x01, 0x26, 0x38, 0x20, 0x00], # K 43
|
86
|
+
[0x08, 0xF8, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3F, 0x20, 0x20, 0x20, 0x20, 0x30, 0x00], # L 44
|
87
|
+
[0x08, 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x08, 0x00, 0x20, 0x3F, 0x00, 0x3F, 0x00, 0x3F, 0x20, 0x00], # M 45
|
88
|
+
[0x08, 0xF8, 0x30, 0xC0, 0x00, 0x08, 0xF8, 0x08, 0x20, 0x3F, 0x20, 0x00, 0x07, 0x18, 0x3F, 0x00], # N 46
|
89
|
+
[0xE0, 0x10, 0x08, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x0F, 0x10, 0x20, 0x20, 0x20, 0x10, 0x0F, 0x00], # O 47
|
90
|
+
[0x08, 0xF8, 0x08, 0x08, 0x08, 0x08, 0xF0, 0x00, 0x20, 0x3F, 0x21, 0x01, 0x01, 0x01, 0x00, 0x00], # P 48
|
91
|
+
[0xE0, 0x10, 0x08, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x0F, 0x18, 0x24, 0x24, 0x38, 0x50, 0x4F, 0x00], # Q 49
|
92
|
+
[0x08, 0xF8, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x03, 0x0C, 0x30, 0x20], # R 50
|
93
|
+
[0x00, 0x70, 0x88, 0x08, 0x08, 0x08, 0x38, 0x00, 0x00, 0x38, 0x20, 0x21, 0x21, 0x22, 0x1C, 0x00], # S 51
|
94
|
+
[0x18, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x18, 0x00, 0x00, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x00, 0x00], # T 52
|
95
|
+
[0x08, 0xF8, 0x08, 0x00, 0x00, 0x08, 0xF8, 0x08, 0x00, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F, 0x00], # U 53
|
96
|
+
[0x08, 0x78, 0x88, 0x00, 0x00, 0xC8, 0x38, 0x08, 0x00, 0x00, 0x07, 0x38, 0x0E, 0x01, 0x00, 0x00], # V 54
|
97
|
+
[0xF8, 0x08, 0x00, 0xF8, 0x00, 0x08, 0xF8, 0x00, 0x03, 0x3C, 0x07, 0x00, 0x07, 0x3C, 0x03, 0x00], # W 55
|
98
|
+
[0x08, 0x18, 0x68, 0x80, 0x80, 0x68, 0x18, 0x08, 0x20, 0x30, 0x2C, 0x03, 0x03, 0x2C, 0x30, 0x20], # X 56
|
99
|
+
[0x08, 0x38, 0xC8, 0x00, 0xC8, 0x38, 0x08, 0x00, 0x00, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x00, 0x00], # Y 57
|
100
|
+
[0x10, 0x08, 0x08, 0x08, 0xC8, 0x38, 0x08, 0x00, 0x20, 0x38, 0x26, 0x21, 0x20, 0x20, 0x18, 0x00], # Z 58
|
101
|
+
[0x00, 0x00, 0x00, 0xFE, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x00], # [ 59
|
102
|
+
[0x00, 0x0C, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x38, 0xC0, 0x00], # \ 60
|
103
|
+
[0x00, 0x02, 0x02, 0x02, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x7F, 0x00, 0x00, 0x00], # ] 61
|
104
|
+
[0x00, 0x00, 0x04, 0x02, 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # ^ 62
|
105
|
+
[0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80], # _ 63
|
106
|
+
[0x00, 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # ` 64
|
107
|
+
[0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x19, 0x24, 0x22, 0x22, 0x22, 0x3F, 0x20], # a 65
|
108
|
+
[0x08, 0xF8, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x11, 0x20, 0x20, 0x11, 0x0E, 0x00], # b 66
|
109
|
+
[0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x0E, 0x11, 0x20, 0x20, 0x20, 0x11, 0x00], # c 67
|
110
|
+
[0x00, 0x00, 0x00, 0x80, 0x80, 0x88, 0xF8, 0x00, 0x00, 0x0E, 0x11, 0x20, 0x20, 0x10, 0x3F, 0x20], # d 68
|
111
|
+
[0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x1F, 0x22, 0x22, 0x22, 0x22, 0x13, 0x00], # e 69
|
112
|
+
[0x00, 0x80, 0x80, 0xF0, 0x88, 0x88, 0x88, 0x18, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00], # f 70
|
113
|
+
[0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x6B, 0x94, 0x94, 0x94, 0x93, 0x60, 0x00], # g 71
|
114
|
+
[0x08, 0xF8, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x20, 0x3F, 0x21, 0x00, 0x00, 0x20, 0x3F, 0x20], # h 72
|
115
|
+
[0x00, 0x80, 0x98, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00], # i 73
|
116
|
+
[0x00, 0x00, 0x00, 0x80, 0x98, 0x98, 0x00, 0x00, 0x00, 0xC0, 0x80, 0x80, 0x80, 0x7F, 0x00, 0x00], # j 74
|
117
|
+
[0x08, 0xF8, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x20, 0x3F, 0x24, 0x02, 0x2D, 0x30, 0x20, 0x00], # k 75
|
118
|
+
[0x00, 0x08, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00], # l 76
|
119
|
+
[0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x3F, 0x20, 0x00, 0x3F], # m 77
|
120
|
+
[0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x20, 0x3F, 0x21, 0x00, 0x00, 0x20, 0x3F, 0x20], # n 78
|
121
|
+
[0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F, 0x00], # o 79
|
122
|
+
[0x80, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xA1, 0x20, 0x20, 0x11, 0x0E, 0x00], # p 80
|
123
|
+
[0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x0E, 0x11, 0x20, 0x20, 0xA0, 0xFF, 0x80], # q 81
|
124
|
+
[0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, 0x20, 0x20, 0x3F, 0x21, 0x20, 0x00, 0x01, 0x00], # r 82
|
125
|
+
[0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x33, 0x24, 0x24, 0x24, 0x24, 0x19, 0x00], # s 83
|
126
|
+
[0x00, 0x80, 0x80, 0xE0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x20, 0x20, 0x00, 0x00], # t 84
|
127
|
+
[0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x1F, 0x20, 0x20, 0x20, 0x10, 0x3F, 0x20], # u 85
|
128
|
+
[0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x01, 0x0E, 0x30, 0x08, 0x06, 0x01, 0x00], # v 86
|
129
|
+
[0x80, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x80, 0x0F, 0x30, 0x0C, 0x03, 0x0C, 0x30, 0x0F, 0x00], # w 87
|
130
|
+
[0x00, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x20, 0x31, 0x2E, 0x0E, 0x31, 0x20, 0x00], # x 88
|
131
|
+
[0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x81, 0x8E, 0x70, 0x18, 0x06, 0x01, 0x00], # y 89
|
132
|
+
[0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x21, 0x30, 0x2C, 0x22, 0x21, 0x30, 0x00], # z 90
|
133
|
+
[0x00, 0x00, 0x00, 0x00, 0x80, 0x7C, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x40, 0x40], # { 91
|
134
|
+
[0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00], # | 92
|
135
|
+
[0x00, 0x02, 0x02, 0x7C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x3F, 0x00, 0x00, 0x00, 0x00], # } 93
|
136
|
+
[0x00, 0x06, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], # ~ 94
|
137
|
+
]
|
138
|
+
}
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# Represent files to be autoloaded in CRuby as an Array.
|
2
|
+
# This allows Mruby::Build to parse and preload them instead.
|
3
|
+
FONT_FILES = [
|
4
|
+
[:BMP_5X7, "bmp_5x7"],
|
5
|
+
[:BMP_6X8, "bmp_6x8"],
|
6
|
+
[:BMP_8X16, "bmp_8x16"],
|
7
|
+
]
|
8
|
+
|
9
|
+
module Denko
|
10
|
+
module Display
|
11
|
+
module Font
|
12
|
+
FONT_FILES.each do |file|
|
13
|
+
file_path = "#{__dir__}/font/#{file[1]}"
|
14
|
+
if file[0]
|
15
|
+
autoload file[0], file_path
|
16
|
+
else
|
17
|
+
require file_path
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|