mirror of
https://github.com/meshtastic/firmware.git
synced 2025-09-23 09:53:26 +00:00
Remove quirks.h, patch libs instead
This commit is contained in:
parent
da7a9cb9ab
commit
ad81ecc034
@ -38,7 +38,6 @@ build_flags =
|
||||
-DLIBPAX_BLE
|
||||
-DHAS_UDP_MULTICAST=1
|
||||
;-DDEBUG_HEAP
|
||||
-include src/platform/esp32/quirks.h
|
||||
|
||||
lib_deps =
|
||||
${arduino_base.lib_deps}
|
||||
|
@ -83,13 +83,6 @@ if platform.name == "espressif32":
|
||||
# For newer ESP32 targets, using newlib nano works better.
|
||||
env.Append(LINKFLAGS=["--specs=nano.specs", "-u", "_printf_float"])
|
||||
|
||||
# XXX
|
||||
for lb in env.GetLibBuilders():
|
||||
if lb.name == "NonBlockingRTTTL":
|
||||
lb.env.Append(CPPDEFINES=[("QUIRK_RTTTL", 1)])
|
||||
elif lb.name == "LovyanGFX":
|
||||
lb.env.Append(CPPDEFINES=[("QUIRK_LOVYAN", 1)])
|
||||
|
||||
if platform.name == "nordicnrf52":
|
||||
env.AddPostAction("$BUILD_DIR/${PROGNAME}.hex",
|
||||
env.VerboseAction(f"\"{sys.executable}\" ./bin/uf2conv.py $BUILD_DIR/firmware.hex -c -f 0xADA52840 -o $BUILD_DIR/firmware.uf2",
|
||||
@ -140,3 +133,29 @@ for lb in env.GetLibBuilders():
|
||||
if lb.name == "meshtastic-device-ui":
|
||||
lb.env.Append(CPPDEFINES=[("APP_VERSION", verObj["long"])])
|
||||
break
|
||||
|
||||
############################# Libraries Patching #############################
|
||||
|
||||
env.Execute("$PYTHONEXE -m pip install patch")
|
||||
|
||||
import pathlib
|
||||
import glob
|
||||
import os
|
||||
import patch
|
||||
|
||||
libsToPatch = {}
|
||||
for entry in glob.glob("patches/*.patch"):
|
||||
p = pathlib.Path(entry).stem
|
||||
libsToPatch[p] = entry
|
||||
|
||||
for lb in env.GetLibBuilders():
|
||||
if lb.name in libsToPatch:
|
||||
marker_path = os.path.join(pathlib.Path(lb.src_dir), ".patched")
|
||||
if not os.path.exists(marker_path):
|
||||
patch_path = libsToPatch[lb.name]
|
||||
ps = patch.fromfile(patch_path)
|
||||
if not ps.apply(0, lb.src_dir):
|
||||
print(f"Failed to apply patch {patch_path}")
|
||||
exit(1)
|
||||
print(f"Patched {lb.name}")
|
||||
open(marker_path, "w").close()
|
||||
|
15
patches/NonBlockingRTTTL.patch
Normal file
15
patches/NonBlockingRTTTL.patch
Normal file
@ -0,0 +1,15 @@
|
||||
diff --git a/NonBlockingRtttl.cpp b/NonBlockingRtttl.cpp
|
||||
index 76dea43..ba8c4e5 100644
|
||||
--- a/NonBlockingRtttl.cpp
|
||||
+++ b/NonBlockingRtttl.cpp
|
||||
@@ -69,8 +69,8 @@ void begin(byte iPin, const char * iSongBuffer)
|
||||
//init values
|
||||
pin = iPin;
|
||||
#if defined(ESP32)
|
||||
- ledcSetup(0, 1000, 10); // resolution always seems to be 10bit, no matter what is given
|
||||
- ledcAttachPin(pin, 0);
|
||||
+ // resolution always seems to be 10bit, no matter what is given
|
||||
+ ledcAttachChannel(pin, 1000, 10, 0);
|
||||
#endif
|
||||
buffer = iSongBuffer;
|
||||
bufferIndex = 0;
|
12
patches/SdFat.patch
Normal file
12
patches/SdFat.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff --git a/iostream/ostream.h b/iostream/ostream.h
|
||||
index e313ccf..9ac8c24 100644
|
||||
--- a/iostream/ostream.h
|
||||
+++ b/iostream/ostream.h
|
||||
@@ -290,6 +290,7 @@ class ostream : public virtual ios {
|
||||
void putNum(int64_t n);
|
||||
void putNum(uint32_t n) { putNum(n, false); }
|
||||
void putNum(uint64_t n) { putNum(n, false); }
|
||||
+ void putNum(uintptr_t n) { putNum(n, false); }
|
||||
void putPgm(const char *str);
|
||||
void putStr(const char *str);
|
||||
|
@ -1,16 +0,0 @@
|
||||
#if QUIRK_RTTTL
|
||||
#define ledcSetup(ch, freq, res) \
|
||||
uint32_t __freq = freq; \
|
||||
uint8_t __res = res; \
|
||||
do { \
|
||||
} while (0)
|
||||
#define ledcAttachPin(pin, ch) ledcAttachChannel(pin, __freq, __res, ch)
|
||||
#endif
|
||||
|
||||
#if QUIRK_LOVYAN && (CHATTER_2 || M5STACK)
|
||||
#include "rom/ets_sys.h"
|
||||
#include <stdbool.h>
|
||||
#undef bool
|
||||
#undef true
|
||||
#undef false
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user