denko 0.13.1 → 0.13.2
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 +2 -4
- data/.github/workflows/build_esp32.yml +2 -3
- data/.github/workflows/build_esp8266.yml +2 -3
- data/.github/workflows/build_megaavr.yml +2 -4
- data/.github/workflows/build_ra4m1.yml +57 -0
- data/.github/workflows/build_rp2040.yml +2 -4
- data/.github/workflows/build_sam3x.yml +1 -3
- data/.github/workflows/build_samd.yml +2 -4
- data/CHANGELOG.md +60 -0
- data/DEPS_CLI.md +8 -6
- data/DEPS_IDE.md +9 -7
- data/HARDWARE.md +90 -74
- data/README.md +19 -28
- data/benchmarks/i2c_ssd1306_refresh.rb +74 -0
- data/examples/analog_io/ads1115.rb +57 -0
- data/examples/analog_io/ads1118.rb +8 -9
- data/examples/analog_io/dac_loopback.rb +6 -4
- data/examples/analog_io/input.rb +39 -36
- data/examples/connection/tcp.rb +1 -1
- data/examples/display/hd44780.rb +3 -3
- data/examples/display/ssd1306.rb +1 -1
- data/examples/pulse_io/buzzer.rb +40 -0
- data/lib/denko/analog_io/ads1115.rb +61 -0
- data/lib/denko/analog_io/ads1118.rb +10 -120
- data/lib/denko/analog_io/ads111x.rb +123 -0
- data/lib/denko/analog_io/output.rb +2 -1
- data/lib/denko/analog_io.rb +2 -0
- data/lib/denko/behaviors/reader.rb +14 -13
- data/lib/denko/behaviors/subcomponents.rb +2 -2
- data/lib/denko/board/core.rb +1 -1
- data/lib/denko/board/i2c.rb +1 -4
- data/lib/denko/board/map.rb +9 -0
- data/lib/denko/board/servo.rb +2 -6
- data/lib/denko/board.rb +32 -20
- data/lib/denko/connection/board_uart.rb +3 -3
- data/lib/denko/connection/flow_control.rb +10 -2
- data/lib/denko/digital_io/output.rb +1 -1
- data/lib/denko/display/hd44780.rb +18 -18
- data/lib/denko/led/seven_segment.rb +18 -19
- data/lib/denko/message.rb +6 -14
- data/lib/denko/pulse_io/ir_transmitter.rb +1 -2
- data/lib/denko/version.rb +1 -1
- data/lib/denko_cli/packages.rb +7 -1
- data/lib/denko_cli/targets.rb +8 -5
- data/lib/denko_cli/usage.txt +8 -4
- data/src/denko_ethernet.ino +15 -23
- data/src/denko_serial.ino +3 -14
- data/src/denko_wifi.ino +35 -50
- data/src/lib/Denko.cpp +23 -6
- data/src/lib/Denko.h +6 -16
- data/src/lib/DenkoCoreIO.cpp +3 -3
- data/src/lib/DenkoDefines.h +62 -16
- data/src/lib/DenkoEEPROM.cpp +9 -1
- data/src/lib/DenkoI2C.cpp +11 -9
- data/src/lib/DenkoLEDArray.cpp +1 -1
- data/target.yml +35 -1
- data/test/behaviors/reader_test.rb +8 -1
- data/test/board/helper_test.rb +0 -4
- data/test/display/hd44780_test.rb +10 -0
- data/test/led/seven_segment_test.rb +30 -8
- data/test/test_helper.rb +17 -2
- data/vendor/board-maps/.gitmodules +3 -0
- data/vendor/board-maps/BoardMap.h +40 -12
- data/vendor/board-maps/README.md +1 -0
- data/vendor/board-maps/lib/header_parser.rb +30 -5
- data/vendor/board-maps/run.rb +11 -1
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S3.yml +6 -1
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32S3_NOPSRAM.yml +6 -1
- data/vendor/board-maps/yaml/ADAFRUIT_FEATHER_ESP32_V2.yml +5 -1
- data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32S3_N4R2.yml +20 -0
- data/vendor/board-maps/yaml/ADAFRUIT_QTPY_ESP32_PICO.yml +2 -1
- data/vendor/board-maps/yaml/ARTRONSHOP_RP2_NANO.yml +32 -0
- data/vendor/board-maps/yaml/AVR_CIRCUITPLAY.yml +1 -1
- data/vendor/board-maps/yaml/AVR_ESPLORA.yml +1 -1
- data/vendor/board-maps/yaml/AVR_INDUSTRIAL101.yml +1 -1
- data/vendor/board-maps/yaml/AVR_LEONARDO.yml +1 -1
- data/vendor/board-maps/yaml/AVR_LEONARDO_ETH.yml +1 -1
- data/vendor/board-maps/yaml/AVR_LILYPAD_USB.yml +1 -1
- data/vendor/board-maps/yaml/AVR_LININO_ONE.yml +1 -1
- data/vendor/board-maps/yaml/AVR_MICRO.yml +1 -1
- data/vendor/board-maps/yaml/AVR_ROBOT_CONTROL.yml +1 -1
- data/vendor/board-maps/yaml/AVR_ROBOT_MOTOR.yml +1 -1
- data/vendor/board-maps/yaml/AVR_YUN.yml +1 -1
- data/vendor/board-maps/yaml/AVR_YUNMINI.yml +1 -1
- data/vendor/board-maps/yaml/BPI_LEAF_S3.yml +11 -1
- data/vendor/board-maps/yaml/BeeMotionS3.yml +6 -1
- data/vendor/board-maps/yaml/Bee_Motion.yml +3 -0
- data/vendor/board-maps/yaml/Bee_S3.yml +1 -1
- data/vendor/board-maps/yaml/CHALLENGER_2040_WIFI6_BLE_RP2040.yml +42 -0
- data/vendor/board-maps/yaml/CYTRON_MAKER_FEATHER_AIOT_S3.yml +4 -1
- data/vendor/board-maps/yaml/CoreESP32.yml +5 -1
- data/vendor/board-maps/yaml/D1_MINI32.yml +10 -1
- data/vendor/board-maps/yaml/DENKY.yml +10 -1
- data/vendor/board-maps/yaml/DENKY_PICOV3.yml +10 -1
- data/vendor/board-maps/yaml/DENKY_WROOM32.yml +10 -1
- data/vendor/board-maps/yaml/DFROBOT_FIREBEETLE_2_ESP32E.yml +6 -1
- data/vendor/board-maps/yaml/DPU_ESP32.yml +10 -1
- data/vendor/board-maps/yaml/D_Duino_32.yml +9 -1
- data/vendor/board-maps/yaml/ESP32S2_DEV.yml +11 -1
- data/vendor/board-maps/yaml/ESP32S2_THING_PLUS.yml +11 -1
- data/vendor/board-maps/yaml/ESP32S2_USB.yml +11 -1
- data/vendor/board-maps/yaml/ESP32_DEV.yml +10 -1
- data/vendor/board-maps/yaml/ESP32_DEVKIT_LIPO.yml +10 -1
- data/vendor/board-maps/yaml/ESP32_IOT_REDBOARD.yml +10 -1
- data/vendor/board-maps/yaml/ESP32_PICO.yml +10 -1
- data/vendor/board-maps/yaml/ESP32_S3_BOX.yml +4 -1
- data/vendor/board-maps/yaml/ESP32_THING.yml +10 -1
- data/vendor/board-maps/yaml/ESP32_THING_PLUS.yml +4 -1
- data/vendor/board-maps/yaml/ESP32_THING_PLUS_C.yml +4 -1
- data/vendor/board-maps/yaml/ESP32_WROOM_DA.yml +10 -1
- data/vendor/board-maps/yaml/ESP32_WROVER_KIT.yml +10 -1
- data/vendor/board-maps/yaml/ESPECTRO32.yml +10 -1
- data/vendor/board-maps/yaml/ESPea32.yml +10 -1
- data/vendor/board-maps/yaml/ESPino32.yml +10 -1
- data/vendor/board-maps/yaml/FEATHERS2.yml +11 -1
- data/vendor/board-maps/yaml/FEATHERS2NEO.yml +2 -1
- data/vendor/board-maps/yaml/FEATHERS3.yml +3 -0
- data/vendor/board-maps/yaml/FEATHER_ESP32.yml +5 -1
- data/vendor/board-maps/yaml/FRANZININHO_WIFI.yml +11 -1
- data/vendor/board-maps/yaml/FRANZININHO_WIFI_MSC.yml +11 -1
- data/vendor/board-maps/yaml/FROG_ESP32.yml +10 -1
- data/vendor/board-maps/yaml/HEALTHYPI_4.yml +10 -1
- data/vendor/board-maps/yaml/HONEYLEMON.yml +10 -1
- data/vendor/board-maps/yaml/HORNBILL_ESP32_DEV.yml +10 -1
- data/vendor/board-maps/yaml/HORNBILL_ESP32_MINIMA.yml +4 -1
- data/vendor/board-maps/yaml/IMBRIOS_LOGSENS_V1P1.yml +5 -1
- data/vendor/board-maps/yaml/LILYGO_T_DISPLAY_S3.yml +7 -1
- data/vendor/board-maps/yaml/LOLIN32.yml +10 -1
- data/vendor/board-maps/yaml/LOLIN32_LITE.yml +10 -1
- data/vendor/board-maps/yaml/LOLIN_D32.yml +10 -1
- data/vendor/board-maps/yaml/LOLIN_D32_PRO.yml +10 -1
- data/vendor/board-maps/yaml/LOLIN_S2_MINI.yml +11 -1
- data/vendor/board-maps/yaml/LOLIN_S2_PICO.yml +11 -1
- data/vendor/board-maps/yaml/LOLIN_S3.yml +9 -1
- data/vendor/board-maps/yaml/LOLIN_S3_MINI.yml +9 -1
- data/vendor/board-maps/yaml/LOLIN_S3_PRO.yml +9 -1
- data/vendor/board-maps/yaml/LoPy.yml +11 -1
- data/vendor/board-maps/yaml/LoPy4.yml +11 -1
- data/vendor/board-maps/yaml/MAGTAG29_ESP32S2.yml +11 -1
- data/vendor/board-maps/yaml/METRO_ESP32S2.yml +11 -1
- data/vendor/board-maps/yaml/MGBOT_IOTIK32A.yml +10 -1
- data/vendor/board-maps/yaml/MGBOT_IOTIK32B.yml +10 -1
- data/vendor/board-maps/yaml/MH_ET_LIVE_ESP32DEVKIT.yml +10 -1
- data/vendor/board-maps/yaml/MH_ET_LIVE_ESP32MINIKIT.yml +10 -1
- data/vendor/board-maps/yaml/MICROS2.yml +11 -1
- data/vendor/board-maps/yaml/MINIMA.yml +15 -0
- data/vendor/board-maps/yaml/NANO32.yml +10 -1
- data/vendor/board-maps/yaml/Node32s.yml +10 -1
- data/vendor/board-maps/yaml/NodeMCU_32S.yml +10 -1
- data/vendor/board-maps/yaml/ONEHORSE_ESP32_DEV.yml +11 -1
- data/vendor/board-maps/yaml/PIMORONI_PLASMA2040.yml +29 -0
- data/vendor/board-maps/yaml/PORTENTA_C33.yml +28 -0
- data/vendor/board-maps/yaml/PROS3.yml +6 -1
- data/vendor/board-maps/yaml/PYCOM_GPY.yml +11 -1
- data/vendor/board-maps/yaml/Piranha.yml +7 -1
- data/vendor/board-maps/yaml/Pocket32.yml +10 -1
- data/vendor/board-maps/yaml/QUANTUM.yml +10 -1
- data/vendor/board-maps/yaml/REDPILL_ESP32S3.yml +11 -1
- data/vendor/board-maps/yaml/RMP.yml +11 -1
- data/vendor/board-maps/yaml/SAMD_CIRCUITPLAYGROUND_EXPRESS.yml +0 -1
- data/vendor/board-maps/yaml/SAM_DUE.yml +3 -1
- data/vendor/board-maps/yaml/SONOFF_DUALR3.yml +10 -1
- data/vendor/board-maps/yaml/TAMC_TERMOD_S3.yml +11 -1
- data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1262.yml +6 -1
- data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1268.yml +6 -1
- data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1276.yml +6 -1
- data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1278.yml +6 -1
- data/vendor/board-maps/yaml/TBEAM_USE_RADIO_SX1280.yml +6 -1
- data/vendor/board-maps/yaml/TBeam.yml +6 -1
- data/vendor/board-maps/yaml/TINYPICO.yml +10 -1
- data/vendor/board-maps/yaml/TINYS2.yml +11 -1
- data/vendor/board-maps/yaml/TTGO_LoRa32_V1.yml +11 -1
- data/vendor/board-maps/yaml/TTGO_LoRa32_V2.yml +11 -1
- data/vendor/board-maps/yaml/TTGO_LoRa32_v21new.yml +11 -1
- data/vendor/board-maps/yaml/TTGO_T1.yml +10 -1
- data/vendor/board-maps/yaml/TTGO_T7_V13_Mini32.yml +10 -1
- data/vendor/board-maps/yaml/TTGO_T7_V14_Mini32.yml +10 -1
- data/vendor/board-maps/yaml/TWATCH_2020_V1.yml +0 -1
- data/vendor/board-maps/yaml/TWATCH_2020_V2.yml +0 -1
- data/vendor/board-maps/yaml/TWATCH_2020_V3.yml +0 -1
- data/vendor/board-maps/yaml/TWATCH_BASE.yml +0 -1
- data/vendor/board-maps/yaml/TWatch.yml +0 -1
- data/vendor/board-maps/yaml/UBLOX_NINA_W10.yml +10 -1
- data/vendor/board-maps/yaml/UNOWIFIR4.yml +17 -0
- data/vendor/board-maps/yaml/WIPY3.yml +11 -1
- data/vendor/board-maps/yaml/XIAO_ESP32S3.yml +2 -1
- data/vendor/board-maps/yaml/connaxio_espoir.yml +7 -1
- data/vendor/board-maps/yaml/esp32vn_iot_uno.yml +10 -1
- data/vendor/board-maps/yaml/heltec_wifi_32_lora_V3.yml +11 -1
- data/vendor/board-maps/yaml/heltec_wifi_kit_32.yml +11 -1
- data/vendor/board-maps/yaml/heltec_wifi_kit_32_V3.yml +11 -1
- data/vendor/board-maps/yaml/heltec_wifi_lora_32.yml +10 -1
- data/vendor/board-maps/yaml/heltec_wifi_lora_32_V2.yml +10 -1
- data/vendor/board-maps/yaml/heltec_wireless_stick.yml +10 -1
- data/vendor/board-maps/yaml/heltec_wireless_stick_LITE.yml +10 -1
- data/vendor/board-maps/yaml/openkb.yml +11 -1
- data/vendor/board-maps/yaml/roboheart_hercules.yml +10 -1
- data/vendor/board-maps/yaml/sensesiot_weizen.yml +10 -1
- data/vendor/board-maps/yaml/uPesy_WROOM.yml +10 -1
- data/vendor/board-maps/yaml/uPesy_WROVER.yml +10 -1
- data/vendor/board-maps/yaml/unphone8.yml +11 -1
- data/vendor/board-maps/yaml/unphone9.yml +11 -1
- metadata +14 -2
@@ -27,6 +27,9 @@ class HeaderParser
|
|
27
27
|
file.each_line do |line|
|
28
28
|
# Reject comments.
|
29
29
|
next if line.match /\A\/\//
|
30
|
+
|
31
|
+
# Reject anything to do with QSPI.
|
32
|
+
next if line.match /QSPI/
|
30
33
|
|
31
34
|
# Reject lines that end with pin-style identifiers, instead of numbers.
|
32
35
|
next if line.match /(PIN_)*(A|D|DAC|T)(\d+)\s*;*\s*\z/
|
@@ -41,22 +44,43 @@ class HeaderParser
|
|
41
44
|
|
42
45
|
# Match RP2040 analog overrides and store them with prefixed keys like :_A0
|
43
46
|
# Will substitute them later in #clean_map
|
44
|
-
rp2040_analog = line.match /__PIN(_A\d+)\s
|
47
|
+
rp2040_analog = line.match /__PIN(_A\d+)\s+\(?(\d+)\w*\)?/
|
45
48
|
if rp2040_analog
|
46
49
|
@map[rp2040_analog[1].to_sym] = rp2040_analog[2].to_i
|
47
50
|
next
|
48
51
|
end
|
49
52
|
|
50
53
|
#
|
51
|
-
# Match analog input
|
54
|
+
# Match analog input pins declared like:
|
52
55
|
# #define PIN_A0 (14ul)
|
53
|
-
# #define PIN_DAC0 (14)
|
54
56
|
# #define PIN_A0 14
|
55
57
|
# #define A0 14
|
56
58
|
#
|
57
|
-
pin = line.match /(PIN_)*(
|
59
|
+
pin = line.match /(PIN_)*(A\d+)\s+\(?(\d+)\w*\)?/
|
58
60
|
if pin
|
59
|
-
@map[pin[2].to_sym] = pin[
|
61
|
+
@map[pin[2].to_sym] = pin[3].to_i
|
62
|
+
next
|
63
|
+
end
|
64
|
+
|
65
|
+
#
|
66
|
+
# Strict matcher for DAC pins in Arduino SAMD core:
|
67
|
+
# #define DAC A0
|
68
|
+
# #define DAC1 14
|
69
|
+
#
|
70
|
+
pin = line.match /(PIN_)(DAC\d+)\s+\(?(\d+)\w*\)?/
|
71
|
+
if pin
|
72
|
+
@map[pin[2].to_sym] = pin[3].to_i
|
73
|
+
next
|
74
|
+
end
|
75
|
+
|
76
|
+
#
|
77
|
+
# Match I2C/SPI pins declared like: (first seen in UNO R4)
|
78
|
+
# #define WIRE_SDA_PIN 20
|
79
|
+
# #define WIRE_SCL1_PIN 20
|
80
|
+
#
|
81
|
+
pin = line.match /(WIRE(\d*)_(SCL_|SDA_)PIN)\s*\(?(\d+)\w*\)?/
|
82
|
+
if pin
|
83
|
+
@map[pin[1].gsub("_PIN", "").to_sym] = pin[4].to_i
|
60
84
|
next
|
61
85
|
end
|
62
86
|
|
@@ -73,6 +97,7 @@ class HeaderParser
|
|
73
97
|
next
|
74
98
|
end
|
75
99
|
|
100
|
+
# This mostly affectes SAM3X, ESP32 and ESP8266.
|
76
101
|
#
|
77
102
|
# Match custom labeled D* pins (eg. ESP8266) declared like:
|
78
103
|
# static const uint D4 = (2)
|
data/vendor/board-maps/run.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative "lib/boards_parser"
|
2
2
|
require_relative "lib/header_parser"
|
3
3
|
|
4
|
-
CORES = ["avr", "esp32", "esp8266", "megaavr", "rp2040", "sam3x", "samd"]
|
4
|
+
CORES = ["avr", "esp32", "esp8266", "megaavr", "rp2040", "sam3x", "samd", "ra4m1"]
|
5
5
|
|
6
6
|
# This will end up containing a map for each board identified. Each key
|
7
7
|
# is a board's identifier and the value is its pin map as a hash.
|
@@ -15,11 +15,21 @@ CORES.each do |core|
|
|
15
15
|
|
16
16
|
# For each board, parse its header and add it to the hash of maps.
|
17
17
|
board_headers.each do |board, header_folder|
|
18
|
+
# No idea what this is, but doesn't seem to be a real board.
|
19
|
+
next if board.match /muxto/i
|
20
|
+
|
18
21
|
parser = HeaderParser.new(header_folder)
|
19
22
|
board_maps[board] = parser.map
|
20
23
|
end
|
21
24
|
end
|
22
25
|
|
26
|
+
# Manually set DAC pins for Arduino branded RA4M1 boards.
|
27
|
+
# Should handle with different matchers for each core, but this works for now.
|
28
|
+
board_maps["ARDUINO_MINIMA"][:DAC] = 14
|
29
|
+
board_maps["ARDUINO_UNOWIFIR4"][:DAC] = 14
|
30
|
+
board_maps["ARDUINO_PORTENTA_C33"][:DAC] = 21
|
31
|
+
board_maps["ARDUINO_PORTENTA_C33"][:DAC1] = 20
|
32
|
+
|
23
33
|
# Remove chars from board identifier that won't work in a filename.
|
24
34
|
def board_to_filename(board_identifier)
|
25
35
|
board_identifier.gsub(":", "_").gsub(",", "_").gsub(/\AARDUINO_/, "")
|
@@ -0,0 +1,32 @@
|
|
1
|
+
---
|
2
|
+
:LED_BUILTIN: 13
|
3
|
+
:D0: 0
|
4
|
+
:D1: 1
|
5
|
+
:D2: 2
|
6
|
+
:D3: 3
|
7
|
+
:D4: 4
|
8
|
+
:D5: 5
|
9
|
+
:D6: 6
|
10
|
+
:D7: 7
|
11
|
+
:D8: 8
|
12
|
+
:D9: 9
|
13
|
+
:D10: 10
|
14
|
+
:D11: 11
|
15
|
+
:D12: 12
|
16
|
+
:D13: 13
|
17
|
+
:A0: 26
|
18
|
+
:A1: 27
|
19
|
+
:A2: 28
|
20
|
+
:A3: 29
|
21
|
+
:MISO0: 4
|
22
|
+
:MOSI0: 3
|
23
|
+
:SCK0: 2
|
24
|
+
:SS0: 5
|
25
|
+
:MISO1: 12
|
26
|
+
:MOSI1: 11
|
27
|
+
:SCK1: 10
|
28
|
+
:SS1: 13
|
29
|
+
:SDA0: 16
|
30
|
+
:SCL0: 17
|
31
|
+
:SDA1: 18
|
32
|
+
:SCL1: 19
|
@@ -6,7 +6,7 @@
|
|
6
6
|
:MISO: 13
|
7
7
|
:SCK: 12
|
8
8
|
:A0: 1
|
9
|
-
:A1:
|
9
|
+
:A1: 2
|
10
10
|
:A2: 3
|
11
11
|
:A3: 4
|
12
12
|
:A4: 5
|
@@ -15,6 +15,16 @@
|
|
15
15
|
:A7: 8
|
16
16
|
:A8: 9
|
17
17
|
:A9: 10
|
18
|
+
:A10: 11
|
19
|
+
:A11: 12
|
20
|
+
:A12: 13
|
21
|
+
:A13: 14
|
22
|
+
:A14: 15
|
23
|
+
:A15: 16
|
24
|
+
:A16: 17
|
25
|
+
:A17: 18
|
26
|
+
:A18: 19
|
27
|
+
:A19: 20
|
18
28
|
:T1: 1
|
19
29
|
:T2: 2
|
20
30
|
:T3: 3
|
@@ -0,0 +1,42 @@
|
|
1
|
+
---
|
2
|
+
:LED_BUILTIN: 10
|
3
|
+
:D0: 16
|
4
|
+
:D1: 17
|
5
|
+
:D2: 20
|
6
|
+
:D3: 23
|
7
|
+
:D4: 22
|
8
|
+
:D5: 2
|
9
|
+
:D6: 3
|
10
|
+
:D7: 0
|
11
|
+
:D8: 1
|
12
|
+
:D9: 6
|
13
|
+
:D10: 7
|
14
|
+
:D11: 8
|
15
|
+
:D12: 9
|
16
|
+
:D13: 10
|
17
|
+
:D14: 11
|
18
|
+
:D15: 12
|
19
|
+
:D16: 13
|
20
|
+
:D17: 14
|
21
|
+
:D18: 15
|
22
|
+
:D19: 18
|
23
|
+
:D20: 19
|
24
|
+
:D21: 24
|
25
|
+
:A0: 26
|
26
|
+
:A1: 27
|
27
|
+
:A2: 28
|
28
|
+
:A3: 29
|
29
|
+
:A4: 25
|
30
|
+
:A5: 21
|
31
|
+
:MISO0: 24
|
32
|
+
:MOSI0: 23
|
33
|
+
:SCK0: 22
|
34
|
+
:SS0: 21
|
35
|
+
:MISO1: 12
|
36
|
+
:MOSI1: 15
|
37
|
+
:SCK1: 14
|
38
|
+
:SS1: 13
|
39
|
+
:SDA0: 0
|
40
|
+
:SCL0: 1
|
41
|
+
:SDA1: 31
|
42
|
+
:SCL1: 31
|
@@ -6,7 +6,7 @@
|
|
6
6
|
:MISO: 37
|
7
7
|
:SCK: 36
|
8
8
|
:A0: 1
|
9
|
-
:A1:
|
9
|
+
:A1: 2
|
10
10
|
:A2: 3
|
11
11
|
:A3: 4
|
12
12
|
:A4: 5
|
@@ -15,6 +15,16 @@
|
|
15
15
|
:A7: 8
|
16
16
|
:A8: 9
|
17
17
|
:A9: 10
|
18
|
+
:A10: 11
|
19
|
+
:A11: 12
|
20
|
+
:A12: 13
|
21
|
+
:A13: 14
|
22
|
+
:A14: 15
|
23
|
+
:A15: 16
|
24
|
+
:A16: 17
|
25
|
+
:A17: 18
|
26
|
+
:A18: 19
|
27
|
+
:A19: 20
|
18
28
|
:T1: 1
|
19
29
|
:T2: 2
|
20
30
|
:T3: 3
|
@@ -7,7 +7,7 @@
|
|
7
7
|
:MISO: 37
|
8
8
|
:SCK: 36
|
9
9
|
:A0: 17
|
10
|
-
:A1:
|
10
|
+
:A1: 18
|
11
11
|
:A2: 14
|
12
12
|
:A3: 9
|
13
13
|
:A4: 7
|
@@ -16,6 +16,16 @@
|
|
16
16
|
:A7: 8
|
17
17
|
:A8: 9
|
18
18
|
:A9: 10
|
19
|
+
:A10: 11
|
20
|
+
:A11: 12
|
21
|
+
:A12: 13
|
22
|
+
:A13: 14
|
23
|
+
:A14: 15
|
24
|
+
:A15: 16
|
25
|
+
:A16: 17
|
26
|
+
:A17: 18
|
27
|
+
:A18: 19
|
28
|
+
:A19: 20
|
19
29
|
:T1: 1
|
20
30
|
:T2: 2
|
21
31
|
:T3: 3
|