Compare commits
24 Commits
f461a7827b
...
4465fa9882
Author | SHA1 | Date | |
---|---|---|---|
|
4465fa9882 | ||
|
ce974db084 | ||
|
e6c1dc075b | ||
|
9602f67b06 | ||
|
ef798e0d54 | ||
|
5cd8d229fb | ||
|
d4808b7ff1 | ||
|
3dc8729e70 | ||
|
f500a063dc | ||
|
eca1e53b55 | ||
|
53226d7035 | ||
|
7363c9c821 | ||
|
bb8b8b4f81 | ||
|
0f0f459321 | ||
|
df887f6d63 | ||
|
b526e3554c | ||
|
903ab53fc9 | ||
|
e059363f1d | ||
|
4930477b99 | ||
|
43d8fdb423 | ||
|
9a97195b8c | ||
|
5c6ee07d66 | ||
|
9d744e2317 | ||
|
d64064691a |
@ -28,8 +28,14 @@ import time
|
|||||||
import math
|
import math
|
||||||
import RNS
|
import RNS
|
||||||
|
|
||||||
from able import BluetoothDispatcher, GATT_SUCCESS
|
try:
|
||||||
from able.adapter import require_bluetooth_enabled
|
from able import BluetoothDispatcher, GATT_SUCCESS
|
||||||
|
except Exception as e:
|
||||||
|
GATT_SUCCESS = 0x00
|
||||||
|
class BluetoothDispatcher():
|
||||||
|
def __init__(**kwargs):
|
||||||
|
RNS.log("Attempt to initialise BLE connectivity, but Android BLE support library is unavailable", RNS.LOG_ERROR)
|
||||||
|
raise OSError("No BLE support available")
|
||||||
|
|
||||||
class KISS():
|
class KISS():
|
||||||
FEND = 0xC0
|
FEND = 0xC0
|
||||||
@ -81,11 +87,14 @@ class KISS():
|
|||||||
ERROR_INITRADIO = 0x01
|
ERROR_INITRADIO = 0x01
|
||||||
ERROR_TXFAILED = 0x02
|
ERROR_TXFAILED = 0x02
|
||||||
ERROR_EEPROM_LOCKED = 0x03
|
ERROR_EEPROM_LOCKED = 0x03
|
||||||
|
ERROR_QUEUE_FULL = 0x04
|
||||||
|
ERROR_MEMORY_LOW = 0x05
|
||||||
ERROR_INVALID_FIRMWARE = 0x10
|
ERROR_INVALID_FIRMWARE = 0x10
|
||||||
ERROR_INVALID_BLE_MTU = 0x20
|
ERROR_INVALID_BLE_MTU = 0x20
|
||||||
|
|
||||||
PLATFORM_AVR = 0x90
|
PLATFORM_AVR = 0x90
|
||||||
PLATFORM_ESP32 = 0x80
|
PLATFORM_ESP32 = 0x80
|
||||||
|
PLATFORM_NRF52 = 0x70
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(data):
|
def escape(data):
|
||||||
@ -652,7 +661,7 @@ class RNodeInterface(Interface):
|
|||||||
if not self.detected:
|
if not self.detected:
|
||||||
raise IOError("Could not detect device")
|
raise IOError("Could not detect device")
|
||||||
else:
|
else:
|
||||||
if self.platform == KISS.PLATFORM_ESP32:
|
if self.platform == KISS.PLATFORM_ESP32 or self.platform == KISS.PLATFORM_NRF52:
|
||||||
self.display = True
|
self.display = True
|
||||||
|
|
||||||
if not self.firmware_ok:
|
if not self.firmware_ok:
|
||||||
@ -1242,6 +1251,9 @@ class RNodeInterface(Interface):
|
|||||||
elif (byte == KISS.ERROR_TXFAILED):
|
elif (byte == KISS.ERROR_TXFAILED):
|
||||||
RNS.log(str(self)+" hardware TX error (code "+RNS.hexrep(byte)+")", RNS.LOG_ERROR)
|
RNS.log(str(self)+" hardware TX error (code "+RNS.hexrep(byte)+")", RNS.LOG_ERROR)
|
||||||
raise IOError("Hardware transmit failure")
|
raise IOError("Hardware transmit failure")
|
||||||
|
elif (byte == KISS.ERROR_MEMORY_LOW):
|
||||||
|
RNS.log(str(self)+" hardware error (code "+RNS.hexrep(byte)+"): Memory exhausted", RNS.LOG_ERROR)
|
||||||
|
self.hw_errors.append({"error": KISS.ERROR_MEMORY_LOW, "description": "Memory exhausted on connected device"})
|
||||||
else:
|
else:
|
||||||
RNS.log(str(self)+" hardware error (code "+RNS.hexrep(byte)+")", RNS.LOG_ERROR)
|
RNS.log(str(self)+" hardware error (code "+RNS.hexrep(byte)+")", RNS.LOG_ERROR)
|
||||||
raise IOError("Unknown hardware failure")
|
raise IOError("Unknown hardware failure")
|
||||||
|
@ -78,9 +78,12 @@ class KISS():
|
|||||||
ERROR_INITRADIO = 0x01
|
ERROR_INITRADIO = 0x01
|
||||||
ERROR_TXFAILED = 0x02
|
ERROR_TXFAILED = 0x02
|
||||||
ERROR_EEPROM_LOCKED = 0x03
|
ERROR_EEPROM_LOCKED = 0x03
|
||||||
|
ERROR_QUEUE_FULL = 0x04
|
||||||
|
ERROR_MEMORY_LOW = 0x05
|
||||||
|
|
||||||
PLATFORM_AVR = 0x90
|
PLATFORM_AVR = 0x90
|
||||||
PLATFORM_ESP32 = 0x80
|
PLATFORM_ESP32 = 0x80
|
||||||
|
PLATFORM_NRF52 = 0x70
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(data):
|
def escape(data):
|
||||||
@ -326,7 +329,7 @@ class RNodeInterface(Interface):
|
|||||||
RNS.log("Could not detect device for "+str(self), RNS.LOG_ERROR)
|
RNS.log("Could not detect device for "+str(self), RNS.LOG_ERROR)
|
||||||
self.serial.close()
|
self.serial.close()
|
||||||
else:
|
else:
|
||||||
if self.platform == KISS.PLATFORM_ESP32:
|
if self.platform == KISS.PLATFORM_ESP32 or self.platform == KISS.PLATFORM_NRF52:
|
||||||
self.display = True
|
self.display = True
|
||||||
|
|
||||||
RNS.log("Serial port "+self.port+" is now open")
|
RNS.log("Serial port "+self.port+" is now open")
|
||||||
@ -844,6 +847,9 @@ class RNodeInterface(Interface):
|
|||||||
elif (byte == KISS.ERROR_TXFAILED):
|
elif (byte == KISS.ERROR_TXFAILED):
|
||||||
RNS.log(str(self)+" hardware TX error (code "+RNS.hexrep(byte)+")", RNS.LOG_ERROR)
|
RNS.log(str(self)+" hardware TX error (code "+RNS.hexrep(byte)+")", RNS.LOG_ERROR)
|
||||||
raise IOError("Hardware transmit failure")
|
raise IOError("Hardware transmit failure")
|
||||||
|
elif (byte == KISS.ERROR_MEMORY_LOW):
|
||||||
|
RNS.log(str(self)+" hardware error (code "+RNS.hexrep(byte)+"): Memory exhausted", RNS.LOG_ERROR)
|
||||||
|
self.hw_errors.append({"error": KISS.ERROR_MEMORY_LOW, "description": "Memory exhausted on connected device"})
|
||||||
else:
|
else:
|
||||||
RNS.log(str(self)+" hardware error (code "+RNS.hexrep(byte)+")", RNS.LOG_ERROR)
|
RNS.log(str(self)+" hardware error (code "+RNS.hexrep(byte)+")", RNS.LOG_ERROR)
|
||||||
raise IOError("Unknown hardware failure")
|
raise IOError("Unknown hardware failure")
|
||||||
|
@ -70,7 +70,7 @@ class KISS():
|
|||||||
CMD_INT1_DATA = 0x10
|
CMD_INT1_DATA = 0x10
|
||||||
CMD_INT2_DATA = 0x20
|
CMD_INT2_DATA = 0x20
|
||||||
CMD_INT3_DATA = 0x70
|
CMD_INT3_DATA = 0x70
|
||||||
CMD_INT4_DATA = 0x80
|
CMD_INT4_DATA = 0x75
|
||||||
CMD_INT5_DATA = 0x90
|
CMD_INT5_DATA = 0x90
|
||||||
CMD_INT6_DATA = 0xA0
|
CMD_INT6_DATA = 0xA0
|
||||||
CMD_INT7_DATA = 0xB0
|
CMD_INT7_DATA = 0xB0
|
||||||
@ -82,8 +82,8 @@ class KISS():
|
|||||||
CMD_SEL_INT0 = 0x1E
|
CMD_SEL_INT0 = 0x1E
|
||||||
CMD_SEL_INT1 = 0x1F
|
CMD_SEL_INT1 = 0x1F
|
||||||
CMD_SEL_INT2 = 0x2F
|
CMD_SEL_INT2 = 0x2F
|
||||||
CMD_SEL_INT3 = 0x7F
|
CMD_SEL_INT3 = 0x74
|
||||||
CMD_SEL_INT4 = 0x8F
|
CMD_SEL_INT4 = 0x7F
|
||||||
CMD_SEL_INT5 = 0x9F
|
CMD_SEL_INT5 = 0x9F
|
||||||
CMD_SEL_INT6 = 0xAF
|
CMD_SEL_INT6 = 0xAF
|
||||||
CMD_SEL_INT7 = 0xBF
|
CMD_SEL_INT7 = 0xBF
|
||||||
@ -106,6 +106,7 @@ class KISS():
|
|||||||
|
|
||||||
PLATFORM_AVR = 0x90
|
PLATFORM_AVR = 0x90
|
||||||
PLATFORM_ESP32 = 0x80
|
PLATFORM_ESP32 = 0x80
|
||||||
|
PLATFORM_NRF52 = 0x70
|
||||||
|
|
||||||
SX127X = 0x00
|
SX127X = 0x00
|
||||||
SX1276 = 0x01
|
SX1276 = 0x01
|
||||||
@ -166,7 +167,7 @@ class RNodeMultiInterface(Interface):
|
|||||||
CALLSIGN_MAX_LEN = 32
|
CALLSIGN_MAX_LEN = 32
|
||||||
|
|
||||||
REQUIRED_FW_VER_MAJ = 1
|
REQUIRED_FW_VER_MAJ = 1
|
||||||
REQUIRED_FW_VER_MIN = 73
|
REQUIRED_FW_VER_MIN = 74
|
||||||
|
|
||||||
RECONNECT_WAIT = 5
|
RECONNECT_WAIT = 5
|
||||||
|
|
||||||
@ -249,6 +250,7 @@ class RNodeMultiInterface(Interface):
|
|||||||
if (not self.validcfg):
|
if (not self.validcfg):
|
||||||
raise ValueError("The configuration for "+str(self)+" contains errors, interface is offline")
|
raise ValueError("The configuration for "+str(self)+" contains errors, interface is offline")
|
||||||
|
|
||||||
|
def start(self):
|
||||||
try:
|
try:
|
||||||
self.open_port()
|
self.open_port()
|
||||||
|
|
||||||
@ -297,7 +299,7 @@ class RNodeMultiInterface(Interface):
|
|||||||
RNS.log("Could not detect device for "+str(self), RNS.LOG_ERROR)
|
RNS.log("Could not detect device for "+str(self), RNS.LOG_ERROR)
|
||||||
self.serial.close()
|
self.serial.close()
|
||||||
else:
|
else:
|
||||||
if self.platform == KISS.PLATFORM_ESP32:
|
if self.platform == KISS.PLATFORM_ESP32 or self.platform == KISS.PLATFORM_NRF52:
|
||||||
self.display = True
|
self.display = True
|
||||||
|
|
||||||
RNS.log("Serial port "+self.port+" is now open")
|
RNS.log("Serial port "+self.port+" is now open")
|
||||||
@ -323,8 +325,8 @@ class RNodeMultiInterface(Interface):
|
|||||||
lt_alock=subint[9]
|
lt_alock=subint[9]
|
||||||
)
|
)
|
||||||
|
|
||||||
interface.OUT = self.OUT
|
interface.OUT = subint[10]
|
||||||
interface.IN = self.IN
|
interface.IN = True
|
||||||
|
|
||||||
interface.announce_rate_target = self.announce_rate_target
|
interface.announce_rate_target = self.announce_rate_target
|
||||||
interface.mode = self.mode
|
interface.mode = self.mode
|
||||||
@ -1006,6 +1008,11 @@ class RNodeSubInterface(Interface):
|
|||||||
self.parent_interface = parent_interface
|
self.parent_interface = parent_interface
|
||||||
self.announce_rate_target = None
|
self.announce_rate_target = None
|
||||||
|
|
||||||
|
self.mode = None
|
||||||
|
self.announce_cap = None
|
||||||
|
self.bitrate = None
|
||||||
|
self.ifac_size = None
|
||||||
|
|
||||||
# add this interface to the subinterfaces array
|
# add this interface to the subinterfaces array
|
||||||
self.parent_interface.subinterfaces[index] = self
|
self.parent_interface.subinterfaces[index] = self
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ class TCPClientInterface(Interface):
|
|||||||
if initial:
|
if initial:
|
||||||
RNS.log("Establishing TCP connection for "+str(self)+"...", RNS.LOG_DEBUG)
|
RNS.log("Establishing TCP connection for "+str(self)+"...", RNS.LOG_DEBUG)
|
||||||
|
|
||||||
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
self.socket = socket.socket(socket.AF_INET|socket.AF_INET6, socket.SOCK_STREAM)
|
||||||
self.socket.settimeout(TCPClientInterface.INITIAL_CONNECT_TIMEOUT)
|
self.socket.settimeout(TCPClientInterface.INITIAL_CONNECT_TIMEOUT)
|
||||||
self.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
|
self.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
|
||||||
self.socket.connect((self.target_ip, self.target_port))
|
self.socket.connect((self.target_ip, self.target_port))
|
||||||
|
@ -453,7 +453,7 @@ class PacketReceipt:
|
|||||||
# This is an explicit proof
|
# This is an explicit proof
|
||||||
proof_hash = proof[:RNS.Identity.HASHLENGTH//8]
|
proof_hash = proof[:RNS.Identity.HASHLENGTH//8]
|
||||||
signature = proof[RNS.Identity.HASHLENGTH//8:RNS.Identity.HASHLENGTH//8+RNS.Identity.SIGLENGTH//8]
|
signature = proof[RNS.Identity.HASHLENGTH//8:RNS.Identity.HASHLENGTH//8+RNS.Identity.SIGLENGTH//8]
|
||||||
if proof_hash == self.hash:
|
if proof_hash == self.hash and hasattr(self.destination, "identity") and self.destination.identity != None:
|
||||||
proof_valid = self.destination.identity.validate(signature, self.hash)
|
proof_valid = self.destination.identity.validate(signature, self.hash)
|
||||||
if proof_valid:
|
if proof_valid:
|
||||||
self.status = PacketReceipt.DELIVERED
|
self.status = PacketReceipt.DELIVERED
|
||||||
|
@ -54,6 +54,9 @@ class Resource:
|
|||||||
# The maximum window size for transfers on slow links
|
# The maximum window size for transfers on slow links
|
||||||
WINDOW_MAX_SLOW = 10
|
WINDOW_MAX_SLOW = 10
|
||||||
|
|
||||||
|
# The maximum window size for transfers on very slow links
|
||||||
|
WINDOW_MAX_VERY_SLOW = 4
|
||||||
|
|
||||||
# The maximum window size for transfers on fast links
|
# The maximum window size for transfers on fast links
|
||||||
WINDOW_MAX_FAST = 75
|
WINDOW_MAX_FAST = 75
|
||||||
|
|
||||||
@ -65,12 +68,22 @@ class Resource:
|
|||||||
# rounds, the fast link window size will be allowed.
|
# rounds, the fast link window size will be allowed.
|
||||||
FAST_RATE_THRESHOLD = WINDOW_MAX_SLOW - WINDOW - 2
|
FAST_RATE_THRESHOLD = WINDOW_MAX_SLOW - WINDOW - 2
|
||||||
|
|
||||||
|
# If the very slow rate is sustained for this many request
|
||||||
|
# rounds, window will be capped to the very slow limit.
|
||||||
|
VERY_SLOW_RATE_THRESHOLD = 2
|
||||||
|
|
||||||
# If the RTT rate is higher than this value,
|
# If the RTT rate is higher than this value,
|
||||||
# the max window size for fast links will be used.
|
# the max window size for fast links will be used.
|
||||||
# The default is 50 Kbps (the value is stored in
|
# The default is 50 Kbps (the value is stored in
|
||||||
# bytes per second, hence the "/ 8").
|
# bytes per second, hence the "/ 8").
|
||||||
RATE_FAST = (50*1000) / 8
|
RATE_FAST = (50*1000) / 8
|
||||||
|
|
||||||
|
# If the RTT rate is lower than this value,
|
||||||
|
# the window size will be capped at .
|
||||||
|
# The default is 50 Kbps (the value is stored in
|
||||||
|
# bytes per second, hence the "/ 8").
|
||||||
|
RATE_VERY_SLOW = (2*1000) / 8
|
||||||
|
|
||||||
# The minimum allowed flexibility of the window size.
|
# The minimum allowed flexibility of the window size.
|
||||||
# The difference between window_max and window_min
|
# The difference between window_max and window_min
|
||||||
# will never be smaller than this value.
|
# will never be smaller than this value.
|
||||||
@ -275,6 +288,7 @@ class Resource:
|
|||||||
self.req_resp_rtt_rate = 0
|
self.req_resp_rtt_rate = 0
|
||||||
self.rtt_rxd_bytes_at_part_req = 0
|
self.rtt_rxd_bytes_at_part_req = 0
|
||||||
self.fast_rate_rounds = 0
|
self.fast_rate_rounds = 0
|
||||||
|
self.very_slow_rate_rounds = 0
|
||||||
self.request_id = request_id
|
self.request_id = request_id
|
||||||
self.is_response = is_response
|
self.is_response = is_response
|
||||||
|
|
||||||
@ -759,6 +773,12 @@ class Resource:
|
|||||||
if self.fast_rate_rounds == Resource.FAST_RATE_THRESHOLD:
|
if self.fast_rate_rounds == Resource.FAST_RATE_THRESHOLD:
|
||||||
self.window_max = Resource.WINDOW_MAX_FAST
|
self.window_max = Resource.WINDOW_MAX_FAST
|
||||||
|
|
||||||
|
if self.fast_rate_rounds == 0 and self.req_data_rtt_rate < Resource.RATE_VERY_SLOW and self.very_slow_rate_rounds < Resource.VERY_SLOW_RATE_THRESHOLD:
|
||||||
|
self.very_slow_rate_rounds += 1
|
||||||
|
|
||||||
|
if self.very_slow_rate_rounds == Resource.VERY_SLOW_RATE_THRESHOLD:
|
||||||
|
self.window_max = Resource.WINDOW_MAX_VERY_SLOW
|
||||||
|
|
||||||
self.request_next()
|
self.request_next()
|
||||||
else:
|
else:
|
||||||
self.receiving_part = False
|
self.receiving_part = False
|
||||||
|
@ -991,7 +991,7 @@ class Reticulum:
|
|||||||
enabled_count += 1
|
enabled_count += 1
|
||||||
|
|
||||||
# Create an array with a row for each subinterface
|
# Create an array with a row for each subinterface
|
||||||
subint_config = [[0 for x in range(10)] for y in range(enabled_count)]
|
subint_config = [[0 for x in range(11)] for y in range(enabled_count)]
|
||||||
subint_index = 0
|
subint_index = 0
|
||||||
|
|
||||||
for subinterface in c:
|
for subinterface in c:
|
||||||
@ -1020,6 +1020,11 @@ class Reticulum:
|
|||||||
subint_config[subint_index][8] = st_alock
|
subint_config[subint_index][8] = st_alock
|
||||||
lt_alock = float(subinterface_config["airtime_limit_long"]) if "airtime_limit_long" in subinterface_config else None
|
lt_alock = float(subinterface_config["airtime_limit_long"]) if "airtime_limit_long" in subinterface_config else None
|
||||||
subint_config[subint_index][9] = lt_alock
|
subint_config[subint_index][9] = lt_alock
|
||||||
|
|
||||||
|
if "outgoing" in subinterface_config and subinterface_config.as_bool("outgoing") == False:
|
||||||
|
subint_config[subint_index][10] = False
|
||||||
|
else:
|
||||||
|
subint_config[subint_index][10] = True
|
||||||
subint_index += 1
|
subint_index += 1
|
||||||
|
|
||||||
# if no subinterfaces are defined
|
# if no subinterfaces are defined
|
||||||
@ -1045,10 +1050,8 @@ class Reticulum:
|
|||||||
id_callsign = id_callsign
|
id_callsign = id_callsign
|
||||||
)
|
)
|
||||||
|
|
||||||
if "outgoing" in c and c.as_bool("outgoing") == False:
|
interface.IN = False
|
||||||
interface.OUT = False
|
interface.OUT = False
|
||||||
else:
|
|
||||||
interface.OUT = True
|
|
||||||
|
|
||||||
interface.mode = interface_mode
|
interface.mode = interface_mode
|
||||||
|
|
||||||
@ -1099,6 +1102,9 @@ class Reticulum:
|
|||||||
|
|
||||||
RNS.Transport.interfaces.append(interface)
|
RNS.Transport.interfaces.append(interface)
|
||||||
|
|
||||||
|
if isinstance(interface, RNS.Interfaces.RNodeMultiInterface.RNodeMultiInterface):
|
||||||
|
interface.start()
|
||||||
|
|
||||||
else:
|
else:
|
||||||
RNS.log("Skipping disabled interface \""+name+"\"", RNS.LOG_DEBUG)
|
RNS.log("Skipping disabled interface \""+name+"\"", RNS.LOG_DEBUG)
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ class Transport:
|
|||||||
|
|
||||||
PATH_REQUEST_TIMEOUT = 15 # Default timuout for client path requests in seconds
|
PATH_REQUEST_TIMEOUT = 15 # Default timuout for client path requests in seconds
|
||||||
PATH_REQUEST_GRACE = 0.4 # Grace time before a path announcement is made, allows directly reachable peers to respond first
|
PATH_REQUEST_GRACE = 0.4 # Grace time before a path announcement is made, allows directly reachable peers to respond first
|
||||||
PATH_REQUEST_RG = 0.6 # Extra grace time for roaming-mode interfaces to allow more suitable peers to respond first
|
PATH_REQUEST_RG = 1.5 # Extra grace time for roaming-mode interfaces to allow more suitable peers to respond first
|
||||||
PATH_REQUEST_MI = 20 # Minimum interval in seconds for automated path requests
|
PATH_REQUEST_MI = 20 # Minimum interval in seconds for automated path requests
|
||||||
|
|
||||||
STATE_UNKNOWN = 0x00
|
STATE_UNKNOWN = 0x00
|
||||||
|
@ -41,7 +41,7 @@ import RNS
|
|||||||
RNS.logtimefmt = "%H:%M:%S"
|
RNS.logtimefmt = "%H:%M:%S"
|
||||||
RNS.compact_log_fmt = True
|
RNS.compact_log_fmt = True
|
||||||
|
|
||||||
program_version = "2.1.3"
|
program_version = "2.2.0"
|
||||||
eth_addr = "0xFDabC71AC4c0C78C95aDDDe3B4FA19d6273c5E73"
|
eth_addr = "0xFDabC71AC4c0C78C95aDDDe3B4FA19d6273c5E73"
|
||||||
btc_addr = "35G9uWVzrpJJibzUwpNUQGQNFzLirhrYAH"
|
btc_addr = "35G9uWVzrpJJibzUwpNUQGQNFzLirhrYAH"
|
||||||
xmr_addr = "87HcDx6jRSkMQ9nPRd5K9hGGpZLn2s7vWETjMaVM5KfV4TD36NcYa8J8WSxhTSvBzzFpqDwp2fg5GX2moZ7VAP9QMZCZGET"
|
xmr_addr = "87HcDx6jRSkMQ9nPRd5K9hGGpZLn2s7vWETjMaVM5KfV4TD36NcYa8J8WSxhTSvBzzFpqDwp2fg5GX2moZ7VAP9QMZCZGET"
|
||||||
@ -139,6 +139,8 @@ class ROM():
|
|||||||
MODEL_A8 = 0xA8
|
MODEL_A8 = 0xA8
|
||||||
MODEL_A2 = 0xA2
|
MODEL_A2 = 0xA2
|
||||||
MODEL_A7 = 0xA7
|
MODEL_A7 = 0xA7
|
||||||
|
MODEL_A5 = 0xA5
|
||||||
|
MODEL_AA = 0xAA
|
||||||
|
|
||||||
PRODUCT_T32_10 = 0xB2
|
PRODUCT_T32_10 = 0xB2
|
||||||
MODEL_BA = 0xBA
|
MODEL_BA = 0xBA
|
||||||
@ -169,6 +171,10 @@ class ROM():
|
|||||||
MODEL_E3 = 0xE3
|
MODEL_E3 = 0xE3
|
||||||
MODEL_E8 = 0xE8
|
MODEL_E8 = 0xE8
|
||||||
|
|
||||||
|
PRODUCT_TBEAM_S_V1= 0xEA
|
||||||
|
MODEL_DB = 0xDB
|
||||||
|
MODEL_DC = 0xDC
|
||||||
|
|
||||||
PRODUCT_TDECK = 0xD0
|
PRODUCT_TDECK = 0xD0
|
||||||
MODEL_D4 = 0xD4
|
MODEL_D4 = 0xD4
|
||||||
MODEL_D9 = 0xD9
|
MODEL_D9 = 0xD9
|
||||||
@ -219,13 +225,14 @@ class ROM():
|
|||||||
BOARD_TECHO = 0x43
|
BOARD_TECHO = 0x43
|
||||||
BOARD_RAK4631 = 0x51
|
BOARD_RAK4631 = 0x51
|
||||||
|
|
||||||
MANUAL_FLASH_MODELS = [MODEL_A1, MODEL_A6]
|
MANUAL_FLASH_MODELS = []
|
||||||
|
|
||||||
mapped_product = ROM.PRODUCT_RNODE
|
mapped_product = ROM.PRODUCT_RNODE
|
||||||
products = {
|
products = {
|
||||||
ROM.PRODUCT_RNODE: "RNode",
|
ROM.PRODUCT_RNODE: "RNode",
|
||||||
ROM.PRODUCT_HMBRW: "Hombrew RNode",
|
ROM.PRODUCT_HMBRW: "Hombrew RNode",
|
||||||
ROM.PRODUCT_TBEAM: "LilyGO T-Beam",
|
ROM.PRODUCT_TBEAM: "LilyGO T-Beam",
|
||||||
|
ROM.PRODUCT_TBEAM_S_V1:"LilyGO T-Beam Supreme",
|
||||||
ROM.PRODUCT_TDECK: "LilyGO T-Deck",
|
ROM.PRODUCT_TDECK: "LilyGO T-Deck",
|
||||||
ROM.PRODUCT_T32_10: "LilyGO LoRa32 v1.0",
|
ROM.PRODUCT_T32_10: "LilyGO LoRa32 v1.0",
|
||||||
ROM.PRODUCT_T32_20: "LilyGO LoRa32 v2.0",
|
ROM.PRODUCT_T32_20: "LilyGO LoRa32 v2.0",
|
||||||
@ -255,6 +262,8 @@ models = {
|
|||||||
0xA9: [820000000, 1020000000, 17, "820 - 1020 MHz", "rnode_firmware.hex", "SX1276"],
|
0xA9: [820000000, 1020000000, 17, "820 - 1020 MHz", "rnode_firmware.hex", "SX1276"],
|
||||||
0xA1: [410000000, 525000000, 22, "410 - 525 MHz", "rnode_firmware_t3s3.zip", "SX1268"],
|
0xA1: [410000000, 525000000, 22, "410 - 525 MHz", "rnode_firmware_t3s3.zip", "SX1268"],
|
||||||
0xA6: [820000000, 1020000000, 22, "820 - 960 MHz", "rnode_firmware_t3s3.zip", "SX1262"],
|
0xA6: [820000000, 1020000000, 22, "820 - 960 MHz", "rnode_firmware_t3s3.zip", "SX1262"],
|
||||||
|
0xA5: [410000000, 525000000, 17, "410 - 525 MHz", "rnode_firmware_t3s3_sx127x.zip", "SX1278"],
|
||||||
|
0xAA: [820000000, 1020000000, 17, "820 - 960 MHz", "rnode_firmware_t3s3_sx127x.zip", "SX1276"],
|
||||||
0xA2: [410000000, 525000000, 17, "410 - 525 MHz", "rnode_firmware_ng21.zip", "SX1278"],
|
0xA2: [410000000, 525000000, 17, "410 - 525 MHz", "rnode_firmware_ng21.zip", "SX1278"],
|
||||||
0xA7: [820000000, 1020000000, 17, "820 - 1020 MHz", "rnode_firmware_ng21.zip", "SX1276"],
|
0xA7: [820000000, 1020000000, 17, "820 - 1020 MHz", "rnode_firmware_ng21.zip", "SX1276"],
|
||||||
0xA3: [410000000, 525000000, 17, "410 - 525 MHz", "rnode_firmware_ng20.zip", "SX1278"],
|
0xA3: [410000000, 525000000, 17, "410 - 525 MHz", "rnode_firmware_ng20.zip", "SX1278"],
|
||||||
@ -275,6 +284,8 @@ models = {
|
|||||||
0xE9: [850000000, 950000000, 17, "850 - 950 MHz", "rnode_firmware_tbeam.zip", "SX1276"],
|
0xE9: [850000000, 950000000, 17, "850 - 950 MHz", "rnode_firmware_tbeam.zip", "SX1276"],
|
||||||
0xD4: [420000000, 520000000, 22, "420 - 520 MHz", "rnode_firmware_tdeck.zip", "SX1268"],
|
0xD4: [420000000, 520000000, 22, "420 - 520 MHz", "rnode_firmware_tdeck.zip", "SX1268"],
|
||||||
0xD9: [850000000, 950000000, 22, "850 - 950 MHz", "rnode_firmware_tdeck.zip", "SX1262"],
|
0xD9: [850000000, 950000000, 22, "850 - 950 MHz", "rnode_firmware_tdeck.zip", "SX1262"],
|
||||||
|
0xDB: [420000000, 520000000, 22, "420 - 520 MHz", "rnode_firmware_tbeam_supreme.zip", "SX1268"],
|
||||||
|
0xDC: [850000000, 950000000, 22, "850 - 950 MHz", "rnode_firmware_tbeam_supreme.zip", "SX1262"],
|
||||||
0xE3: [420000000, 520000000, 22, "420 - 520 MHz", "rnode_firmware_tbeam_sx1262.zip", "SX1268"],
|
0xE3: [420000000, 520000000, 22, "420 - 520 MHz", "rnode_firmware_tbeam_sx1262.zip", "SX1268"],
|
||||||
0xE8: [850000000, 950000000, 22, "850 - 950 MHz", "rnode_firmware_tbeam_sx1262.zip", "SX1262"],
|
0xE8: [850000000, 950000000, 22, "850 - 950 MHz", "rnode_firmware_tbeam_sx1262.zip", "SX1262"],
|
||||||
0x11: [430000000, 510000000, 22, "430 - 510 MHz", "rnode_firmware_rak4631.zip", "SX1262"],
|
0x11: [430000000, 510000000, 22, "430 - 510 MHz", "rnode_firmware_rak4631.zip", "SX1262"],
|
||||||
@ -1183,6 +1194,7 @@ def ensure_firmware_file(fw_filename):
|
|||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
RNS.log("")
|
RNS.log("")
|
||||||
|
RNS.log(f"Firmware hash {file_hash} but should be {selected_hash}, possibly due to download corruption.")
|
||||||
RNS.log("Firmware corrupt. Try clearing the local firmware cache with: rnodeconf --clear-cache")
|
RNS.log("Firmware corrupt. Try clearing the local firmware cache with: rnodeconf --clear-cache")
|
||||||
graceful_exit(96)
|
graceful_exit(96)
|
||||||
|
|
||||||
@ -1648,6 +1660,8 @@ def main():
|
|||||||
print("[9] LilyGO LoRa T3S3")
|
print("[9] LilyGO LoRa T3S3")
|
||||||
print("[10] RAK4631")
|
print("[10] RAK4631")
|
||||||
print("[11] LilyGo T-Echo")
|
print("[11] LilyGo T-Echo")
|
||||||
|
print("[12] LilyGO T-Beam Supreme")
|
||||||
|
print("[13] LilyGO T-Deck")
|
||||||
print(" .")
|
print(" .")
|
||||||
print(" / \\ Select one of these options if you want to easily turn")
|
print(" / \\ Select one of these options if you want to easily turn")
|
||||||
print(" | a supported development board into an RNode.")
|
print(" | a supported development board into an RNode.")
|
||||||
@ -1659,7 +1673,7 @@ def main():
|
|||||||
try:
|
try:
|
||||||
c_dev = int(input())
|
c_dev = int(input())
|
||||||
c_mod = False
|
c_mod = False
|
||||||
if c_dev < 1 or c_dev > 11:
|
if c_dev < 1 or c_dev > 13:
|
||||||
raise ValueError()
|
raise ValueError()
|
||||||
elif c_dev == 1:
|
elif c_dev == 1:
|
||||||
selected_product = ROM.PRODUCT_RNODE
|
selected_product = ROM.PRODUCT_RNODE
|
||||||
@ -1696,6 +1710,38 @@ def main():
|
|||||||
print("who would like to experiment with it. Hit enter to continue.")
|
print("who would like to experiment with it. Hit enter to continue.")
|
||||||
print("---------------------------------------------------------------------------")
|
print("---------------------------------------------------------------------------")
|
||||||
input()
|
input()
|
||||||
|
elif c_dev == 12:
|
||||||
|
selected_product = ROM.PRODUCT_TBEAM_S_V1
|
||||||
|
clear()
|
||||||
|
print("")
|
||||||
|
print("---------------------------------------------------------------------------")
|
||||||
|
print(" T-Beam Supreme RNode Installer")
|
||||||
|
print("")
|
||||||
|
print("The RNode firmware can currently be installed on T-Beam Supreme devices")
|
||||||
|
print("using the SX1262 and SX1268 transceiver chips.")
|
||||||
|
print("")
|
||||||
|
print("Important! Using RNode firmware on T-Beam devices should currently be")
|
||||||
|
print("considered experimental. It is not intended for production or critical use.")
|
||||||
|
print("The currently supplied firmware is provided AS-IS as a courtesey to those")
|
||||||
|
print("who would like to experiment with it. Hit enter to continue.")
|
||||||
|
print("---------------------------------------------------------------------------")
|
||||||
|
input()
|
||||||
|
elif c_dev == 13:
|
||||||
|
selected_product = ROM.PRODUCT_TDECK
|
||||||
|
clear()
|
||||||
|
print("")
|
||||||
|
print("---------------------------------------------------------------------------")
|
||||||
|
print(" T-Deck RNode Installer")
|
||||||
|
print("")
|
||||||
|
print("The RNode firmware can currently be installed on T-Deck devices using the")
|
||||||
|
print("SX1262 and SX1268 transceiver chips.")
|
||||||
|
print("")
|
||||||
|
print("Important! Using RNode firmware on T-Beam devices should currently be")
|
||||||
|
print("considered experimental. It is not intended for production or critical use.")
|
||||||
|
print("The currently supplied firmware is provided AS-IS as a courtesey to those")
|
||||||
|
print("who would like to experiment with it. Hit enter to continue.")
|
||||||
|
print("---------------------------------------------------------------------------")
|
||||||
|
input()
|
||||||
elif c_dev == 4:
|
elif c_dev == 4:
|
||||||
selected_product = ROM.PRODUCT_T32_20
|
selected_product = ROM.PRODUCT_T32_20
|
||||||
clear()
|
clear()
|
||||||
@ -1766,8 +1812,6 @@ def main():
|
|||||||
print("Important! Using RNode firmware on T3S3 devices should currently be")
|
print("Important! Using RNode firmware on T3S3 devices should currently be")
|
||||||
print("considered experimental. It is not intended for production or critical use.")
|
print("considered experimental. It is not intended for production or critical use.")
|
||||||
print("")
|
print("")
|
||||||
print("Please note that Bluetooth is currently not implemented on this board.")
|
|
||||||
print("")
|
|
||||||
print("The currently supplied firmware is provided AS-IS as a courtesey to those")
|
print("The currently supplied firmware is provided AS-IS as a courtesey to those")
|
||||||
print("who would like to experiment with it. Hit enter to continue.")
|
print("who would like to experiment with it. Hit enter to continue.")
|
||||||
print("---------------------------------------------------------------------------")
|
print("---------------------------------------------------------------------------")
|
||||||
@ -1782,8 +1826,6 @@ def main():
|
|||||||
print("Important! Using RNode firmware on Heltec devices should currently be")
|
print("Important! Using RNode firmware on Heltec devices should currently be")
|
||||||
print("considered experimental. It is not intended for production or critical use.")
|
print("considered experimental. It is not intended for production or critical use.")
|
||||||
print("")
|
print("")
|
||||||
print("Please note that Bluetooth is currently not implemented on this board.")
|
|
||||||
print("")
|
|
||||||
print("The currently supplied firmware is provided AS-IS as a courtesey to those")
|
print("The currently supplied firmware is provided AS-IS as a courtesey to those")
|
||||||
print("who would like to experiment with it. Hit enter to continue.")
|
print("who would like to experiment with it. Hit enter to continue.")
|
||||||
print("---------------------------------------------------------------------------")
|
print("---------------------------------------------------------------------------")
|
||||||
@ -1916,19 +1958,30 @@ def main():
|
|||||||
print("That model does not exist, exiting now.")
|
print("That model does not exist, exiting now.")
|
||||||
graceful_exit()
|
graceful_exit()
|
||||||
else:
|
else:
|
||||||
print("\nWhat model is this T3S3?\n")
|
print("\nWhat band is this T3S3 for?\n")
|
||||||
print("[1] 410 - 525 MHz (with SX1268 chip)")
|
print("[1] 433 MHz (with SX1278 chip)")
|
||||||
print("[2] 820 - 1020 MHz (with SX1262 chip)")
|
print("[2] 868/915/923 MHz (with SX1276 chip)")
|
||||||
|
print("");
|
||||||
|
print("[3] 433 MHz (with SX1268 chip)")
|
||||||
|
print("[4] 868/915/923 MHz (with SX1262 chip)")
|
||||||
print("\n? ", end="")
|
print("\n? ", end="")
|
||||||
try:
|
try:
|
||||||
c_model = int(input())
|
c_model = int(input())
|
||||||
if c_model < 1 or c_model > 2:
|
if c_model < 1 or c_model > 4:
|
||||||
raise ValueError()
|
raise ValueError()
|
||||||
elif c_model == 1:
|
elif c_model == 1:
|
||||||
selected_model = ROM.MODEL_A1
|
selected_model = ROM.MODEL_A5
|
||||||
selected_mcu = ROM.MCU_ESP32
|
selected_mcu = ROM.MCU_ESP32
|
||||||
selected_platform = ROM.PLATFORM_ESP32
|
selected_platform = ROM.PLATFORM_ESP32
|
||||||
elif c_model == 2:
|
elif c_model == 2:
|
||||||
|
selected_model = ROM.MODEL_AA
|
||||||
|
selected_mcu = ROM.MCU_ESP32
|
||||||
|
selected_platform = ROM.PLATFORM_ESP32
|
||||||
|
elif c_model == 3:
|
||||||
|
selected_model = ROM.MODEL_A1
|
||||||
|
selected_mcu = ROM.MCU_ESP32
|
||||||
|
selected_platform = ROM.PLATFORM_ESP32
|
||||||
|
elif c_model == 4:
|
||||||
selected_model = ROM.MODEL_A6
|
selected_model = ROM.MODEL_A6
|
||||||
selected_mcu = ROM.MCU_ESP32
|
selected_mcu = ROM.MCU_ESP32
|
||||||
selected_platform = ROM.PLATFORM_ESP32
|
selected_platform = ROM.PLATFORM_ESP32
|
||||||
@ -1965,6 +2018,46 @@ def main():
|
|||||||
print("That band does not exist, exiting now.")
|
print("That band does not exist, exiting now.")
|
||||||
graceful_exit()
|
graceful_exit()
|
||||||
|
|
||||||
|
elif selected_product == ROM.PRODUCT_TBEAM_S_V1:
|
||||||
|
selected_mcu = ROM.MCU_ESP32
|
||||||
|
print("\nWhat band is this T-Beam Supreme for?\n")
|
||||||
|
print("[1] 433 MHz (with SX1268 chip)")
|
||||||
|
print("[2] 868/915/923 MHz (with SX1262 chip)")
|
||||||
|
print("\n? ", end="")
|
||||||
|
try:
|
||||||
|
c_model = int(input())
|
||||||
|
if c_model < 1 or c_model > 2:
|
||||||
|
raise ValueError()
|
||||||
|
elif c_model == 1:
|
||||||
|
selected_model = ROM.MODEL_DB
|
||||||
|
selected_platform = ROM.PLATFORM_ESP32
|
||||||
|
elif c_model == 2:
|
||||||
|
selected_model = ROM.MODEL_DC
|
||||||
|
selected_platform = ROM.PLATFORM_ESP32
|
||||||
|
except Exception as e:
|
||||||
|
print("That band does not exist, exiting now.")
|
||||||
|
graceful_exit()
|
||||||
|
|
||||||
|
elif selected_product == ROM.PRODUCT_TDECK:
|
||||||
|
selected_mcu = ROM.MCU_ESP32
|
||||||
|
print("\nWhat band is this T-Deck for?\n")
|
||||||
|
print("[1] 433 MHz (with SX1268 chip)")
|
||||||
|
print("[2] 868/915/923 MHz (with SX1262 chip)")
|
||||||
|
print("\n? ", end="")
|
||||||
|
try:
|
||||||
|
c_model = int(input())
|
||||||
|
if c_model < 1 or c_model > 2:
|
||||||
|
raise ValueError()
|
||||||
|
elif c_model == 1:
|
||||||
|
selected_model = ROM.MODEL_D4
|
||||||
|
selected_platform = ROM.PLATFORM_ESP32
|
||||||
|
elif c_model == 2:
|
||||||
|
selected_model = ROM.MODEL_D9
|
||||||
|
selected_platform = ROM.PLATFORM_ESP32
|
||||||
|
except Exception as e:
|
||||||
|
print("That band does not exist, exiting now.")
|
||||||
|
graceful_exit()
|
||||||
|
|
||||||
elif selected_product == ROM.PRODUCT_T32_10:
|
elif selected_product == ROM.PRODUCT_T32_10:
|
||||||
selected_mcu = ROM.MCU_ESP32
|
selected_mcu = ROM.MCU_ESP32
|
||||||
print("\nWhat band is this LoRa32 for?\n")
|
print("\nWhat band is this LoRa32 for?\n")
|
||||||
@ -2797,6 +2890,60 @@ def main():
|
|||||||
"0x210000",UPD_DIR+"/"+selected_version+"/console_image.bin",
|
"0x210000",UPD_DIR+"/"+selected_version+"/console_image.bin",
|
||||||
"0x8000", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3.partitions",
|
"0x8000", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3.partitions",
|
||||||
]
|
]
|
||||||
|
elif fw_filename == "rnode_firmware_t3s3_sx127x.zip":
|
||||||
|
return [
|
||||||
|
sys.executable, flasher,
|
||||||
|
"--chip", "esp32s3",
|
||||||
|
"--port", args.port,
|
||||||
|
"--baud", args.baud_flash,
|
||||||
|
"--before", "default_reset",
|
||||||
|
"--after", "hard_reset",
|
||||||
|
"write_flash", "-z",
|
||||||
|
"--flash_mode", "dio",
|
||||||
|
"--flash_freq", "80m",
|
||||||
|
"--flash_size", "4MB",
|
||||||
|
"0xe000", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3_sx127x.boot_app0",
|
||||||
|
"0x0", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3_sx127x.bootloader",
|
||||||
|
"0x10000", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3_sx127x.bin",
|
||||||
|
"0x210000",UPD_DIR+"/"+selected_version+"/console_image.bin",
|
||||||
|
"0x8000", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3_sx127x.partitions",
|
||||||
|
]
|
||||||
|
elif fw_filename == "rnode_firmware_tbeam_supreme.zip":
|
||||||
|
return [
|
||||||
|
sys.executable, flasher,
|
||||||
|
"--chip", "esp32s3",
|
||||||
|
"--port", args.port,
|
||||||
|
"--baud", args.baud_flash,
|
||||||
|
"--before", "default_reset",
|
||||||
|
"--after", "hard_reset",
|
||||||
|
"write_flash", "-z",
|
||||||
|
"--flash_mode", "dio",
|
||||||
|
"--flash_freq", "80m",
|
||||||
|
"--flash_size", "4MB",
|
||||||
|
"0xe000", UPD_DIR+"/"+selected_version+"/rnode_firmware_tbeam_supreme.boot_app0",
|
||||||
|
"0x0", UPD_DIR+"/"+selected_version+"/rnode_firmware_tbeam_supreme.bootloader",
|
||||||
|
"0x10000", UPD_DIR+"/"+selected_version+"/rnode_firmware_tbeam_supreme.bin",
|
||||||
|
"0x210000",UPD_DIR+"/"+selected_version+"/console_image.bin",
|
||||||
|
"0x8000", UPD_DIR+"/"+selected_version+"/rnode_firmware_tbeam_supreme.partitions",
|
||||||
|
]
|
||||||
|
elif fw_filename == "rnode_firmware_tdeck.zip":
|
||||||
|
return [
|
||||||
|
sys.executable, flasher,
|
||||||
|
"--chip", "esp32s3",
|
||||||
|
"--port", args.port,
|
||||||
|
"--baud", args.baud_flash,
|
||||||
|
"--before", "default_reset",
|
||||||
|
"--after", "hard_reset",
|
||||||
|
"write_flash", "-z",
|
||||||
|
"--flash_mode", "dio",
|
||||||
|
"--flash_freq", "80m",
|
||||||
|
"--flash_size", "4MB",
|
||||||
|
"0xe000", UPD_DIR+"/"+selected_version+"/rnode_firmware_tdeck.boot_app0",
|
||||||
|
"0x0", UPD_DIR+"/"+selected_version+"/rnode_firmware_tdeck.bootloader",
|
||||||
|
"0x10000", UPD_DIR+"/"+selected_version+"/rnode_firmware_tdeck.bin",
|
||||||
|
"0x210000",UPD_DIR+"/"+selected_version+"/console_image.bin",
|
||||||
|
"0x8000", UPD_DIR+"/"+selected_version+"/rnode_firmware_tdeck.partitions",
|
||||||
|
]
|
||||||
elif fw_filename == "extracted_rnode_firmware.zip":
|
elif fw_filename == "extracted_rnode_firmware.zip":
|
||||||
return [
|
return [
|
||||||
sys.executable, flasher,
|
sys.executable, flasher,
|
||||||
|
@ -1 +1 @@
|
|||||||
__version__ = "0.8.1"
|
__version__ = "0.8.2"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Sphinx build info version 1
|
# Sphinx build info version 1
|
||||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||||
config: 1447e58e81cf4037238271210a352494
|
config: bd0a676b0f490cda5d841ab7cd7cade1
|
||||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||||
|
Before Width: | Height: | Size: 191 KiB After Width: | Height: | Size: 191 KiB |
BIN
docs/manual/_images/board_heltec32v30.png
Normal file
After Width: | Height: | Size: 255 KiB |
BIN
docs/manual/_images/board_rak4631.webp
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
docs/manual/_images/board_rnodev2.webp
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
docs/manual/_images/board_t3s3.webp
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
docs/manual/_images/board_t3v10.png
Normal file
After Width: | Height: | Size: 252 KiB |
BIN
docs/manual/_images/board_tbeam_supreme.webp
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
docs/manual/_images/board_tdeck.webp
Normal file
After Width: | Height: | Size: 33 KiB |
@ -90,77 +90,151 @@ Supported Boards
|
|||||||
To create one or more RNodes, you will need to obtain supported development
|
To create one or more RNodes, you will need to obtain supported development
|
||||||
boards. The following boards are supported by the auto-installer.
|
boards. The following boards are supported by the auto-installer.
|
||||||
|
|
||||||
LilyGO LoRa32 v2.1
|
------------
|
||||||
""""""""""""""""""
|
|
||||||
.. image:: graphics/board_t3v21.png
|
.. image:: graphics/board_tbeam_supreme.webp
|
||||||
:width: 46%
|
:width: 75%
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
- **Supported Firmware Lines** v1.x & v2.x
|
LilyGO T-Beam Supreme
|
||||||
- **Transceiver IC** Semtech SX1276
|
|
||||||
- **Device Platform** ESP32
|
|
||||||
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
|
||||||
|
|
||||||
|
|
||||||
LilyGO LoRa32 v2.0
|
|
||||||
""""""""""""""""""
|
|
||||||
.. image:: graphics/board_t3v20.png
|
|
||||||
:width: 46%
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
- **Supported Firmware Lines** v1.x & v2.x
|
|
||||||
- **Transceiver IC** Semtech SX1276
|
|
||||||
- **Device Platform** ESP32
|
|
||||||
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
|
||||||
|
|
||||||
|
|
||||||
LilyGO T-Beam
|
|
||||||
"""""""""""""
|
"""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1262, SX1268
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
.. image:: graphics/board_tbeam.png
|
.. image:: graphics/board_tbeam.png
|
||||||
:width: 75%
|
:width: 75%
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
- **Supported Firmware Lines** v1.x & v2.x
|
LilyGO T-Beam
|
||||||
- **Transceiver IC** Semtech SX1276
|
"""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1262, SX1268, SX1276 and SX1278
|
||||||
- **Device Platform** ESP32
|
- **Device Platform** ESP32
|
||||||
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
Heltec LoRa32 v2.0
|
.. image:: graphics/board_t3s3.webp
|
||||||
""""""""""""""""""
|
:width: 50%
|
||||||
.. image:: graphics/board_heltec32.png
|
|
||||||
:width: 58%
|
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
- **Supported Firmware Lines** v1.x & v2.x
|
LilyGO T3S3
|
||||||
- **Transceiver IC** Semtech SX1276
|
"""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1262, SX1268, SX1276 and SX1278
|
||||||
- **Device Platform** ESP32
|
- **Device Platform** ESP32
|
||||||
- **Manufacturer** `Heltec Automation <https://heltec.org>`_
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_rak4631.webp
|
||||||
|
:width: 45%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
RAK4631-based Boards
|
||||||
|
""""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1262, SX1268
|
||||||
|
- **Device Platform** nRF52
|
||||||
|
- **Manufacturer** `RAK Wireless <https://www.rakwireless.com>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_rnodev2.webp
|
||||||
|
:width: 68%
|
||||||
|
:align: center
|
||||||
|
|
||||||
Unsigned RNode v2.x
|
Unsigned RNode v2.x
|
||||||
"""""""""""""""""""
|
"""""""""""""""""""
|
||||||
.. image:: graphics/board_rnodev2.png
|
- **Transceiver IC** Semtech SX1276 and SX1278
|
||||||
:width: 58%
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
- **Supported Firmware Lines** v1.x & v2.x
|
|
||||||
- **Transceiver IC** Semtech SX1276
|
|
||||||
- **Device Platform** ESP32
|
- **Device Platform** ESP32
|
||||||
- **Manufacturer** `unsigned.io <https://unsigned.io>`_
|
- **Manufacturer** `unsigned.io <https://unsigned.io>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_t3v21.png
|
||||||
|
:width: 46%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
LilyGO LoRa32 v2.1
|
||||||
|
""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1276 and SX1278
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_t3v20.png
|
||||||
|
:width: 46%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
LilyGO LoRa32 v2.0
|
||||||
|
""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1276 and SX1278
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_t3v10.png
|
||||||
|
:width: 46%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
LilyGO LoRa32 v1.0
|
||||||
|
""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1276 and SX1278
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_tdeck.webp
|
||||||
|
:width: 45%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
LilyGO T-Deck
|
||||||
|
"""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1262, SX1268
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_heltec32v30.png
|
||||||
|
:width: 58%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Heltec LoRa32 v3.0
|
||||||
|
""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1262 and SX1268
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `Heltec Automation <https://heltec.org>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_heltec32v20.png
|
||||||
|
:width: 58%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Heltec LoRa32 v2.0
|
||||||
|
""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1276 and SX1278
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `Heltec Automation <https://heltec.org>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
Unsigned RNode v1.x
|
|
||||||
"""""""""""""""""""
|
|
||||||
.. image:: graphics/board_rnode.png
|
.. image:: graphics/board_rnode.png
|
||||||
:width: 50%
|
:width: 50%
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
- **Supported Firmware Lines** v1.x
|
Unsigned RNode v1.x
|
||||||
- **Transceiver IC** Semtech SX1276
|
"""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1276 and SX1278
|
||||||
- **Device Platform** AVR ATmega1284p
|
- **Device Platform** AVR ATmega1284p
|
||||||
- **Manufacturer** `unsigned.io <https://unsigned.io>`_
|
- **Manufacturer** `unsigned.io <https://unsigned.io>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
.. _rnode-installation:
|
.. _rnode-installation:
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
var DOCUMENTATION_OPTIONS = {
|
var DOCUMENTATION_OPTIONS = {
|
||||||
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
||||||
VERSION: '0.8.1 beta',
|
VERSION: '0.8.2 beta',
|
||||||
LANGUAGE: 'en',
|
LANGUAGE: 'en',
|
||||||
COLLAPSE_INDEX: false,
|
COLLAPSE_INDEX: false,
|
||||||
BUILDER: 'html',
|
BUILDER: 'html',
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Support Reticulum" href="support.html" /><link rel="prev" title="Building Networks" href="networks.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Support Reticulum" href="support.html" /><link rel="prev" title="Building Networks" href="networks.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
||||||
<title>Code Examples - Reticulum Network Stack 0.8.1 beta documentation</title>
|
<title>Code Examples - Reticulum Network Stack 0.8.2 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
||||||
<title>An Explanation of Reticulum for Human Beings - Reticulum Network Stack 0.8.1 beta documentation</title>
|
<title>An Explanation of Reticulum for Human Beings - Reticulum Network Stack 0.8.2 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="#" /><link rel="search" title="Search" href="search.html" />
|
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="#" /><link rel="search" title="Search" href="search.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/><title>Index - Reticulum Network Stack 0.8.1 beta documentation</title>
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/><title>Index - Reticulum Network Stack 0.8.2 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
@ -139,7 +139,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -165,7 +165,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Using Reticulum on Your System" href="using.html" /><link rel="prev" title="What is Reticulum?" href="whatis.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Using Reticulum on Your System" href="using.html" /><link rel="prev" title="What is Reticulum?" href="whatis.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
||||||
<title>Getting Started Fast - Reticulum Network Stack 0.8.1 beta documentation</title>
|
<title>Getting Started Fast - Reticulum Network Stack 0.8.2 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Configuring Interfaces" href="interfaces.html" /><link rel="prev" title="Understanding Reticulum" href="understanding.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Configuring Interfaces" href="interfaces.html" /><link rel="prev" title="Understanding Reticulum" href="understanding.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
||||||
<title>Communications Hardware - Reticulum Network Stack 0.8.1 beta documentation</title>
|
<title>Communications Hardware - Reticulum Network Stack 0.8.2 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -291,65 +291,126 @@ to the configuration.</p>
|
|||||||
<span id="rnode-supported"></span><h3>Supported Boards<a class="headerlink" href="#supported-boards" title="Permalink to this heading">#</a></h3>
|
<span id="rnode-supported"></span><h3>Supported Boards<a class="headerlink" href="#supported-boards" title="Permalink to this heading">#</a></h3>
|
||||||
<p>To create one or more RNodes, you will need to obtain supported development
|
<p>To create one or more RNodes, you will need to obtain supported development
|
||||||
boards. The following boards are supported by the auto-installer.</p>
|
boards. The following boards are supported by the auto-installer.</p>
|
||||||
<section id="lilygo-lora32-v2-1">
|
<hr class="docutils" />
|
||||||
<h4>LilyGO LoRa32 v2.1<a class="headerlink" href="#lilygo-lora32-v2-1" title="Permalink to this heading">#</a></h4>
|
<a class="reference internal image-reference" href="_images/board_tbeam_supreme.webp"><img alt="_images/board_tbeam_supreme.webp" class="align-center" src="_images/board_tbeam_supreme.webp" style="width: 75%;" /></a>
|
||||||
<a class="reference internal image-reference" href="_images/board_t3v21.png"><img alt="_images/board_t3v21.png" class="align-center" src="_images/board_t3v21.png" style="width: 46%;" /></a>
|
<section id="lilygo-t-beam-supreme">
|
||||||
|
<h4>LilyGO T-Beam Supreme<a class="headerlink" href="#lilygo-t-beam-supreme" title="Permalink to this heading">#</a></h4>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
<li><p><strong>Transceiver IC</strong> Semtech SX1262, SX1268</p></li>
|
||||||
<li><p><strong>Transceiver IC</strong> Semtech SX1276</p></li>
|
|
||||||
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
|
||||||
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
<section id="lilygo-lora32-v2-0">
|
|
||||||
<h4>LilyGO LoRa32 v2.0<a class="headerlink" href="#lilygo-lora32-v2-0" title="Permalink to this heading">#</a></h4>
|
|
||||||
<a class="reference internal image-reference" href="_images/board_t3v20.png"><img alt="_images/board_t3v20.png" class="align-center" src="_images/board_t3v20.png" style="width: 46%;" /></a>
|
|
||||||
<ul class="simple">
|
|
||||||
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
|
||||||
<li><p><strong>Transceiver IC</strong> Semtech SX1276</p></li>
|
|
||||||
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
||||||
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li>
|
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<a class="reference internal image-reference" href="_images/board_tbeam.png"><img alt="_images/board_tbeam.png" class="align-center" src="_images/board_tbeam.png" style="width: 75%;" /></a>
|
||||||
</section>
|
</section>
|
||||||
<section id="lilygo-t-beam">
|
<section id="lilygo-t-beam">
|
||||||
<h4>LilyGO T-Beam<a class="headerlink" href="#lilygo-t-beam" title="Permalink to this heading">#</a></h4>
|
<h4>LilyGO T-Beam<a class="headerlink" href="#lilygo-t-beam" title="Permalink to this heading">#</a></h4>
|
||||||
<a class="reference internal image-reference" href="_images/board_tbeam.png"><img alt="_images/board_tbeam.png" class="align-center" src="_images/board_tbeam.png" style="width: 75%;" /></a>
|
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
<li><p><strong>Transceiver IC</strong> Semtech SX1262, SX1268, SX1276 and SX1278</p></li>
|
||||||
<li><p><strong>Transceiver IC</strong> Semtech SX1276</p></li>
|
|
||||||
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
||||||
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li>
|
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<a class="reference internal image-reference" href="_images/board_t3s3.webp"><img alt="_images/board_t3s3.webp" class="align-center" src="_images/board_t3s3.webp" style="width: 50%;" /></a>
|
||||||
</section>
|
</section>
|
||||||
<section id="heltec-lora32-v2-0">
|
<section id="lilygo-t3s3">
|
||||||
<h4>Heltec LoRa32 v2.0<a class="headerlink" href="#heltec-lora32-v2-0" title="Permalink to this heading">#</a></h4>
|
<h4>LilyGO T3S3<a class="headerlink" href="#lilygo-t3s3" title="Permalink to this heading">#</a></h4>
|
||||||
<a class="reference internal image-reference" href="_images/board_heltec32.png"><img alt="_images/board_heltec32.png" class="align-center" src="_images/board_heltec32.png" style="width: 58%;" /></a>
|
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
<li><p><strong>Transceiver IC</strong> Semtech SX1262, SX1268, SX1276 and SX1278</p></li>
|
||||||
<li><p><strong>Transceiver IC</strong> Semtech SX1276</p></li>
|
|
||||||
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
||||||
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://heltec.org">Heltec Automation</a></p></li>
|
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<a class="reference internal image-reference" href="_images/board_rak4631.webp"><img alt="_images/board_rak4631.webp" class="align-center" src="_images/board_rak4631.webp" style="width: 45%;" /></a>
|
||||||
|
</section>
|
||||||
|
<section id="rak4631-based-boards">
|
||||||
|
<h4>RAK4631-based Boards<a class="headerlink" href="#rak4631-based-boards" title="Permalink to this heading">#</a></h4>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><p><strong>Transceiver IC</strong> Semtech SX1262, SX1268</p></li>
|
||||||
|
<li><p><strong>Device Platform</strong> nRF52</p></li>
|
||||||
|
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://www.rakwireless.com">RAK Wireless</a></p></li>
|
||||||
|
</ul>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<a class="reference internal image-reference" href="_images/board_rnodev2.webp"><img alt="_images/board_rnodev2.webp" class="align-center" src="_images/board_rnodev2.webp" style="width: 68%;" /></a>
|
||||||
</section>
|
</section>
|
||||||
<section id="unsigned-rnode-v2-x">
|
<section id="unsigned-rnode-v2-x">
|
||||||
<h4>Unsigned RNode v2.x<a class="headerlink" href="#unsigned-rnode-v2-x" title="Permalink to this heading">#</a></h4>
|
<h4>Unsigned RNode v2.x<a class="headerlink" href="#unsigned-rnode-v2-x" title="Permalink to this heading">#</a></h4>
|
||||||
<a class="reference internal image-reference" href="_images/board_rnodev2.png"><img alt="_images/board_rnodev2.png" class="align-center" src="_images/board_rnodev2.png" style="width: 58%;" /></a>
|
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
<li><p><strong>Transceiver IC</strong> Semtech SX1276 and SX1278</p></li>
|
||||||
<li><p><strong>Transceiver IC</strong> Semtech SX1276</p></li>
|
|
||||||
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
||||||
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://unsigned.io">unsigned.io</a></p></li>
|
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://unsigned.io">unsigned.io</a></p></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<a class="reference internal image-reference" href="_images/board_t3v21.png"><img alt="_images/board_t3v21.png" class="align-center" src="_images/board_t3v21.png" style="width: 46%;" /></a>
|
||||||
|
</section>
|
||||||
|
<section id="lilygo-lora32-v2-1">
|
||||||
|
<h4>LilyGO LoRa32 v2.1<a class="headerlink" href="#lilygo-lora32-v2-1" title="Permalink to this heading">#</a></h4>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><p><strong>Transceiver IC</strong> Semtech SX1276 and SX1278</p></li>
|
||||||
|
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
||||||
|
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li>
|
||||||
|
</ul>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<a class="reference internal image-reference" href="_images/board_t3v20.png"><img alt="_images/board_t3v20.png" class="align-center" src="_images/board_t3v20.png" style="width: 46%;" /></a>
|
||||||
|
</section>
|
||||||
|
<section id="lilygo-lora32-v2-0">
|
||||||
|
<h4>LilyGO LoRa32 v2.0<a class="headerlink" href="#lilygo-lora32-v2-0" title="Permalink to this heading">#</a></h4>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><p><strong>Transceiver IC</strong> Semtech SX1276 and SX1278</p></li>
|
||||||
|
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
||||||
|
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li>
|
||||||
|
</ul>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<a class="reference internal image-reference" href="_images/board_t3v10.png"><img alt="_images/board_t3v10.png" class="align-center" src="_images/board_t3v10.png" style="width: 46%;" /></a>
|
||||||
|
</section>
|
||||||
|
<section id="lilygo-lora32-v1-0">
|
||||||
|
<h4>LilyGO LoRa32 v1.0<a class="headerlink" href="#lilygo-lora32-v1-0" title="Permalink to this heading">#</a></h4>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><p><strong>Transceiver IC</strong> Semtech SX1276 and SX1278</p></li>
|
||||||
|
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
||||||
|
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li>
|
||||||
|
</ul>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<a class="reference internal image-reference" href="_images/board_tdeck.webp"><img alt="_images/board_tdeck.webp" class="align-center" src="_images/board_tdeck.webp" style="width: 45%;" /></a>
|
||||||
|
</section>
|
||||||
|
<section id="lilygo-t-deck">
|
||||||
|
<h4>LilyGO T-Deck<a class="headerlink" href="#lilygo-t-deck" title="Permalink to this heading">#</a></h4>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><p><strong>Transceiver IC</strong> Semtech SX1262, SX1268</p></li>
|
||||||
|
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
||||||
|
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://lilygo.cn">LilyGO</a></p></li>
|
||||||
|
</ul>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<a class="reference internal image-reference" href="_images/board_heltec32v30.png"><img alt="_images/board_heltec32v30.png" class="align-center" src="_images/board_heltec32v30.png" style="width: 58%;" /></a>
|
||||||
|
</section>
|
||||||
|
<section id="heltec-lora32-v3-0">
|
||||||
|
<h4>Heltec LoRa32 v3.0<a class="headerlink" href="#heltec-lora32-v3-0" title="Permalink to this heading">#</a></h4>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><p><strong>Transceiver IC</strong> Semtech SX1262 and SX1268</p></li>
|
||||||
|
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
||||||
|
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://heltec.org">Heltec Automation</a></p></li>
|
||||||
|
</ul>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<a class="reference internal image-reference" href="_images/board_heltec32v20.png"><img alt="_images/board_heltec32v20.png" class="align-center" src="_images/board_heltec32v20.png" style="width: 58%;" /></a>
|
||||||
|
</section>
|
||||||
|
<section id="heltec-lora32-v2-0">
|
||||||
|
<h4>Heltec LoRa32 v2.0<a class="headerlink" href="#heltec-lora32-v2-0" title="Permalink to this heading">#</a></h4>
|
||||||
|
<ul class="simple">
|
||||||
|
<li><p><strong>Transceiver IC</strong> Semtech SX1276 and SX1278</p></li>
|
||||||
|
<li><p><strong>Device Platform</strong> ESP32</p></li>
|
||||||
|
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://heltec.org">Heltec Automation</a></p></li>
|
||||||
|
</ul>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<a class="reference internal image-reference" href="_images/board_rnode.png"><img alt="_images/board_rnode.png" class="align-center" src="_images/board_rnode.png" style="width: 50%;" /></a>
|
||||||
</section>
|
</section>
|
||||||
<section id="unsigned-rnode-v1-x">
|
<section id="unsigned-rnode-v1-x">
|
||||||
<h4>Unsigned RNode v1.x<a class="headerlink" href="#unsigned-rnode-v1-x" title="Permalink to this heading">#</a></h4>
|
<h4>Unsigned RNode v1.x<a class="headerlink" href="#unsigned-rnode-v1-x" title="Permalink to this heading">#</a></h4>
|
||||||
<a class="reference internal image-reference" href="_images/board_rnode.png"><img alt="_images/board_rnode.png" class="align-center" src="_images/board_rnode.png" style="width: 50%;" /></a>
|
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><strong>Supported Firmware Lines</strong> v1.x</p></li>
|
<li><p><strong>Transceiver IC</strong> Semtech SX1276 and SX1278</p></li>
|
||||||
<li><p><strong>Transceiver IC</strong> Semtech SX1276</p></li>
|
|
||||||
<li><p><strong>Device Platform</strong> AVR ATmega1284p</p></li>
|
<li><p><strong>Device Platform</strong> AVR ATmega1284p</p></li>
|
||||||
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://unsigned.io">unsigned.io</a></p></li>
|
<li><p><strong>Manufacturer</strong> <a class="reference external" href="https://unsigned.io">unsigned.io</a></p></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<hr class="docutils" />
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="installation">
|
<section id="installation">
|
||||||
@ -492,11 +553,17 @@ can be used with Reticulum. This includes virtual software modems such as
|
|||||||
<li><a class="reference internal" href="#rnode">RNode</a><ul>
|
<li><a class="reference internal" href="#rnode">RNode</a><ul>
|
||||||
<li><a class="reference internal" href="#creating-rnodes">Creating RNodes</a></li>
|
<li><a class="reference internal" href="#creating-rnodes">Creating RNodes</a></li>
|
||||||
<li><a class="reference internal" href="#supported-boards">Supported Boards</a><ul>
|
<li><a class="reference internal" href="#supported-boards">Supported Boards</a><ul>
|
||||||
|
<li><a class="reference internal" href="#lilygo-t-beam-supreme">LilyGO T-Beam Supreme</a></li>
|
||||||
|
<li><a class="reference internal" href="#lilygo-t-beam">LilyGO T-Beam</a></li>
|
||||||
|
<li><a class="reference internal" href="#lilygo-t3s3">LilyGO T3S3</a></li>
|
||||||
|
<li><a class="reference internal" href="#rak4631-based-boards">RAK4631-based Boards</a></li>
|
||||||
|
<li><a class="reference internal" href="#unsigned-rnode-v2-x">Unsigned RNode v2.x</a></li>
|
||||||
<li><a class="reference internal" href="#lilygo-lora32-v2-1">LilyGO LoRa32 v2.1</a></li>
|
<li><a class="reference internal" href="#lilygo-lora32-v2-1">LilyGO LoRa32 v2.1</a></li>
|
||||||
<li><a class="reference internal" href="#lilygo-lora32-v2-0">LilyGO LoRa32 v2.0</a></li>
|
<li><a class="reference internal" href="#lilygo-lora32-v2-0">LilyGO LoRa32 v2.0</a></li>
|
||||||
<li><a class="reference internal" href="#lilygo-t-beam">LilyGO T-Beam</a></li>
|
<li><a class="reference internal" href="#lilygo-lora32-v1-0">LilyGO LoRa32 v1.0</a></li>
|
||||||
|
<li><a class="reference internal" href="#lilygo-t-deck">LilyGO T-Deck</a></li>
|
||||||
|
<li><a class="reference internal" href="#heltec-lora32-v3-0">Heltec LoRa32 v3.0</a></li>
|
||||||
<li><a class="reference internal" href="#heltec-lora32-v2-0">Heltec LoRa32 v2.0</a></li>
|
<li><a class="reference internal" href="#heltec-lora32-v2-0">Heltec LoRa32 v2.0</a></li>
|
||||||
<li><a class="reference internal" href="#unsigned-rnode-v2-x">Unsigned RNode v2.x</a></li>
|
|
||||||
<li><a class="reference internal" href="#unsigned-rnode-v1-x">Unsigned RNode v1.x</a></li>
|
<li><a class="reference internal" href="#unsigned-rnode-v1-x">Unsigned RNode v1.x</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="What is Reticulum?" href="whatis.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="What is Reticulum?" href="whatis.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
||||||
<title>Reticulum Network Stack 0.8.1 beta documentation</title>
|
<title>Reticulum Network Stack 0.8.2 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="#"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="#"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Building Networks" href="networks.html" /><link rel="prev" title="Communications Hardware" href="hardware.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Building Networks" href="networks.html" /><link rel="prev" title="Communications Hardware" href="hardware.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
||||||
<title>Configuring Interfaces - Reticulum Network Stack 0.8.1 beta documentation</title>
|
<title>Configuring Interfaces - Reticulum Network Stack 0.8.2 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Code Examples" href="examples.html" /><link rel="prev" title="Configuring Interfaces" href="interfaces.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Code Examples" href="examples.html" /><link rel="prev" title="Configuring Interfaces" href="interfaces.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
||||||
<title>Building Networks - Reticulum Network Stack 0.8.1 beta documentation</title>
|
<title>Building Networks - Reticulum Network Stack 0.8.2 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="prev" title="Support Reticulum" href="support.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="prev" title="Support Reticulum" href="support.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
||||||
<title>API Reference - Reticulum Network Stack 0.8.1 beta documentation</title>
|
<title>API Reference - Reticulum Network Stack 0.8.2 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="#" />
|
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="#" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/><title>Search - Reticulum Network Stack 0.8.1 beta documentation</title><link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/><title>Search - Reticulum Network Stack 0.8.2 beta documentation</title><link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
||||||
@ -138,7 +138,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -164,7 +164,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="#" role="search">
|
</a><form class="sidebar-search-container" method="get" action="#" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="API Reference" href="reference.html" /><link rel="prev" title="Code Examples" href="examples.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="API Reference" href="reference.html" /><link rel="prev" title="Code Examples" href="examples.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
||||||
<title>Support Reticulum - Reticulum Network Stack 0.8.1 beta documentation</title>
|
<title>Support Reticulum - Reticulum Network Stack 0.8.2 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Communications Hardware" href="hardware.html" /><link rel="prev" title="Using Reticulum on Your System" href="using.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Communications Hardware" href="hardware.html" /><link rel="prev" title="Using Reticulum on Your System" href="using.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
||||||
<title>Understanding Reticulum - Reticulum Network Stack 0.8.1 beta documentation</title>
|
<title>Understanding Reticulum - Reticulum Network Stack 0.8.2 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Understanding Reticulum" href="understanding.html" /><link rel="prev" title="Getting Started Fast" href="gettingstartedfast.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Understanding Reticulum" href="understanding.html" /><link rel="prev" title="Getting Started Fast" href="gettingstartedfast.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
||||||
<title>Using Reticulum on Your System - Reticulum Network Stack 0.8.1 beta documentation</title>
|
<title>Using Reticulum on Your System - Reticulum Network Stack 0.8.2 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Getting Started Fast" href="gettingstartedfast.html" /><link rel="prev" title="Reticulum Network Stack Manual" href="index.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Getting Started Fast" href="gettingstartedfast.html" /><link rel="prev" title="Reticulum Network Stack Manual" href="index.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-5.3.0, furo 2022.09.29.dev1"/>
|
||||||
<title>What is Reticulum? - Reticulum Network Stack 0.8.1 beta documentation</title>
|
<title>What is Reticulum? - Reticulum Network Stack 0.8.2 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.1 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.8.2 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.1 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.8.2 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
|
BIN
docs/source/graphics/board_heltec32v20.png
Normal file
After Width: | Height: | Size: 191 KiB |
BIN
docs/source/graphics/board_heltec32v30.png
Normal file
After Width: | Height: | Size: 255 KiB |
BIN
docs/source/graphics/board_rak4631.webp
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
docs/source/graphics/board_rnodev2.webp
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
docs/source/graphics/board_t3s3.webp
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
docs/source/graphics/board_t3v10.png
Normal file
After Width: | Height: | Size: 252 KiB |
BIN
docs/source/graphics/board_tbeam_supreme.webp
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
docs/source/graphics/board_tdeck.webp
Normal file
After Width: | Height: | Size: 33 KiB |
@ -90,77 +90,151 @@ Supported Boards
|
|||||||
To create one or more RNodes, you will need to obtain supported development
|
To create one or more RNodes, you will need to obtain supported development
|
||||||
boards. The following boards are supported by the auto-installer.
|
boards. The following boards are supported by the auto-installer.
|
||||||
|
|
||||||
LilyGO LoRa32 v2.1
|
------------
|
||||||
""""""""""""""""""
|
|
||||||
.. image:: graphics/board_t3v21.png
|
.. image:: graphics/board_tbeam_supreme.webp
|
||||||
:width: 46%
|
:width: 75%
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
- **Supported Firmware Lines** v1.x & v2.x
|
LilyGO T-Beam Supreme
|
||||||
- **Transceiver IC** Semtech SX1276
|
|
||||||
- **Device Platform** ESP32
|
|
||||||
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
|
||||||
|
|
||||||
|
|
||||||
LilyGO LoRa32 v2.0
|
|
||||||
""""""""""""""""""
|
|
||||||
.. image:: graphics/board_t3v20.png
|
|
||||||
:width: 46%
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
- **Supported Firmware Lines** v1.x & v2.x
|
|
||||||
- **Transceiver IC** Semtech SX1276
|
|
||||||
- **Device Platform** ESP32
|
|
||||||
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
|
||||||
|
|
||||||
|
|
||||||
LilyGO T-Beam
|
|
||||||
"""""""""""""
|
"""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1262, SX1268
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
.. image:: graphics/board_tbeam.png
|
.. image:: graphics/board_tbeam.png
|
||||||
:width: 75%
|
:width: 75%
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
- **Supported Firmware Lines** v1.x & v2.x
|
LilyGO T-Beam
|
||||||
- **Transceiver IC** Semtech SX1276
|
"""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1262, SX1268, SX1276 and SX1278
|
||||||
- **Device Platform** ESP32
|
- **Device Platform** ESP32
|
||||||
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
Heltec LoRa32 v2.0
|
.. image:: graphics/board_t3s3.webp
|
||||||
""""""""""""""""""
|
:width: 50%
|
||||||
.. image:: graphics/board_heltec32.png
|
|
||||||
:width: 58%
|
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
- **Supported Firmware Lines** v1.x & v2.x
|
LilyGO T3S3
|
||||||
- **Transceiver IC** Semtech SX1276
|
"""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1262, SX1268, SX1276 and SX1278
|
||||||
- **Device Platform** ESP32
|
- **Device Platform** ESP32
|
||||||
- **Manufacturer** `Heltec Automation <https://heltec.org>`_
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_rak4631.webp
|
||||||
|
:width: 45%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
RAK4631-based Boards
|
||||||
|
""""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1262, SX1268
|
||||||
|
- **Device Platform** nRF52
|
||||||
|
- **Manufacturer** `RAK Wireless <https://www.rakwireless.com>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_rnodev2.webp
|
||||||
|
:width: 68%
|
||||||
|
:align: center
|
||||||
|
|
||||||
Unsigned RNode v2.x
|
Unsigned RNode v2.x
|
||||||
"""""""""""""""""""
|
"""""""""""""""""""
|
||||||
.. image:: graphics/board_rnodev2.png
|
- **Transceiver IC** Semtech SX1276 and SX1278
|
||||||
:width: 58%
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
- **Supported Firmware Lines** v1.x & v2.x
|
|
||||||
- **Transceiver IC** Semtech SX1276
|
|
||||||
- **Device Platform** ESP32
|
- **Device Platform** ESP32
|
||||||
- **Manufacturer** `unsigned.io <https://unsigned.io>`_
|
- **Manufacturer** `unsigned.io <https://unsigned.io>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_t3v21.png
|
||||||
|
:width: 46%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
LilyGO LoRa32 v2.1
|
||||||
|
""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1276 and SX1278
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_t3v20.png
|
||||||
|
:width: 46%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
LilyGO LoRa32 v2.0
|
||||||
|
""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1276 and SX1278
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_t3v10.png
|
||||||
|
:width: 46%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
LilyGO LoRa32 v1.0
|
||||||
|
""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1276 and SX1278
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_tdeck.webp
|
||||||
|
:width: 45%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
LilyGO T-Deck
|
||||||
|
"""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1262, SX1268
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `LilyGO <https://lilygo.cn>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_heltec32v30.png
|
||||||
|
:width: 58%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Heltec LoRa32 v3.0
|
||||||
|
""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1262 and SX1268
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `Heltec Automation <https://heltec.org>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. image:: graphics/board_heltec32v20.png
|
||||||
|
:width: 58%
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Heltec LoRa32 v2.0
|
||||||
|
""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1276 and SX1278
|
||||||
|
- **Device Platform** ESP32
|
||||||
|
- **Manufacturer** `Heltec Automation <https://heltec.org>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
Unsigned RNode v1.x
|
|
||||||
"""""""""""""""""""
|
|
||||||
.. image:: graphics/board_rnode.png
|
.. image:: graphics/board_rnode.png
|
||||||
:width: 50%
|
:width: 50%
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
- **Supported Firmware Lines** v1.x
|
Unsigned RNode v1.x
|
||||||
- **Transceiver IC** Semtech SX1276
|
"""""""""""""""""""
|
||||||
|
- **Transceiver IC** Semtech SX1276 and SX1278
|
||||||
- **Device Platform** AVR ATmega1284p
|
- **Device Platform** AVR ATmega1284p
|
||||||
- **Manufacturer** `unsigned.io <https://unsigned.io>`_
|
- **Manufacturer** `unsigned.io <https://unsigned.io>`_
|
||||||
|
|
||||||
|
------------
|
||||||
|
|
||||||
.. _rnode-installation:
|
.. _rnode-installation:
|
||||||
|
|
||||||
|