Skip to content

Commit 81aa9ac

Browse files
committed
Added Heltec T114 to rnodeconf
1 parent 55f5842 commit 81aa9ac

File tree

1 file changed

+140
-96
lines changed

1 file changed

+140
-96
lines changed

RNS/Utilities/rnodeconf.py

Lines changed: 140 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
RNS.logtimefmt = "%H:%M:%S"
4242
RNS.compact_log_fmt = True
4343

44-
program_version = "2.2.0"
44+
program_version = "2.3.0"
4545
eth_addr = "0xFDabC71AC4c0C78C95aDDDe3B4FA19d6273c5E73"
4646
btc_addr = "35G9uWVzrpJJibzUwpNUQGQNFzLirhrYAH"
4747
xmr_addr = "87HcDx6jRSkMQ9nPRd5K9hGGpZLn2s7vWETjMaVM5KfV4TD36NcYa8J8WSxhTSvBzzFpqDwp2fg5GX2moZ7VAP9QMZCZGET"
@@ -123,77 +123,80 @@ def escape(data):
123123
return data
124124

125125
class ROM():
126-
PLATFORM_AVR = 0x90
127-
PLATFORM_ESP32 = 0x80
128-
PLATFORM_NRF52 = 0x70
129-
130-
MCU_1284P = 0x91
131-
MCU_2560 = 0x92
132-
MCU_ESP32 = 0x81
133-
MCU_NRF52 = 0x71
134-
135-
PRODUCT_RNODE = 0x03
136-
MODEL_A1 = 0xA1
137-
MODEL_A6 = 0xA6
138-
MODEL_A4 = 0xA4
139-
MODEL_A9 = 0xA9
140-
MODEL_A3 = 0xA3
141-
MODEL_A8 = 0xA8
142-
MODEL_A2 = 0xA2
143-
MODEL_A7 = 0xA7
144-
MODEL_A5 = 0xA5
145-
MODEL_AA = 0xAA
146-
MODEL_AC = 0xAC
147-
148-
PRODUCT_T32_10 = 0xB2
149-
MODEL_BA = 0xBA
150-
MODEL_BB = 0xBB
151-
152-
PRODUCT_T32_20 = 0xB0
153-
MODEL_B3 = 0xB3
154-
MODEL_B8 = 0xB8
155-
156-
PRODUCT_T32_21 = 0xB1
157-
MODEL_B4 = 0xB4
158-
MODEL_B9 = 0xB9
159-
MODEL_B4_TCXO = 0x04 # The TCXO model codes are only used here to select the
160-
MODEL_B9_TCXO = 0x09 # correct firmware, actual model codes in firmware is
161-
# still 0xB4 and 0xB9.
162-
163-
PRODUCT_H32_V2 = 0xC0
164-
MODEL_C4 = 0xC4
165-
MODEL_C9 = 0xC9
166-
167-
PRODUCT_H32_V3 = 0xC1
168-
MODEL_C5 = 0xC5
169-
MODEL_CA = 0xCA
170-
171-
PRODUCT_TBEAM = 0xE0
172-
MODEL_E4 = 0xE4
173-
MODEL_E9 = 0xE9
174-
MODEL_E3 = 0xE3
175-
MODEL_E8 = 0xE8
176-
177-
PRODUCT_TBEAM_S_V1= 0xEA
178-
MODEL_DB = 0xDB
179-
MODEL_DC = 0xDC
180-
181-
PRODUCT_TDECK = 0xD0
182-
MODEL_D4 = 0xD4
183-
MODEL_D9 = 0xD9
184-
185-
PRODUCT_RAK4631 = 0x10
186-
MODEL_11 = 0x11
187-
MODEL_12 = 0x12
188-
MODEL_13 = 0x13
189-
MODEL_14 = 0x14
190-
PRODUCT_OPENCOM_XL = 0x20
191-
MODEL_21 = 0x21
192-
193-
194-
PRODUCT_TECHO = 0x15
195-
MODEL_T4 = 0x16
196-
MODEL_T9 = 0x17
126+
PLATFORM_AVR = 0x90
127+
PLATFORM_ESP32 = 0x80
128+
PLATFORM_NRF52 = 0x70
129+
130+
MCU_1284P = 0x91
131+
MCU_2560 = 0x92
132+
MCU_ESP32 = 0x81
133+
MCU_NRF52 = 0x71
134+
135+
PRODUCT_RNODE = 0x03
136+
MODEL_A1 = 0xA1
137+
MODEL_A6 = 0xA6
138+
MODEL_A4 = 0xA4
139+
MODEL_A9 = 0xA9
140+
MODEL_A3 = 0xA3
141+
MODEL_A8 = 0xA8
142+
MODEL_A2 = 0xA2
143+
MODEL_A7 = 0xA7
144+
MODEL_A5 = 0xA5
145+
MODEL_AA = 0xAA
146+
MODEL_AC = 0xAC
147+
148+
PRODUCT_T32_10 = 0xB2
149+
MODEL_BA = 0xBA
150+
MODEL_BB = 0xBB
151+
152+
PRODUCT_T32_20 = 0xB0
153+
MODEL_B3 = 0xB3
154+
MODEL_B8 = 0xB8
155+
156+
PRODUCT_T32_21 = 0xB1
157+
MODEL_B4 = 0xB4
158+
MODEL_B9 = 0xB9
159+
MODEL_B4_TCXO = 0x04 # The TCXO model codes are only used here to select the correct firmware,
160+
MODEL_B9_TCXO = 0x09 # actual model codes in firmware is still 0xB4 and 0xB9.
161+
PRODUCT_H32_V2 = 0xC0
162+
MODEL_C4 = 0xC4
163+
MODEL_C9 = 0xC9
164+
165+
PRODUCT_H32_V3 = 0xC1
166+
MODEL_C5 = 0xC5
167+
MODEL_CA = 0xCA
168+
169+
PRODUCT_TBEAM = 0xE0
170+
MODEL_E4 = 0xE4
171+
MODEL_E9 = 0xE9
172+
MODEL_E3 = 0xE3
173+
MODEL_E8 = 0xE8
174+
175+
PRODUCT_TBEAM_S_V1 = 0xEA
176+
MODEL_DB = 0xDB
177+
MODEL_DC = 0xDC
178+
179+
PRODUCT_TDECK = 0xD0
180+
MODEL_D4 = 0xD4
181+
MODEL_D9 = 0xD9
182+
183+
PRODUCT_RAK4631 = 0x10
184+
MODEL_11 = 0x11
185+
MODEL_12 = 0x12
186+
MODEL_13 = 0x13
187+
MODEL_14 = 0x14
188+
189+
PRODUCT_OPENCOM_XL = 0x20
190+
MODEL_21 = 0x21
191+
192+
PRODUCT_TECHO = 0x15
193+
MODEL_T4 = 0x16
194+
MODEL_T9 = 0x17
195+
196+
PRODUCT_HELTEC_T114 = 0xC2
197+
BOARD_HELTEC_T114 = 0x3C
198+
MODEL_C6 = 0xC6 # Heltec Mesh Node T114, 470-510 MHz (HT-n5262-LF)
199+
MODEL_C7 = 0xC7 # Heltec Mesh Node T114, 863-928 MHz (HT-n5262-HF)
197200

198201
PRODUCT_HMBRW = 0xF0
199202
MODEL_FF = 0xFF
@@ -245,6 +248,7 @@ class ROM():
245248
ROM.PRODUCT_TECHO: "LilyGO T-Echo",
246249
ROM.PRODUCT_RAK4631: "RAK4631",
247250
ROM.PRODUCT_OPENCOM_XL: "openCom XL",
251+
ROM.PRODUCT_HELTEC_T114: "Heltec Mesh Node T114",
248252
}
249253

250254
platforms = {
@@ -282,8 +286,10 @@ class ROM():
282286
0xBB: [850000000, 950000000, 17, "850 - 950 MHz", "rnode_firmware_lora32v10.zip", "SX1276"],
283287
0xC4: [420000000, 520000000, 17, "420 - 520 MHz", "rnode_firmware_heltec32v2.zip", "SX1278"],
284288
0xC9: [850000000, 950000000, 17, "850 - 950 MHz", "rnode_firmware_heltec32v2.zip", "SX1276"],
285-
0xC5: [420000000, 520000000, 21, "420 - 520 MHz", "rnode_firmware_heltec32v3.zip", "SX1268"],
286-
0xCA: [850000000, 950000000, 21, "850 - 950 MHz", "rnode_firmware_heltec32v3.zip", "SX1262"],
289+
0xC5: [420000000, 520000000, 22, "420 - 520 MHz", "rnode_firmware_heltec32v3.zip", "SX1268"],
290+
0xCA: [850000000, 950000000, 22, "850 - 950 MHz", "rnode_firmware_heltec32v3.zip", "SX1262"],
291+
0xC6: [420000000, 520000000, 22, "420 - 520 MHz", "rnode_firmware_heltec_t114.zip", "SX1268"],
292+
0xC7: [850000000, 950000000, 22, "850 - 950 MHz", "rnode_firmware_heltec_t114.zip", "SX1262"],
287293
0xE4: [420000000, 520000000, 17, "420 - 520 MHz", "rnode_firmware_tbeam.zip", "SX1278"],
288294
0xE9: [850000000, 950000000, 17, "850 - 950 MHz", "rnode_firmware_tbeam.zip", "SX1276"],
289295
0xD4: [420000000, 520000000, 22, "420 - 520 MHz", "rnode_firmware_tdeck.zip", "SX1268"],
@@ -1166,9 +1172,10 @@ def ensure_firmware_file(fw_filename):
11661172
RNS.log("The selected firmware for this board is version "+selected_version)
11671173

11681174
else:
1169-
RNS.log("Online firmware version check was disabled, but no firmware version specified for install.")
1170-
RNS.log("use the --fw-version option to manually specify a version.")
1171-
graceful_exit(98)
1175+
if selected_version == None:
1176+
RNS.log("Online firmware version check was disabled, but no firmware version specified for install.")
1177+
RNS.log("use the --fw-version option to manually specify a version.")
1178+
graceful_exit(98)
11721179

11731180
# if custom firmware url, use it
11741181
if fw_url != None:
@@ -1661,30 +1668,31 @@ def print_donation_block():
16611668

16621669
print("")
16631670
print("What kind of device is this?\n")
1664-
print("[1] A specific kind of RNode")
1665-
print(" .")
1666-
print(" / \\ Select this option if you have an RNode of a specific")
1667-
print(" | type, built from a recipe or bought from a vendor.")
1671+
print(" | Select this option if you have an RNode of a specific")
1672+
print(" \\ / type, built from a recipe or bought from a vendor.")
1673+
print(" '")
1674+
print("[1] A specific kind of RNode")
16681675
print("")
1669-
print("[2] Homebrew RNode")
1670-
print(" .")
1671-
print(" / \\ Select this option if you have put toghether an RNode")
1672-
print(" | of your own design, or if you are prototyping one.")
1676+
print(" | Select this option if you have put toghether an RNode")
1677+
print(" \\ / of your own design, or if you are prototyping one.")
1678+
print(" '")
1679+
print("[2] Homebrew RNode")
16731680
print("")
1674-
print("[3] LilyGO LoRa32 v2.1 (aka T3 v1.6 / T3 v1.6.1)")
1675-
print("[4] LilyGO LoRa32 v2.0")
1676-
print("[5] LilyGO LoRa32 v1.0")
1677-
print("[6] LilyGO T-Beam")
1678-
print("[7] Heltec LoRa32 v2")
1679-
print("[8] Heltec LoRa32 v3")
1680-
print("[9] LilyGO LoRa T3S3")
1681+
print(" | Select one of these options if you want to easily turn")
1682+
print(" \\ / a supported development board into an RNode.")
1683+
print(" '")
1684+
print("[3] LilyGO LoRa32 v2.1 (aka T3 v1.6 / T3 v1.6.1)")
1685+
print("[4] LilyGO LoRa32 v2.0")
1686+
print("[5] LilyGO LoRa32 v1.0")
1687+
print("[6] LilyGO T-Beam")
1688+
print("[7] Heltec LoRa32 v2")
1689+
print("[8] Heltec LoRa32 v3")
1690+
print("[9] LilyGO LoRa T3S3")
16811691
print("[10] RAK4631")
16821692
print("[11] LilyGo T-Echo")
16831693
print("[12] LilyGO T-Beam Supreme")
16841694
print("[13] LilyGO T-Deck")
1685-
print(" .")
1686-
print(" / \\ Select one of these options if you want to easily turn")
1687-
print(" | a supported development board into an RNode.")
1695+
print("[14] Heltec T114")
16881696
print("")
16891697
print("---------------------------------------------------------------------------")
16901698
print("\nEnter the number that matches your device type:\n? ", end="")
@@ -1693,7 +1701,7 @@ def print_donation_block():
16931701
try:
16941702
c_dev = int(input())
16951703
c_mod = False
1696-
if c_dev < 1 or c_dev > 13:
1704+
if c_dev < 1 or c_dev > 14:
16971705
raise ValueError()
16981706
elif c_dev == 1:
16991707
selected_product = ROM.PRODUCT_RNODE
@@ -1876,6 +1884,20 @@ def print_donation_block():
18761884
print("who would like to experiment with it. Hit enter to continue.")
18771885
print("---------------------------------------------------------------------------")
18781886
input()
1887+
elif c_dev == 14:
1888+
selected_product = ROM.PRODUCT_HELTEC_T114
1889+
clear()
1890+
print("")
1891+
print("---------------------------------------------------------------------------")
1892+
print(" Heltec T114 RNode Installer")
1893+
print("")
1894+
print("Important! Using RNode firmware on Heltec T114 devices should currently be")
1895+
print("considered experimental. It is not intended for production or critical use.")
1896+
print("The currently supplied firmware is provided AS-IS as a courtesey to those")
1897+
print("who would like to experiment with it. Hit enter to continue.")
1898+
print("---------------------------------------------------------------------------")
1899+
input()
1900+
18791901
except Exception as e:
18801902
print("That device type does not exist, exiting now.")
18811903
graceful_exit()
@@ -2192,6 +2214,28 @@ def print_donation_block():
21922214
except Exception as e:
21932215
print("That band does not exist, exiting now.")
21942216
exit()
2217+
2218+
elif selected_product == ROM.PRODUCT_HELTEC_T114:
2219+
selected_mcu = ROM.MCU_NRF52
2220+
print("\nWhat band is this Heltec T114 for?\n")
2221+
print("[1] 433 MHz")
2222+
print("[2] 868 MHz")
2223+
print("[3] 915 MHz")
2224+
print("[4] 923 MHz")
2225+
try:
2226+
c_model = int(input())
2227+
if c_model < 1 or c_model > 4:
2228+
raise ValueError()
2229+
elif c_model == 1:
2230+
selected_model = ROM.MODEL_C6
2231+
selected_platform = ROM.PLATFORM_NRF52
2232+
elif c_model > 1:
2233+
selected_model = ROM.MODEL_C7
2234+
selected_platform = ROM.PLATFORM_NRF52
2235+
except Exception as e:
2236+
print("That band does not exist, exiting now.")
2237+
exit()
2238+
21952239
elif selected_product == ROM.PRODUCT_RAK4631:
21962240
selected_mcu = ROM.MCU_NRF52
21972241
print("\nWhat band is this RAK4631 for?\n")

0 commit comments

Comments
 (0)