Files
Momentum-Firmware/lib/subghz/SConscript
T
956MB 7e47619047 Exclude a few SubGHz protocols to save flash space
This branch consolidates several [PRs](https://github.com/Next-Flip/Momentum-Firmware/issues?q=is:pr+is:open+author:956MB) (UI fixes and additions) into a usable build. Flash space is extremely low as is, and excluding some weather stations and other SubGHz protocols is necessary to be able to fit these PRs and allow for further changes. The ones that have been *temporarily* excluded are hopefully uncommon or legacy protocols that won't be missed if you're using this branch. The point of this branch being primarily UI features.

* #327
* #344
* #354
* #385

Excluded protocols:

* Uncommon/Regional gate, garage, and alarm protocols: `nero_sketch`, `nero_radio`, `ido`, `kia`, `power_smart`, `doitrand`, `ansonic`, `smc5326`, `linear_delta3`, `dooya`, `kinggates_stylo_4k`, `dickert_mahs`, `hay21`, `feron`, `elplast`, `schrader_gg4`, `tpms_generic`.
* Obscure weather-station protocols: `solight_te44`, `infactory`, `acurite_986`, `auriol_ahfl`, `auriol_hg0601a`, `emos_e601x`, `gt_wt_02`, `gt_wt_03`, `kedsum_th`, `nexus_th`, `oregon_v1`, `thermopro_tx4`, `tx_8300`, `vauno_en8822c`, `wendox_w6726`.
2026-01-02 12:37:35 -06:00

83 lines
2.2 KiB
Python

Import("env")
env.Append(
CPPPATH=[
"#/lib/subghz",
],
LINT_SOURCES=[
Dir("."),
],
SDK_HEADERS=[
File("environment.h"),
File("receiver.h"),
File("registry.h"),
File("subghz_worker.h"),
File("subghz_tx_rx_worker.h"),
File("transmitter.h"),
File("protocols/raw.h"),
File("protocols/public_api.h"),
File("blocks/const.h"),
File("blocks/decoder.h"),
File("blocks/encoder.h"),
File("blocks/generic.h"),
File("blocks/math.h"),
File("blocks/custom_btn.h"),
File("subghz_setting.h"),
File("subghz_protocol_registry.h"),
File("devices/cc1101_configs.h"),
File("devices/cc1101_int/cc1101_int_interconnect.h"),
File("subghz_file_encoder_worker.h"),
],
)
libenv = env.Clone(FW_LIB_NAME="subghz")
libenv.ApplyLibFlags()
all_sources = libenv.GlobRecursive("*.c*")
excluded_protocols = [
#
# Weather Station
"protocols/ws_generic.c",
"protocols/vauno_en8822c.c",
"protocols/emos_e601x.c",
"protocols/wendox_w6726.c",
"protocols/solight_te44.c",
"protocols/auriol_ahfl.c",
"protocols/auriol_hg0601a.c",
"protocols/kedsum_th.c",
"protocols/gt_wt_02.c",
"protocols/gt_wt_03.c",
"protocols/thermopro_tx4.c",
"protocols/infactory.c",
"protocols/nexus_th.c",
"protocols/tx_8300.c",
#
# Uncommon/Regional
"protocols/feron.c",
"protocols/elplast.c",
"protocols/hay21.c",
"protocols/doitrand.c",
"protocols/nero_radio.c",
"protocols/nero_sketch.c",
"protocols/pcsg_generic.c",
"protocols/power_smart.c",
"protocols/kinggates_stylo_4k.c",
"protocols/dickert_mahs.c",
"protocols/ansonic.c",
"protocols/dooya.c",
"protocols/ido.c",
"protocols/kia.c",
"protocols/smc5326.c",
"protocols/linear_delta3.c",
"protocols/schrader_gg4.c",
"protocols/tpms_generic.c",
]
excluded_protocols_full = [f"lib/subghz/{f}" for f in excluded_protocols]
sources = [f for f in all_sources if str(f) not in excluded_protocols_full]
lib = libenv.StaticLibrary("${FW_LIB_NAME}", sources)
libenv.Install("${LIB_DIST_DIR}", lib)
Return("lib")