mirror of
https://github.com/meshtastic/firmware.git
synced 2025-04-24 17:32:18 +00:00
patch radiolib on-the-fly while building.
This commit is contained in:
parent
beb8bc9e72
commit
2a3272b7d0
27
bin/apply_patches.py
Normal file
27
bin/apply_patches.py
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
from os.path import join, isfile
|
||||||
|
|
||||||
|
Import("env")
|
||||||
|
|
||||||
|
LIBRARY_DIR = join (env["PROJECT_LIBDEPS_DIR"], env["PIOENV"], "RadioLib")
|
||||||
|
patchflag_path = join(LIBRARY_DIR, ".patching-done")
|
||||||
|
patch = join(env["PROJECT_DIR"], "bin", "patch_ng.py")
|
||||||
|
|
||||||
|
# patch file only if we didn't do it before
|
||||||
|
if not isfile(join(LIBRARY_DIR, ".patching-done")):
|
||||||
|
original_path = join(LIBRARY_DIR)
|
||||||
|
patch_file = join(env["PROJECT_DIR"], "patches", "0001-RadioLib-SPItransfer-virtual.patch")
|
||||||
|
|
||||||
|
assert isfile(patch_file)
|
||||||
|
|
||||||
|
env.Execute(
|
||||||
|
env.VerboseAction(
|
||||||
|
"$PYTHONEXE %s -p 1 --directory=%s %s" % (patch, original_path, patch_file)
|
||||||
|
, "Applying patch to RadioLib"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
def _touch(path):
|
||||||
|
with open(path, "w") as fp:
|
||||||
|
fp.write("")
|
||||||
|
|
||||||
|
env.Execute(lambda *args, **kwargs: _touch(patchflag_path))
|
1381
bin/patch_ng.py
Normal file
1381
bin/patch_ng.py
Normal file
File diff suppressed because it is too large
Load Diff
12
patches/0001-RadioLib-SPItransfer-virtual.patch
Normal file
12
patches/0001-RadioLib-SPItransfer-virtual.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
index 3a7b098..2492c1a 100644
|
||||||
|
--- a/src/Module.h
|
||||||
|
+++ b/src/Module.h
|
||||||
|
@@ -190,7 +190,7 @@ class Module {
|
||||||
|
|
||||||
|
\param numBytes Number of bytes to transfer.
|
||||||
|
*/
|
||||||
|
- void SPItransfer(uint8_t cmd, uint8_t reg, uint8_t* dataOut, uint8_t* dataIn, uint8_t numBytes);
|
||||||
|
+ virtual void SPItransfer(uint8_t cmd, uint8_t reg, uint8_t* dataOut, uint8_t* dataIn, uint8_t numBytes);
|
||||||
|
|
||||||
|
// pin number access methods
|
||||||
|
|
@ -93,6 +93,10 @@ build_src_filter =
|
|||||||
${arduino_base.build_src_filter} -<nrf52/>
|
${arduino_base.build_src_filter} -<nrf52/>
|
||||||
upload_speed = 921600
|
upload_speed = 921600
|
||||||
debug_init_break = tbreak setup
|
debug_init_break = tbreak setup
|
||||||
|
extra_scripts =
|
||||||
|
${env.extra_scripts}
|
||||||
|
pre:bin/apply_patches.py
|
||||||
|
|
||||||
# Remove -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL for low level BLE logging.
|
# Remove -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL for low level BLE logging.
|
||||||
# See library directory for BLE logging possible values: .pio/libdeps/tbeam/NimBLE-Arduino/src/log_common/log_common.h
|
# See library directory for BLE logging possible values: .pio/libdeps/tbeam/NimBLE-Arduino/src/log_common/log_common.h
|
||||||
# This overrides the BLE logging default of LOG_LEVEL_INFO (1) from: .pio/libdeps/tbeam/NimBLE-Arduino/src/esp_nimble_cfg.h
|
# This overrides the BLE logging default of LOG_LEVEL_INFO (1) from: .pio/libdeps/tbeam/NimBLE-Arduino/src/esp_nimble_cfg.h
|
||||||
@ -144,6 +148,9 @@ build_src_filter =
|
|||||||
${arduino_base.build_src_filter} -<esp32/> -<nimble/> -<mesh/wifi/> -<mesh/http/> -<modules/esp32> -<mqtt/>
|
${arduino_base.build_src_filter} -<esp32/> -<nimble/> -<mesh/wifi/> -<mesh/http/> -<modules/esp32> -<mqtt/>
|
||||||
lib_ignore =
|
lib_ignore =
|
||||||
BluetoothOTA
|
BluetoothOTA
|
||||||
|
extra_scripts =
|
||||||
|
${env.extra_scripts}
|
||||||
|
pre:bin/apply_patches.py
|
||||||
|
|
||||||
[nrf52840_base]
|
[nrf52840_base]
|
||||||
extends = nrf52_base
|
extends = nrf52_base
|
||||||
|
Loading…
Reference in New Issue
Block a user