Modification so that testing on the Pi Zeros can utilize their compiled CPP library
Some checks are pending
Tests / Detect Changes (push) Waiting to run
Tests / Unit Tests (push) Blocked by required conditions
Tests / Unit Tests-1 (push) Blocked by required conditions
Tests / Unit Tests-2 (push) Blocked by required conditions
Tests / Unit Tests-3 (push) Blocked by required conditions
Tests / Integration Tests (push) Blocked by required conditions
Tests / Integration Tests-1 (push) Blocked by required conditions
Tests / Integration Tests-2 (push) Blocked by required conditions
Tests / Integration Tests-3 (push) Blocked by required conditions
Tests / Installer Test (Fresh System) (push) Blocked by required conditions
Tests / Installer Test (Fresh System)-1 (push) Blocked by required conditions
Tests / Installer Test (Fresh System)-2 (push) Blocked by required conditions
Tests / Installer Test (Fresh System)-3 (push) Blocked by required conditions
Tests / Installer Test (Fresh System)-4 (push) Blocked by required conditions
Tests / Installer Test (Raspberry Pi OS - ARM) (push) Waiting to run
Tests / Installer Test (Raspberry Pi OS - ARM)-1 (push) Waiting to run

This commit is contained in:
John Poole 2026-05-16 19:35:48 -07:00
commit 0f2b07f27b
3 changed files with 17 additions and 6 deletions

View file

View file

@ -25,7 +25,12 @@ def _requested_backend() -> str:
def _load_python_backend():
from .BLEFragmentation import BLEFragmenter, BLEReassembler, HDLCFramer
try:
from .BLEFragmentation import BLEFragmenter, BLEReassembler, HDLCFramer
except ImportError:
# Reticulum external interfaces can be loaded from a plain interfaces
# directory where modules are imported top-level instead of as a package.
from BLEFragmentation import BLEFragmenter, BLEReassembler, HDLCFramer
return "python", BLEFragmenter, BLEReassembler, HDLCFramer

View file

@ -76,13 +76,19 @@ except ImportError:
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../../../'))
from RNS.Interfaces.Interface import Interface
# Import fragmentation module
# Note: When loaded as external interface, use absolute imports
# Import fragmentation backend selector.
# Note: When loaded as external interface, use absolute imports.
try:
from BLEFragmentation import BLEFragmenter, BLEReassembler
from BLEFragmentationBackend import BLEFragmenter, BLEReassembler
except ImportError:
# Fallback for when loaded as part of RNS package
from ble_reticulum.BLEFragmentation import BLEFragmenter, BLEReassembler
try:
from ble_reticulum.BLEFragmentationBackend import BLEFragmenter, BLEReassembler
except ImportError:
# Compatibility fallback if the backend shim is not installed.
try:
from BLEFragmentation import BLEFragmenter, BLEReassembler
except ImportError:
from ble_reticulum.BLEFragmentation import BLEFragmenter, BLEReassembler
# Import GATT server for peripheral mode
try: