mirror of
https://gitlvb.teallvbs.xyz/IQ.Lvbs/IQ.Pilot.git
synced 2026-07-25 05:22:11 +08:00
38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
Import('env', 'arch', 'common', 'messaging', 'rednose', 'transformations')
|
|
|
|
loc_libs = [messaging, common, 'pthread', 'dl']
|
|
|
|
# build ekf models
|
|
rednose_gen_dir = 'models/generated'
|
|
rednose_gen_deps = [
|
|
"models/constants.py",
|
|
]
|
|
orbit_filter = env.RednoseCompileFilter(
|
|
target='orbit',
|
|
filter_gen_script='models/orbit_kf.py',
|
|
output_dir=rednose_gen_dir,
|
|
extra_gen_artifacts=['orbit_state_constants.h'],
|
|
gen_script_deps=rednose_gen_deps,
|
|
)
|
|
car_ekf = env.RednoseCompileFilter(
|
|
target='car',
|
|
filter_gen_script='models/car_kf.py',
|
|
output_dir=rednose_gen_dir,
|
|
extra_gen_artifacts=[],
|
|
gen_script_deps=rednose_gen_deps,
|
|
)
|
|
|
|
# iqlocd build
|
|
iqlocd_sources = ["atlas_loc_core.cc", "models/orbit_kf.cc"]
|
|
|
|
lenv = env.Clone()
|
|
# ekf filter libraries need to be linked, even if no symbols are used
|
|
if arch != "Darwin":
|
|
lenv["LINKFLAGS"] += ["-Wl,--no-as-needed"]
|
|
|
|
lenv["LIBPATH"].append(Dir(rednose_gen_dir).abspath)
|
|
lenv["RPATH"].append(Dir(rednose_gen_dir).abspath)
|
|
iqlocd = lenv.Program("iqlocd", iqlocd_sources, LIBS=["orbit", "ekf_sym"] + loc_libs + transformations)
|
|
lenv.Depends(iqlocd, rednose)
|
|
lenv.Depends(iqlocd, orbit_filter)
|