refactor and bug fixes
This commit is contained in:
parent
271b076394
commit
48c9aa529d
|
|
@ -1,5 +1,8 @@
|
|||
# ---- Build output ----
|
||||
/build/
|
||||
# Every build tree, whatever its suffix: build/, build-tui/, build-notui/,
|
||||
# build-test/, and any future variant. These hold generated objects, compiled
|
||||
# binaries and FetchContent clones (ftxui, doctest) - none of it belongs in git.
|
||||
build*/
|
||||
/obj/
|
||||
*.o
|
||||
*.out
|
||||
|
|
@ -9,7 +12,6 @@ bin/**/*.out
|
|||
CMakeCache.txt
|
||||
CMakeFiles/
|
||||
cmake_install.cmake
|
||||
/_deps/
|
||||
|
||||
# Editor / tooling
|
||||
compile_commands.json
|
||||
|
|
@ -29,5 +31,3 @@ bin/x64/Release/NIR/
|
|||
# Real configs hold plaintext MQTT credentials. Commit config/config.example.ini instead.
|
||||
config.ini
|
||||
bin/x64/Release/config.ini
|
||||
build-test/
|
||||
build/
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ add_library(fgc_core STATIC
|
|||
src/core/Calibration.cpp
|
||||
src/core/CalibrationRoutine.cpp
|
||||
src/core/MtiProtocol.cpp
|
||||
src/sensors/Sht41Protocol.cpp
|
||||
src/ui/UiSnapshot.cpp
|
||||
src/ui/HeadlessUi.cpp
|
||||
ini.c
|
||||
|
|
|
|||
|
|
@ -115,9 +115,12 @@ While running, the program reads commands from stdin (one per line):
|
|||
| `exit` | Stop everything and quit (Ctrl-D also works). |
|
||||
|
||||
The **Xsens MTi IMU** (set `[Features] enable_imu` + `[IMU] device`) drives the Sensors panel's live
|
||||
roll/pitch/yaw and powers `gimbal calib`. In the TUI, `g` and `i` open full-screen **gimbal** and
|
||||
**IMU** views, and an **activity strip** below the log shows the running calibration/diagnostics/scan
|
||||
plus the last result. See [docs/configuration.md](docs/configuration.md).
|
||||
roll/pitch/yaw and powers `gimbal calib`; the **SHT41** (`[Features] enable_env` + `[Env] i2c_device`,
|
||||
or `--mock-env`) supplies the panel's ambient temperature and humidity — the MTi's device-internal
|
||||
temperature is expanded-view-only, so the main window shows one unambiguous temperature. In the TUI,
|
||||
`g` and `i` open full-screen **gimbal** and **sensors** views (the latter covering both the MTi and
|
||||
the SHT41, each reading labelled with its source), and an **activity strip** below the log shows the
|
||||
running calibration/diagnostics/scan plus the last result. See [docs/configuration.md](docs/configuration.md).
|
||||
|
||||
A typical first bring-up: `scripts/run.sh --init` to home the gimbal, then type `start` once you've confirmed
|
||||
telemetry looks sane; adjust `set fps` / `set camera jxlq` live as needed. See
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
# CMake generated Testfile for
|
||||
# Source directory: /home/pedro/code/fwt_2a/software
|
||||
# Build directory: /home/pedro/code/fwt_2a/software/build-notui
|
||||
#
|
||||
# This file includes the relevant testing commands required for
|
||||
# testing this directory and lists subdirectories to be tested as well.
|
||||
subdirs("tests")
|
||||
|
|
@ -1,688 +0,0 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
.PHONY : default_target
|
||||
|
||||
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||
.NOTPARALLEL:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/pedro/code/fwt_2a/software
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/pedro/code/fwt_2a/software/build-notui
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target test
|
||||
test:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..."
|
||||
/usr/bin/ctest $(ARGS)
|
||||
.PHONY : test
|
||||
|
||||
# Special rule for the target test
|
||||
test/fast: test
|
||||
.PHONY : test/fast
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
|
||||
/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
|
||||
/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# Special rule for the target list_install_components
|
||||
list_install_components:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\""
|
||||
.PHONY : list_install_components
|
||||
|
||||
# Special rule for the target list_install_components
|
||||
list_install_components/fast: list_install_components
|
||||
.PHONY : list_install_components/fast
|
||||
|
||||
# Special rule for the target install
|
||||
install: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
|
||||
/usr/bin/cmake -P cmake_install.cmake
|
||||
.PHONY : install
|
||||
|
||||
# Special rule for the target install
|
||||
install/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
|
||||
/usr/bin/cmake -P cmake_install.cmake
|
||||
.PHONY : install/fast
|
||||
|
||||
# Special rule for the target install/local
|
||||
install/local: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
|
||||
.PHONY : install/local
|
||||
|
||||
# Special rule for the target install/local
|
||||
install/local/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
|
||||
.PHONY : install/local/fast
|
||||
|
||||
# Special rule for the target install/strip
|
||||
install/strip: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
|
||||
.PHONY : install/strip
|
||||
|
||||
# Special rule for the target install/strip
|
||||
install/strip/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
|
||||
.PHONY : install/strip/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-notui/CMakeFiles /home/pedro/code/fwt_2a/software/build-notui//CMakeFiles/progress.marks
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-notui/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named fgc_core
|
||||
|
||||
# Build rule for target.
|
||||
fgc_core: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 fgc_core
|
||||
.PHONY : fgc_core
|
||||
|
||||
# fast build rule for target.
|
||||
fgc_core/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/build
|
||||
.PHONY : fgc_core/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named fire_gimbal_control
|
||||
|
||||
# Build rule for target.
|
||||
fire_gimbal_control: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 fire_gimbal_control
|
||||
.PHONY : fire_gimbal_control
|
||||
|
||||
# fast build rule for target.
|
||||
fire_gimbal_control/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/build
|
||||
.PHONY : fire_gimbal_control/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named fgc_tests
|
||||
|
||||
# Build rule for target.
|
||||
fgc_tests: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 fgc_tests
|
||||
.PHONY : fgc_tests
|
||||
|
||||
# fast build rule for target.
|
||||
fgc_tests/fast:
|
||||
$(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/build
|
||||
.PHONY : fgc_tests/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named doctest_with_main
|
||||
|
||||
# Build rule for target.
|
||||
doctest_with_main: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 doctest_with_main
|
||||
.PHONY : doctest_with_main
|
||||
|
||||
# fast build rule for target.
|
||||
doctest_with_main/fast:
|
||||
$(MAKE) $(MAKESILENT) -f _deps/doctest-build/CMakeFiles/doctest_with_main.dir/build.make _deps/doctest-build/CMakeFiles/doctest_with_main.dir/build
|
||||
.PHONY : doctest_with_main/fast
|
||||
|
||||
ini.o: ini.c.o
|
||||
.PHONY : ini.o
|
||||
|
||||
# target to build an object file
|
||||
ini.c.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/ini.c.o
|
||||
.PHONY : ini.c.o
|
||||
|
||||
ini.i: ini.c.i
|
||||
.PHONY : ini.i
|
||||
|
||||
# target to preprocess a source file
|
||||
ini.c.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/ini.c.i
|
||||
.PHONY : ini.c.i
|
||||
|
||||
ini.s: ini.c.s
|
||||
.PHONY : ini.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
ini.c.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/ini.c.s
|
||||
.PHONY : ini.c.s
|
||||
|
||||
main.o: main.cpp.o
|
||||
.PHONY : main.o
|
||||
|
||||
# target to build an object file
|
||||
main.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/main.cpp.o
|
||||
.PHONY : main.cpp.o
|
||||
|
||||
main.i: main.cpp.i
|
||||
.PHONY : main.i
|
||||
|
||||
# target to preprocess a source file
|
||||
main.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/main.cpp.i
|
||||
.PHONY : main.cpp.i
|
||||
|
||||
main.s: main.cpp.s
|
||||
.PHONY : main.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
main.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/main.cpp.s
|
||||
.PHONY : main.cpp.s
|
||||
|
||||
src/camera/ImagePipeline.o: src/camera/ImagePipeline.cpp.o
|
||||
.PHONY : src/camera/ImagePipeline.o
|
||||
|
||||
# target to build an object file
|
||||
src/camera/ImagePipeline.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/camera/ImagePipeline.cpp.o
|
||||
.PHONY : src/camera/ImagePipeline.cpp.o
|
||||
|
||||
src/camera/ImagePipeline.i: src/camera/ImagePipeline.cpp.i
|
||||
.PHONY : src/camera/ImagePipeline.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/camera/ImagePipeline.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/camera/ImagePipeline.cpp.i
|
||||
.PHONY : src/camera/ImagePipeline.cpp.i
|
||||
|
||||
src/camera/ImagePipeline.s: src/camera/ImagePipeline.cpp.s
|
||||
.PHONY : src/camera/ImagePipeline.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/camera/ImagePipeline.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/camera/ImagePipeline.cpp.s
|
||||
.PHONY : src/camera/ImagePipeline.cpp.s
|
||||
|
||||
src/camera/JpegXlEncoder.o: src/camera/JpegXlEncoder.cpp.o
|
||||
.PHONY : src/camera/JpegXlEncoder.o
|
||||
|
||||
# target to build an object file
|
||||
src/camera/JpegXlEncoder.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/camera/JpegXlEncoder.cpp.o
|
||||
.PHONY : src/camera/JpegXlEncoder.cpp.o
|
||||
|
||||
src/camera/JpegXlEncoder.i: src/camera/JpegXlEncoder.cpp.i
|
||||
.PHONY : src/camera/JpegXlEncoder.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/camera/JpegXlEncoder.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/camera/JpegXlEncoder.cpp.i
|
||||
.PHONY : src/camera/JpegXlEncoder.cpp.i
|
||||
|
||||
src/camera/JpegXlEncoder.s: src/camera/JpegXlEncoder.cpp.s
|
||||
.PHONY : src/camera/JpegXlEncoder.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/camera/JpegXlEncoder.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/camera/JpegXlEncoder.cpp.s
|
||||
.PHONY : src/camera/JpegXlEncoder.cpp.s
|
||||
|
||||
src/core/Application.o: src/core/Application.cpp.o
|
||||
.PHONY : src/core/Application.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/Application.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/core/Application.cpp.o
|
||||
.PHONY : src/core/Application.cpp.o
|
||||
|
||||
src/core/Application.i: src/core/Application.cpp.i
|
||||
.PHONY : src/core/Application.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/Application.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/core/Application.cpp.i
|
||||
.PHONY : src/core/Application.cpp.i
|
||||
|
||||
src/core/Application.s: src/core/Application.cpp.s
|
||||
.PHONY : src/core/Application.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/Application.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/core/Application.cpp.s
|
||||
.PHONY : src/core/Application.cpp.s
|
||||
|
||||
src/core/CaptureScheduler.o: src/core/CaptureScheduler.cpp.o
|
||||
.PHONY : src/core/CaptureScheduler.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/CaptureScheduler.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/CaptureScheduler.cpp.o
|
||||
.PHONY : src/core/CaptureScheduler.cpp.o
|
||||
|
||||
src/core/CaptureScheduler.i: src/core/CaptureScheduler.cpp.i
|
||||
.PHONY : src/core/CaptureScheduler.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/CaptureScheduler.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/CaptureScheduler.cpp.i
|
||||
.PHONY : src/core/CaptureScheduler.cpp.i
|
||||
|
||||
src/core/CaptureScheduler.s: src/core/CaptureScheduler.cpp.s
|
||||
.PHONY : src/core/CaptureScheduler.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/CaptureScheduler.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/CaptureScheduler.cpp.s
|
||||
.PHONY : src/core/CaptureScheduler.cpp.s
|
||||
|
||||
src/core/CommandParser.o: src/core/CommandParser.cpp.o
|
||||
.PHONY : src/core/CommandParser.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/CommandParser.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/CommandParser.cpp.o
|
||||
.PHONY : src/core/CommandParser.cpp.o
|
||||
|
||||
src/core/CommandParser.i: src/core/CommandParser.cpp.i
|
||||
.PHONY : src/core/CommandParser.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/CommandParser.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/CommandParser.cpp.i
|
||||
.PHONY : src/core/CommandParser.cpp.i
|
||||
|
||||
src/core/CommandParser.s: src/core/CommandParser.cpp.s
|
||||
.PHONY : src/core/CommandParser.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/CommandParser.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/CommandParser.cpp.s
|
||||
.PHONY : src/core/CommandParser.cpp.s
|
||||
|
||||
src/core/Config.o: src/core/Config.cpp.o
|
||||
.PHONY : src/core/Config.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/Config.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Config.cpp.o
|
||||
.PHONY : src/core/Config.cpp.o
|
||||
|
||||
src/core/Config.i: src/core/Config.cpp.i
|
||||
.PHONY : src/core/Config.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/Config.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Config.cpp.i
|
||||
.PHONY : src/core/Config.cpp.i
|
||||
|
||||
src/core/Config.s: src/core/Config.cpp.s
|
||||
.PHONY : src/core/Config.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/Config.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Config.cpp.s
|
||||
.PHONY : src/core/Config.cpp.s
|
||||
|
||||
src/core/Geometry.o: src/core/Geometry.cpp.o
|
||||
.PHONY : src/core/Geometry.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/Geometry.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Geometry.cpp.o
|
||||
.PHONY : src/core/Geometry.cpp.o
|
||||
|
||||
src/core/Geometry.i: src/core/Geometry.cpp.i
|
||||
.PHONY : src/core/Geometry.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/Geometry.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Geometry.cpp.i
|
||||
.PHONY : src/core/Geometry.cpp.i
|
||||
|
||||
src/core/Geometry.s: src/core/Geometry.cpp.s
|
||||
.PHONY : src/core/Geometry.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/Geometry.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Geometry.cpp.s
|
||||
.PHONY : src/core/Geometry.cpp.s
|
||||
|
||||
src/core/Logger.o: src/core/Logger.cpp.o
|
||||
.PHONY : src/core/Logger.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/Logger.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Logger.cpp.o
|
||||
.PHONY : src/core/Logger.cpp.o
|
||||
|
||||
src/core/Logger.i: src/core/Logger.cpp.i
|
||||
.PHONY : src/core/Logger.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/Logger.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Logger.cpp.i
|
||||
.PHONY : src/core/Logger.cpp.i
|
||||
|
||||
src/core/Logger.s: src/core/Logger.cpp.s
|
||||
.PHONY : src/core/Logger.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/Logger.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Logger.cpp.s
|
||||
.PHONY : src/core/Logger.cpp.s
|
||||
|
||||
src/core/Paths.o: src/core/Paths.cpp.o
|
||||
.PHONY : src/core/Paths.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/Paths.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Paths.cpp.o
|
||||
.PHONY : src/core/Paths.cpp.o
|
||||
|
||||
src/core/Paths.i: src/core/Paths.cpp.i
|
||||
.PHONY : src/core/Paths.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/Paths.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Paths.cpp.i
|
||||
.PHONY : src/core/Paths.cpp.i
|
||||
|
||||
src/core/Paths.s: src/core/Paths.cpp.s
|
||||
.PHONY : src/core/Paths.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/Paths.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Paths.cpp.s
|
||||
.PHONY : src/core/Paths.cpp.s
|
||||
|
||||
src/core/ScanGrid.o: src/core/ScanGrid.cpp.o
|
||||
.PHONY : src/core/ScanGrid.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/ScanGrid.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/ScanGrid.cpp.o
|
||||
.PHONY : src/core/ScanGrid.cpp.o
|
||||
|
||||
src/core/ScanGrid.i: src/core/ScanGrid.cpp.i
|
||||
.PHONY : src/core/ScanGrid.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/ScanGrid.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/ScanGrid.cpp.i
|
||||
.PHONY : src/core/ScanGrid.cpp.i
|
||||
|
||||
src/core/ScanGrid.s: src/core/ScanGrid.cpp.s
|
||||
.PHONY : src/core/ScanGrid.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/ScanGrid.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/ScanGrid.cpp.s
|
||||
.PHONY : src/core/ScanGrid.cpp.s
|
||||
|
||||
src/core/TelemetryParser.o: src/core/TelemetryParser.cpp.o
|
||||
.PHONY : src/core/TelemetryParser.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/TelemetryParser.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/TelemetryParser.cpp.o
|
||||
.PHONY : src/core/TelemetryParser.cpp.o
|
||||
|
||||
src/core/TelemetryParser.i: src/core/TelemetryParser.cpp.i
|
||||
.PHONY : src/core/TelemetryParser.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/TelemetryParser.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/TelemetryParser.cpp.i
|
||||
.PHONY : src/core/TelemetryParser.cpp.i
|
||||
|
||||
src/core/TelemetryParser.s: src/core/TelemetryParser.cpp.s
|
||||
.PHONY : src/core/TelemetryParser.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/TelemetryParser.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/TelemetryParser.cpp.s
|
||||
.PHONY : src/core/TelemetryParser.cpp.s
|
||||
|
||||
src/serial/SerialMotorController.o: src/serial/SerialMotorController.cpp.o
|
||||
.PHONY : src/serial/SerialMotorController.o
|
||||
|
||||
# target to build an object file
|
||||
src/serial/SerialMotorController.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/serial/SerialMotorController.cpp.o
|
||||
.PHONY : src/serial/SerialMotorController.cpp.o
|
||||
|
||||
src/serial/SerialMotorController.i: src/serial/SerialMotorController.cpp.i
|
||||
.PHONY : src/serial/SerialMotorController.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/serial/SerialMotorController.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/serial/SerialMotorController.cpp.i
|
||||
.PHONY : src/serial/SerialMotorController.cpp.i
|
||||
|
||||
src/serial/SerialMotorController.s: src/serial/SerialMotorController.cpp.s
|
||||
.PHONY : src/serial/SerialMotorController.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/serial/SerialMotorController.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/serial/SerialMotorController.cpp.s
|
||||
.PHONY : src/serial/SerialMotorController.cpp.s
|
||||
|
||||
src/ui/HeadlessUi.o: src/ui/HeadlessUi.cpp.o
|
||||
.PHONY : src/ui/HeadlessUi.o
|
||||
|
||||
# target to build an object file
|
||||
src/ui/HeadlessUi.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/ui/HeadlessUi.cpp.o
|
||||
.PHONY : src/ui/HeadlessUi.cpp.o
|
||||
|
||||
src/ui/HeadlessUi.i: src/ui/HeadlessUi.cpp.i
|
||||
.PHONY : src/ui/HeadlessUi.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/ui/HeadlessUi.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/ui/HeadlessUi.cpp.i
|
||||
.PHONY : src/ui/HeadlessUi.cpp.i
|
||||
|
||||
src/ui/HeadlessUi.s: src/ui/HeadlessUi.cpp.s
|
||||
.PHONY : src/ui/HeadlessUi.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/ui/HeadlessUi.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/ui/HeadlessUi.cpp.s
|
||||
.PHONY : src/ui/HeadlessUi.cpp.s
|
||||
|
||||
src/ui/UiSnapshot.o: src/ui/UiSnapshot.cpp.o
|
||||
.PHONY : src/ui/UiSnapshot.o
|
||||
|
||||
# target to build an object file
|
||||
src/ui/UiSnapshot.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/ui/UiSnapshot.cpp.o
|
||||
.PHONY : src/ui/UiSnapshot.cpp.o
|
||||
|
||||
src/ui/UiSnapshot.i: src/ui/UiSnapshot.cpp.i
|
||||
.PHONY : src/ui/UiSnapshot.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/ui/UiSnapshot.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/ui/UiSnapshot.cpp.i
|
||||
.PHONY : src/ui/UiSnapshot.cpp.i
|
||||
|
||||
src/ui/UiSnapshot.s: src/ui/UiSnapshot.cpp.s
|
||||
.PHONY : src/ui/UiSnapshot.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/ui/UiSnapshot.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/ui/UiSnapshot.cpp.s
|
||||
.PHONY : src/ui/UiSnapshot.cpp.s
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... edit_cache"
|
||||
@echo "... install"
|
||||
@echo "... install/local"
|
||||
@echo "... install/strip"
|
||||
@echo "... list_install_components"
|
||||
@echo "... rebuild_cache"
|
||||
@echo "... test"
|
||||
@echo "... doctest_with_main"
|
||||
@echo "... fgc_core"
|
||||
@echo "... fgc_tests"
|
||||
@echo "... fire_gimbal_control"
|
||||
@echo "... ini.o"
|
||||
@echo "... ini.i"
|
||||
@echo "... ini.s"
|
||||
@echo "... main.o"
|
||||
@echo "... main.i"
|
||||
@echo "... main.s"
|
||||
@echo "... src/camera/ImagePipeline.o"
|
||||
@echo "... src/camera/ImagePipeline.i"
|
||||
@echo "... src/camera/ImagePipeline.s"
|
||||
@echo "... src/camera/JpegXlEncoder.o"
|
||||
@echo "... src/camera/JpegXlEncoder.i"
|
||||
@echo "... src/camera/JpegXlEncoder.s"
|
||||
@echo "... src/core/Application.o"
|
||||
@echo "... src/core/Application.i"
|
||||
@echo "... src/core/Application.s"
|
||||
@echo "... src/core/CaptureScheduler.o"
|
||||
@echo "... src/core/CaptureScheduler.i"
|
||||
@echo "... src/core/CaptureScheduler.s"
|
||||
@echo "... src/core/CommandParser.o"
|
||||
@echo "... src/core/CommandParser.i"
|
||||
@echo "... src/core/CommandParser.s"
|
||||
@echo "... src/core/Config.o"
|
||||
@echo "... src/core/Config.i"
|
||||
@echo "... src/core/Config.s"
|
||||
@echo "... src/core/Geometry.o"
|
||||
@echo "... src/core/Geometry.i"
|
||||
@echo "... src/core/Geometry.s"
|
||||
@echo "... src/core/Logger.o"
|
||||
@echo "... src/core/Logger.i"
|
||||
@echo "... src/core/Logger.s"
|
||||
@echo "... src/core/Paths.o"
|
||||
@echo "... src/core/Paths.i"
|
||||
@echo "... src/core/Paths.s"
|
||||
@echo "... src/core/ScanGrid.o"
|
||||
@echo "... src/core/ScanGrid.i"
|
||||
@echo "... src/core/ScanGrid.s"
|
||||
@echo "... src/core/TelemetryParser.o"
|
||||
@echo "... src/core/TelemetryParser.i"
|
||||
@echo "... src/core/TelemetryParser.s"
|
||||
@echo "... src/serial/SerialMotorController.o"
|
||||
@echo "... src/serial/SerialMotorController.i"
|
||||
@echo "... src/serial/SerialMotorController.s"
|
||||
@echo "... src/ui/HeadlessUi.o"
|
||||
@echo "... src/ui/HeadlessUi.i"
|
||||
@echo "... src/ui/HeadlessUi.s"
|
||||
@echo "... src/ui/UiSnapshot.o"
|
||||
@echo "... src/ui/UiSnapshot.i"
|
||||
@echo "... src/ui/UiSnapshot.s"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
parseCommand handles single-verb commands 1 0.00355966
|
||||
parseCommand splits device and trailing numeric value 1 0.00445292
|
||||
parseCommand keeps option plus value 1 0.00346469
|
||||
parseCommand keeps non-numeric option (raw motor command) 1 0.00475817
|
||||
parseCommand on empty input 1 0.00347597
|
||||
ConfigLoader maps and defaults typed values 1 0.00270282
|
||||
environment overrides file credentials 1 0.00221621
|
||||
ConfigLoader validates input 1 0.00298553
|
||||
AxisMap converts degrees and counts with an offset 1 0.00230693
|
||||
AxisMap clamps to the soft range on the way out 1 0.002558
|
||||
AxisMap supports a negative (flipped) direction 1 0.00332187
|
||||
AxisMap toDeg guards against a zero scale 1 0.00316496
|
||||
parseCategories maps names, all/none, and flags unknown tokens 1 0.0029767
|
||||
catFromString round-trips and flags unknown 1 0.00489377
|
||||
category enable/disable/set round-trip 1 0.00363933
|
||||
LOG_TRACE_CAT gating is independent of the linear level 1 0.00382581
|
||||
expandUser expands ~ and environment variables 1 0.00350332
|
||||
configSearchPaths honours the CLI argument first 1 0.00459609
|
||||
parseScanCsv reads waypoints and skips comments/blanks 1 0.0033773
|
||||
parseScanCsv throws on a malformed line 1 0.00301251
|
||||
generateScanGrid produces yaw_intervals x pitch_levels points 1 0.00422159
|
||||
ScanGrid cursor ping-pongs at both ends 1 0.00240321
|
||||
ScanGrid single point and empty are safe 1 0.00278729
|
||||
CaptureScheduler sweeps the scan grid with MOVE + settle + trigger 1 0.00287004
|
||||
CaptureScheduler ControlCode 1 drives yaw to the target heading 1 0.00311307
|
||||
CaptureScheduler clamps the target heading to the soft range 1 0.00324622
|
||||
CaptureScheduler stays idle when capture inactive 1 0.00263608
|
||||
parseTelemetryLine reads a two-axis ST line 1 0.00286897
|
||||
parseTelemetryLine reads a yaw-only ST line (no flags field) 1 0.00273373
|
||||
parseTelemetryLine rejects non-ST and malformed lines 1 0.0025402
|
||||
parseTelemetryLine tolerates trailing CR 1 0.00300437
|
||||
axisStateLabel maps every state 1 0.00241024
|
||||
axisStateColor signals health 1 0.00260139
|
||||
formatDegrees: one decimal, sign preserved, degree sign appended 1 0.00250799
|
||||
formatTimeAgo: buckets and the never case 1 0.00247251
|
||||
pendingSensorsView: all fields absent until drivers land 1 0.00252874
|
||||
---
|
||||
|
|
@ -1,759 +0,0 @@
|
|||
Start testing: Jun 23 12:12 CEST
|
||||
----------------------------------------------------------
|
||||
1/36 Testing: parseCommand handles single-verb commands
|
||||
1/36 Test: parseCommand handles single-verb commands
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=parseCommand handles single-verb commands"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"parseCommand handles single-verb commands" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 3 | 3 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"parseCommand handles single-verb commands" end time: Jun 23 12:12 CEST
|
||||
"parseCommand handles single-verb commands" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
2/36 Testing: parseCommand splits device and trailing numeric value
|
||||
2/36 Test: parseCommand splits device and trailing numeric value
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=parseCommand splits device and trailing numeric value"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"parseCommand splits device and trailing numeric value" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 5 | 5 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"parseCommand splits device and trailing numeric value" end time: Jun 23 12:12 CEST
|
||||
"parseCommand splits device and trailing numeric value" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
3/36 Testing: parseCommand keeps option plus value
|
||||
3/36 Test: parseCommand keeps option plus value
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=parseCommand keeps option plus value"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"parseCommand keeps option plus value" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 3 | 3 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"parseCommand keeps option plus value" end time: Jun 23 12:12 CEST
|
||||
"parseCommand keeps option plus value" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
4/36 Testing: parseCommand keeps non-numeric option (raw motor command)
|
||||
4/36 Test: parseCommand keeps non-numeric option (raw motor command)
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=parseCommand keeps non-numeric option (raw motor command)"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"parseCommand keeps non-numeric option (raw motor command)" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 3 | 3 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"parseCommand keeps non-numeric option (raw motor command)" end time: Jun 23 12:12 CEST
|
||||
"parseCommand keeps non-numeric option (raw motor command)" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
5/36 Testing: parseCommand on empty input
|
||||
5/36 Test: parseCommand on empty input
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=parseCommand on empty input"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"parseCommand on empty input" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 2 | 2 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"parseCommand on empty input" end time: Jun 23 12:12 CEST
|
||||
"parseCommand on empty input" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
6/36 Testing: ConfigLoader maps and defaults typed values
|
||||
6/36 Test: ConfigLoader maps and defaults typed values
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=ConfigLoader maps and defaults typed values"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"ConfigLoader maps and defaults typed values" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 10 | 10 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"ConfigLoader maps and defaults typed values" end time: Jun 23 12:12 CEST
|
||||
"ConfigLoader maps and defaults typed values" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
7/36 Testing: environment overrides file credentials
|
||||
7/36 Test: environment overrides file credentials
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=environment overrides file credentials"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"environment overrides file credentials" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 1 | 1 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"environment overrides file credentials" end time: Jun 23 12:12 CEST
|
||||
"environment overrides file credentials" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
8/36 Testing: ConfigLoader validates input
|
||||
8/36 Test: ConfigLoader validates input
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=ConfigLoader validates input"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"ConfigLoader validates input" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 3 | 3 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"ConfigLoader validates input" end time: Jun 23 12:12 CEST
|
||||
"ConfigLoader validates input" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
9/36 Testing: AxisMap converts degrees and counts with an offset
|
||||
9/36 Test: AxisMap converts degrees and counts with an offset
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=AxisMap converts degrees and counts with an offset"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"AxisMap converts degrees and counts with an offset" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 4 | 4 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"AxisMap converts degrees and counts with an offset" end time: Jun 23 12:12 CEST
|
||||
"AxisMap converts degrees and counts with an offset" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
10/36 Testing: AxisMap clamps to the soft range on the way out
|
||||
10/36 Test: AxisMap clamps to the soft range on the way out
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=AxisMap clamps to the soft range on the way out"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"AxisMap clamps to the soft range on the way out" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 3 | 3 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"AxisMap clamps to the soft range on the way out" end time: Jun 23 12:12 CEST
|
||||
"AxisMap clamps to the soft range on the way out" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
11/36 Testing: AxisMap supports a negative (flipped) direction
|
||||
11/36 Test: AxisMap supports a negative (flipped) direction
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=AxisMap supports a negative (flipped) direction"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"AxisMap supports a negative (flipped) direction" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 2 | 2 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"AxisMap supports a negative (flipped) direction" end time: Jun 23 12:12 CEST
|
||||
"AxisMap supports a negative (flipped) direction" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
12/36 Testing: AxisMap toDeg guards against a zero scale
|
||||
12/36 Test: AxisMap toDeg guards against a zero scale
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=AxisMap toDeg guards against a zero scale"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"AxisMap toDeg guards against a zero scale" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 1 | 1 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"AxisMap toDeg guards against a zero scale" end time: Jun 23 12:12 CEST
|
||||
"AxisMap toDeg guards against a zero scale" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
13/36 Testing: parseCategories maps names, all/none, and flags unknown tokens
|
||||
13/36 Test: parseCategories maps names, all/none, and flags unknown tokens
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=parseCategories maps names\, all/none\, and flags unknown tokens"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"parseCategories maps names, all/none, and flags unknown tokens" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 12 | 12 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"parseCategories maps names, all/none, and flags unknown tokens" end time: Jun 23 12:12 CEST
|
||||
"parseCategories maps names, all/none, and flags unknown tokens" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
14/36 Testing: catFromString round-trips and flags unknown
|
||||
14/36 Test: catFromString round-trips and flags unknown
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=catFromString round-trips and flags unknown"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"catFromString round-trips and flags unknown" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 4 | 4 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"catFromString round-trips and flags unknown" end time: Jun 23 12:12 CEST
|
||||
"catFromString round-trips and flags unknown" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
15/36 Testing: category enable/disable/set round-trip
|
||||
15/36 Test: category enable/disable/set round-trip
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=category enable/disable/set round-trip"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"category enable/disable/set round-trip" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 9 | 9 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"category enable/disable/set round-trip" end time: Jun 23 12:12 CEST
|
||||
"category enable/disable/set round-trip" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
16/36 Testing: LOG_TRACE_CAT gating is independent of the linear level
|
||||
16/36 Test: LOG_TRACE_CAT gating is independent of the linear level
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=LOG_TRACE_CAT gating is independent of the linear level"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"LOG_TRACE_CAT gating is independent of the linear level" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 5 | 5 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"LOG_TRACE_CAT gating is independent of the linear level" end time: Jun 23 12:12 CEST
|
||||
"LOG_TRACE_CAT gating is independent of the linear level" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
17/36 Testing: expandUser expands ~ and environment variables
|
||||
17/36 Test: expandUser expands ~ and environment variables
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=expandUser expands ~ and environment variables"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"expandUser expands ~ and environment variables" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 6 | 6 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"expandUser expands ~ and environment variables" end time: Jun 23 12:12 CEST
|
||||
"expandUser expands ~ and environment variables" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
18/36 Testing: configSearchPaths honours the CLI argument first
|
||||
18/36 Test: configSearchPaths honours the CLI argument first
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=configSearchPaths honours the CLI argument first"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"configSearchPaths honours the CLI argument first" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 2 | 2 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"configSearchPaths honours the CLI argument first" end time: Jun 23 12:12 CEST
|
||||
"configSearchPaths honours the CLI argument first" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
19/36 Testing: parseScanCsv reads waypoints and skips comments/blanks
|
||||
19/36 Test: parseScanCsv reads waypoints and skips comments/blanks
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=parseScanCsv reads waypoints and skips comments/blanks"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"parseScanCsv reads waypoints and skips comments/blanks" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 4 | 4 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"parseScanCsv reads waypoints and skips comments/blanks" end time: Jun 23 12:12 CEST
|
||||
"parseScanCsv reads waypoints and skips comments/blanks" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
20/36 Testing: parseScanCsv throws on a malformed line
|
||||
20/36 Test: parseScanCsv throws on a malformed line
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=parseScanCsv throws on a malformed line"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"parseScanCsv throws on a malformed line" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 2 | 2 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"parseScanCsv throws on a malformed line" end time: Jun 23 12:12 CEST
|
||||
"parseScanCsv throws on a malformed line" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
21/36 Testing: generateScanGrid produces yaw_intervals x pitch_levels points
|
||||
21/36 Test: generateScanGrid produces yaw_intervals x pitch_levels points
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=generateScanGrid produces yaw_intervals x pitch_levels points"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"generateScanGrid produces yaw_intervals x pitch_levels points" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 6 | 6 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"generateScanGrid produces yaw_intervals x pitch_levels points" end time: Jun 23 12:12 CEST
|
||||
"generateScanGrid produces yaw_intervals x pitch_levels points" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
22/36 Testing: ScanGrid cursor ping-pongs at both ends
|
||||
22/36 Test: ScanGrid cursor ping-pongs at both ends
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=ScanGrid cursor ping-pongs at both ends"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"ScanGrid cursor ping-pongs at both ends" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 6 | 6 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"ScanGrid cursor ping-pongs at both ends" end time: Jun 23 12:12 CEST
|
||||
"ScanGrid cursor ping-pongs at both ends" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
23/36 Testing: ScanGrid single point and empty are safe
|
||||
23/36 Test: ScanGrid single point and empty are safe
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=ScanGrid single point and empty are safe"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"ScanGrid single point and empty are safe" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 2 | 2 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"ScanGrid single point and empty are safe" end time: Jun 23 12:12 CEST
|
||||
"ScanGrid single point and empty are safe" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
24/36 Testing: CaptureScheduler sweeps the scan grid with MOVE + settle + trigger
|
||||
24/36 Test: CaptureScheduler sweeps the scan grid with MOVE + settle + trigger
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=CaptureScheduler sweeps the scan grid with MOVE + settle + trigger"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"CaptureScheduler sweeps the scan grid with MOVE + settle + trigger" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 9 | 9 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"CaptureScheduler sweeps the scan grid with MOVE + settle + trigger" end time: Jun 23 12:12 CEST
|
||||
"CaptureScheduler sweeps the scan grid with MOVE + settle + trigger" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
25/36 Testing: CaptureScheduler ControlCode 1 drives yaw to the target heading
|
||||
25/36 Test: CaptureScheduler ControlCode 1 drives yaw to the target heading
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=CaptureScheduler ControlCode 1 drives yaw to the target heading"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"CaptureScheduler ControlCode 1 drives yaw to the target heading" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 3 | 3 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"CaptureScheduler ControlCode 1 drives yaw to the target heading" end time: Jun 23 12:12 CEST
|
||||
"CaptureScheduler ControlCode 1 drives yaw to the target heading" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
26/36 Testing: CaptureScheduler clamps the target heading to the soft range
|
||||
26/36 Test: CaptureScheduler clamps the target heading to the soft range
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=CaptureScheduler clamps the target heading to the soft range"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"CaptureScheduler clamps the target heading to the soft range" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 1 | 1 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"CaptureScheduler clamps the target heading to the soft range" end time: Jun 23 12:12 CEST
|
||||
"CaptureScheduler clamps the target heading to the soft range" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
27/36 Testing: CaptureScheduler stays idle when capture inactive
|
||||
27/36 Test: CaptureScheduler stays idle when capture inactive
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=CaptureScheduler stays idle when capture inactive"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"CaptureScheduler stays idle when capture inactive" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 2 | 2 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"CaptureScheduler stays idle when capture inactive" end time: Jun 23 12:12 CEST
|
||||
"CaptureScheduler stays idle when capture inactive" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
28/36 Testing: parseTelemetryLine reads a two-axis ST line
|
||||
28/36 Test: parseTelemetryLine reads a two-axis ST line
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=parseTelemetryLine reads a two-axis ST line"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"parseTelemetryLine reads a two-axis ST line" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 15 | 15 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"parseTelemetryLine reads a two-axis ST line" end time: Jun 23 12:12 CEST
|
||||
"parseTelemetryLine reads a two-axis ST line" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
29/36 Testing: parseTelemetryLine reads a yaw-only ST line (no flags field)
|
||||
29/36 Test: parseTelemetryLine reads a yaw-only ST line (no flags field)
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=parseTelemetryLine reads a yaw-only ST line (no flags field)"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"parseTelemetryLine reads a yaw-only ST line (no flags field)" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 5 | 5 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"parseTelemetryLine reads a yaw-only ST line (no flags field)" end time: Jun 23 12:12 CEST
|
||||
"parseTelemetryLine reads a yaw-only ST line (no flags field)" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
30/36 Testing: parseTelemetryLine rejects non-ST and malformed lines
|
||||
30/36 Test: parseTelemetryLine rejects non-ST and malformed lines
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=parseTelemetryLine rejects non-ST and malformed lines"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"parseTelemetryLine rejects non-ST and malformed lines" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 7 | 7 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"parseTelemetryLine rejects non-ST and malformed lines" end time: Jun 23 12:12 CEST
|
||||
"parseTelemetryLine rejects non-ST and malformed lines" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
31/36 Testing: parseTelemetryLine tolerates trailing CR
|
||||
31/36 Test: parseTelemetryLine tolerates trailing CR
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=parseTelemetryLine tolerates trailing CR"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"parseTelemetryLine tolerates trailing CR" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 2 | 2 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"parseTelemetryLine tolerates trailing CR" end time: Jun 23 12:12 CEST
|
||||
"parseTelemetryLine tolerates trailing CR" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
32/36 Testing: axisStateLabel maps every state
|
||||
32/36 Test: axisStateLabel maps every state
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=axisStateLabel maps every state"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"axisStateLabel maps every state" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 6 | 6 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"axisStateLabel maps every state" end time: Jun 23 12:12 CEST
|
||||
"axisStateLabel maps every state" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
33/36 Testing: axisStateColor signals health
|
||||
33/36 Test: axisStateColor signals health
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=axisStateColor signals health"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"axisStateColor signals health" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 6 | 6 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"axisStateColor signals health" end time: Jun 23 12:12 CEST
|
||||
"axisStateColor signals health" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
34/36 Testing: formatDegrees: one decimal, sign preserved, degree sign appended
|
||||
34/36 Test: formatDegrees: one decimal, sign preserved, degree sign appended
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=formatDegrees: one decimal\, sign preserved\, degree sign appended"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"formatDegrees: one decimal, sign preserved, degree sign appended" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 3 | 3 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"formatDegrees: one decimal, sign preserved, degree sign appended" end time: Jun 23 12:12 CEST
|
||||
"formatDegrees: one decimal, sign preserved, degree sign appended" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
35/36 Testing: formatTimeAgo: buckets and the never case
|
||||
35/36 Test: formatTimeAgo: buckets and the never case
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=formatTimeAgo: buckets and the never case"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"formatTimeAgo: buckets and the never case" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 5 | 5 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"formatTimeAgo: buckets and the never case" end time: Jun 23 12:12 CEST
|
||||
"formatTimeAgo: buckets and the never case" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
36/36 Testing: pendingSensorsView: all fields absent until drivers land
|
||||
36/36 Test: pendingSensorsView: all fields absent until drivers land
|
||||
Command: "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests" "--test-case=pendingSensorsView: all fields absent until drivers land"
|
||||
Directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
"pendingSensorsView: all fields absent until drivers land" start time: Jun 23 12:12 CEST
|
||||
Output:
|
||||
----------------------------------------------------------
|
||||
[doctest] doctest version is "2.4.11"
|
||||
[doctest] run with "--help" for options
|
||||
===============================================================================
|
||||
[doctest] test cases: 1 | 1 passed | 0 failed | 35 skipped
|
||||
[doctest] assertions: 15 | 15 passed | 0 failed |
|
||||
[doctest] Status: SUCCESS!
|
||||
<end of output>
|
||||
Test time = 0.00 sec
|
||||
----------------------------------------------------------
|
||||
Test Passed.
|
||||
"pendingSensorsView: all fields absent until drivers land" end time: Jun 23 12:12 CEST
|
||||
"pendingSensorsView: all fields absent until drivers land" time elapsed: 00:00:00
|
||||
----------------------------------------------------------
|
||||
|
||||
End testing: Jun 23 12:12 CEST
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# CMake generated Testfile for
|
||||
# Source directory: /home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src
|
||||
# Build directory: /home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-build
|
||||
#
|
||||
# This file includes the relevant testing commands required for
|
||||
# testing this directory and lists subdirectories to be tested as well.
|
||||
|
|
@ -1,242 +0,0 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
.PHONY : default_target
|
||||
|
||||
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||
.NOTPARALLEL:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/pedro/code/fwt_2a/software
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/pedro/code/fwt_2a/software/build-notui
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target test
|
||||
test:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..."
|
||||
/usr/bin/ctest $(ARGS)
|
||||
.PHONY : test
|
||||
|
||||
# Special rule for the target test
|
||||
test/fast: test
|
||||
.PHONY : test/fast
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
|
||||
/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
|
||||
/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# Special rule for the target list_install_components
|
||||
list_install_components:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\""
|
||||
.PHONY : list_install_components
|
||||
|
||||
# Special rule for the target list_install_components
|
||||
list_install_components/fast: list_install_components
|
||||
.PHONY : list_install_components/fast
|
||||
|
||||
# Special rule for the target install
|
||||
install: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
|
||||
/usr/bin/cmake -P cmake_install.cmake
|
||||
.PHONY : install
|
||||
|
||||
# Special rule for the target install
|
||||
install/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
|
||||
/usr/bin/cmake -P cmake_install.cmake
|
||||
.PHONY : install/fast
|
||||
|
||||
# Special rule for the target install/local
|
||||
install/local: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
|
||||
.PHONY : install/local
|
||||
|
||||
# Special rule for the target install/local
|
||||
install/local/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
|
||||
.PHONY : install/local/fast
|
||||
|
||||
# Special rule for the target install/strip
|
||||
install/strip: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
|
||||
.PHONY : install/strip
|
||||
|
||||
# Special rule for the target install/strip
|
||||
install/strip/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
|
||||
.PHONY : install/strip/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-notui/CMakeFiles /home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-build//CMakeFiles/progress.marks
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 _deps/doctest-build/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-notui/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 _deps/doctest-build/clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 _deps/doctest-build/preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 _deps/doctest-build/preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
# Convenience name for target.
|
||||
_deps/doctest-build/CMakeFiles/doctest_with_main.dir/rule:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 _deps/doctest-build/CMakeFiles/doctest_with_main.dir/rule
|
||||
.PHONY : _deps/doctest-build/CMakeFiles/doctest_with_main.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
doctest_with_main: _deps/doctest-build/CMakeFiles/doctest_with_main.dir/rule
|
||||
.PHONY : doctest_with_main
|
||||
|
||||
# fast build rule for target.
|
||||
doctest_with_main/fast:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f _deps/doctest-build/CMakeFiles/doctest_with_main.dir/build.make _deps/doctest-build/CMakeFiles/doctest_with_main.dir/build
|
||||
.PHONY : doctest_with_main/fast
|
||||
|
||||
doctest/parts/doctest.o: doctest/parts/doctest.cpp.o
|
||||
.PHONY : doctest/parts/doctest.o
|
||||
|
||||
# target to build an object file
|
||||
doctest/parts/doctest.cpp.o:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f _deps/doctest-build/CMakeFiles/doctest_with_main.dir/build.make _deps/doctest-build/CMakeFiles/doctest_with_main.dir/doctest/parts/doctest.cpp.o
|
||||
.PHONY : doctest/parts/doctest.cpp.o
|
||||
|
||||
doctest/parts/doctest.i: doctest/parts/doctest.cpp.i
|
||||
.PHONY : doctest/parts/doctest.i
|
||||
|
||||
# target to preprocess a source file
|
||||
doctest/parts/doctest.cpp.i:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f _deps/doctest-build/CMakeFiles/doctest_with_main.dir/build.make _deps/doctest-build/CMakeFiles/doctest_with_main.dir/doctest/parts/doctest.cpp.i
|
||||
.PHONY : doctest/parts/doctest.cpp.i
|
||||
|
||||
doctest/parts/doctest.s: doctest/parts/doctest.cpp.s
|
||||
.PHONY : doctest/parts/doctest.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
doctest/parts/doctest.cpp.s:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f _deps/doctest-build/CMakeFiles/doctest_with_main.dir/build.make _deps/doctest-build/CMakeFiles/doctest_with_main.dir/doctest/parts/doctest.cpp.s
|
||||
.PHONY : doctest/parts/doctest.cpp.s
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... edit_cache"
|
||||
@echo "... install"
|
||||
@echo "... install/local"
|
||||
@echo "... install/strip"
|
||||
@echo "... list_install_components"
|
||||
@echo "... rebuild_cache"
|
||||
@echo "... test"
|
||||
@echo "... doctest_with_main"
|
||||
@echo "... doctest/parts/doctest.o"
|
||||
@echo "... doctest/parts/doctest.i"
|
||||
@echo "... doctest/parts/doctest.s"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
if(NOT TARGET doctest::doctest)
|
||||
# Provide path for scripts
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/doctestTargets.cmake")
|
||||
endif()
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
# This is a basic version file for the Config-mode of find_package().
|
||||
# It is used by write_basic_package_version_file() as input file for configure_file()
|
||||
# to create a version-file which can be installed along a config.cmake file.
|
||||
#
|
||||
# The created file sets PACKAGE_VERSION_EXACT if the current version string and
|
||||
# the requested version string are exactly the same and it sets
|
||||
# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version,
|
||||
# but only if the requested major version is the same as the current one.
|
||||
# The variable CVF_VERSION must be set before calling configure_file().
|
||||
|
||||
|
||||
set(PACKAGE_VERSION "2.4.11")
|
||||
|
||||
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
|
||||
if("2.4.11" MATCHES "^([0-9]+)\\.")
|
||||
set(CVF_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
||||
if(NOT CVF_VERSION_MAJOR VERSION_EQUAL 0)
|
||||
string(REGEX REPLACE "^0+" "" CVF_VERSION_MAJOR "${CVF_VERSION_MAJOR}")
|
||||
endif()
|
||||
else()
|
||||
set(CVF_VERSION_MAJOR "2.4.11")
|
||||
endif()
|
||||
|
||||
if(PACKAGE_FIND_VERSION_RANGE)
|
||||
# both endpoints of the range must have the expected major version
|
||||
math (EXPR CVF_VERSION_MAJOR_NEXT "${CVF_VERSION_MAJOR} + 1")
|
||||
if (NOT PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
|
||||
OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX_MAJOR STREQUAL CVF_VERSION_MAJOR)
|
||||
OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND NOT PACKAGE_FIND_VERSION_MAX VERSION_LESS_EQUAL CVF_VERSION_MAJOR_NEXT)))
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
elseif(PACKAGE_FIND_VERSION_MIN_MAJOR STREQUAL CVF_VERSION_MAJOR
|
||||
AND ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS_EQUAL PACKAGE_FIND_VERSION_MAX)
|
||||
OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MAX)))
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
endif()
|
||||
else()
|
||||
if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
|
||||
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
else()
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
endif()
|
||||
|
||||
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
||||
set(PACKAGE_VERSION_EXACT TRUE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
|
||||
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "" STREQUAL "")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
|
||||
if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "")
|
||||
math(EXPR installedBits " * 8")
|
||||
set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
|
||||
set(PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
endif()
|
||||
|
|
@ -1 +0,0 @@
|
|||
Subproject commit ae7a13539fb71f270b87eb2e874fbac80bc8dda2
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file LICENSE.rst or https://cmake.org/licensing for details.
|
||||
|
||||
cmake_minimum_required(VERSION 4.3.3)
|
||||
|
||||
# Reject any attempt to use a toolchain file. We must not use one because
|
||||
# we could be downloading it here. If the CMAKE_TOOLCHAIN_FILE environment
|
||||
# variable is set, the cache variable will have been initialized from it.
|
||||
unset(CMAKE_TOOLCHAIN_FILE CACHE)
|
||||
unset(ENV{CMAKE_TOOLCHAIN_FILE})
|
||||
|
||||
# We name the project and the target for the ExternalProject_Add() call
|
||||
# to something that will highlight to the user what we are working on if
|
||||
# something goes wrong and an error message is produced.
|
||||
|
||||
project(doctest-populate NONE)
|
||||
|
||||
|
||||
# Pass through things we've already detected in the main project to avoid
|
||||
# paying the cost of redetecting them again in ExternalProject_Add()
|
||||
set(GIT_EXECUTABLE [==[/usr/bin/git]==])
|
||||
set(Git_VERSION [==[2.54.0]==])
|
||||
set_property(GLOBAL PROPERTY _CMAKE_FindGit_GIT_EXECUTABLE_VERSION
|
||||
[==[/usr/bin/git;2.54.0]==]
|
||||
)
|
||||
|
||||
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(doctest-populate
|
||||
"UPDATE_DISCONNECTED" "False" "GIT_REPOSITORY" "https://github.com/doctest/doctest.git" "EXTERNALPROJECT_INTERNAL_ARGUMENT_SEPARATOR" "GIT_TAG" "v2.4.11" "GIT_SHALLOW" "TRUE"
|
||||
SOURCE_DIR "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
BINARY_DIR "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-build"
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
TEST_COMMAND ""
|
||||
USES_TERMINAL_DOWNLOAD YES
|
||||
USES_TERMINAL_UPDATE YES
|
||||
USES_TERMINAL_PATCH YES
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -1,162 +0,0 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
.PHONY : default_target
|
||||
|
||||
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||
.NOTPARALLEL:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
|
||||
/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
|
||||
/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/CMakeFiles /home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild//CMakeFiles/progress.marks
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main codegen target
|
||||
codegen: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/CMakeFiles /home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild//CMakeFiles/progress.marks
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 codegen
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/CMakeFiles 0
|
||||
.PHONY : codegen
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named doctest-populate
|
||||
|
||||
# Build rule for target.
|
||||
doctest-populate: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 doctest-populate
|
||||
.PHONY : doctest-populate
|
||||
|
||||
# fast build rule for target.
|
||||
doctest-populate/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/doctest-populate.dir/build.make CMakeFiles/doctest-populate.dir/build
|
||||
.PHONY : doctest-populate/fast
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... codegen"
|
||||
@echo "... edit_cache"
|
||||
@echo "... rebuild_cache"
|
||||
@echo "... doctest-populate"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
# This is a generated file and its contents are an internal implementation detail.
|
||||
# The download step will be re-executed if anything in this file changes.
|
||||
# No other meaning or use of this file is supported.
|
||||
|
||||
method=git
|
||||
command=/usr/bin/cmake;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/tmp/doctest-populate-gitclone.cmake
|
||||
source_dir=/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src
|
||||
work_dir=/home/pedro/code/fwt_2a/software/build-notui/_deps
|
||||
repository=https://github.com/doctest/doctest.git
|
||||
remote=origin
|
||||
init_submodules=TRUE
|
||||
recurse_submodules=--recursive
|
||||
submodules=
|
||||
CMP0097=NEW
|
||||
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
# This is a generated file and its contents are an internal implementation detail.
|
||||
# The download step will be re-executed if anything in this file changes.
|
||||
# No other meaning or use of this file is supported.
|
||||
|
||||
method=git
|
||||
command=/usr/bin/cmake;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/tmp/doctest-populate-gitclone.cmake
|
||||
source_dir=/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src
|
||||
work_dir=/home/pedro/code/fwt_2a/software/build-notui/_deps
|
||||
repository=https://github.com/doctest/doctest.git
|
||||
remote=origin
|
||||
init_submodules=TRUE
|
||||
recurse_submodules=--recursive
|
||||
submodules=
|
||||
CMP0097=NEW
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# This is a generated file and its contents are an internal implementation detail.
|
||||
# The update step will be re-executed if anything in this file changes.
|
||||
# No other meaning or use of this file is supported.
|
||||
|
||||
command=
|
||||
work_dir=
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# This is a generated file and its contents are an internal implementation detail.
|
||||
# The patch step will be re-executed if anything in this file changes.
|
||||
# No other meaning or use of this file is supported.
|
||||
|
||||
command (connected)=/usr/bin/cmake;-Dcan_fetch=YES;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/tmp/doctest-populate-gitupdate.cmake
|
||||
command (disconnected)=/usr/bin/cmake;-Dcan_fetch=NO;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/tmp/doctest-populate-gitupdate.cmake
|
||||
work_dir=/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src
|
||||
|
|
@ -1 +0,0 @@
|
|||
cmd=''
|
||||
|
|
@ -1,87 +0,0 @@
|
|||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file LICENSE.rst or https://cmake.org/licensing for details.
|
||||
|
||||
cmake_minimum_required(VERSION ${CMAKE_VERSION}) # this file comes with cmake
|
||||
|
||||
if(EXISTS "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/src/doctest-populate-stamp/doctest-populate-gitclone-lastrun.txt" AND EXISTS "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/src/doctest-populate-stamp/doctest-populate-gitinfo.txt" AND
|
||||
"/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/src/doctest-populate-stamp/doctest-populate-gitclone-lastrun.txt" IS_NEWER_THAN "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/src/doctest-populate-stamp/doctest-populate-gitinfo.txt")
|
||||
message(VERBOSE
|
||||
"Avoiding repeated git clone, stamp file is up to date: "
|
||||
"'/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/src/doctest-populate-stamp/doctest-populate-gitclone-lastrun.txt'"
|
||||
)
|
||||
return()
|
||||
endif()
|
||||
|
||||
# Even at VERBOSE level, we don't want to see the commands executed, but
|
||||
# enabling them to be shown for DEBUG may be useful to help diagnose problems.
|
||||
cmake_language(GET_MESSAGE_LOG_LEVEL active_log_level)
|
||||
if(active_log_level MATCHES "DEBUG|TRACE")
|
||||
set(maybe_show_command COMMAND_ECHO STDOUT)
|
||||
else()
|
||||
set(maybe_show_command "")
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -rf "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
if(error_code)
|
||||
message(FATAL_ERROR "Failed to remove directory: '/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src'")
|
||||
endif()
|
||||
|
||||
# try the clone 3 times in case there is an odd git clone issue
|
||||
set(error_code 1)
|
||||
set(number_of_tries 0)
|
||||
while(error_code AND number_of_tries LESS 3)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git"
|
||||
clone --no-checkout --depth 1 --no-single-branch --config "advice.detachedHead=false" "https://github.com/doctest/doctest.git" "doctest-src"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
math(EXPR number_of_tries "${number_of_tries} + 1")
|
||||
endwhile()
|
||||
if(number_of_tries GREATER 1)
|
||||
message(NOTICE "Had to git clone more than once: ${number_of_tries} times.")
|
||||
endif()
|
||||
if(error_code)
|
||||
message(FATAL_ERROR "Failed to clone repository: 'https://github.com/doctest/doctest.git'")
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git"
|
||||
checkout "v2.4.11" --
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
if(error_code)
|
||||
message(FATAL_ERROR "Failed to checkout tag: 'v2.4.11'")
|
||||
endif()
|
||||
|
||||
set(init_submodules TRUE)
|
||||
if(init_submodules)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git"
|
||||
submodule update --recursive --init
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
endif()
|
||||
if(error_code)
|
||||
message(FATAL_ERROR "Failed to update submodules in: '/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src'")
|
||||
endif()
|
||||
|
||||
# Complete success, update the script-last-run stamp file:
|
||||
#
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E copy "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/src/doctest-populate-stamp/doctest-populate-gitinfo.txt" "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/src/doctest-populate-stamp/doctest-populate-gitclone-lastrun.txt"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
if(error_code)
|
||||
message(FATAL_ERROR "Failed to copy script-last-run stamp file: '/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/src/doctest-populate-stamp/doctest-populate-gitclone-lastrun.txt'")
|
||||
endif()
|
||||
|
|
@ -1,317 +0,0 @@
|
|||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file LICENSE.rst or https://cmake.org/licensing for details.
|
||||
|
||||
cmake_minimum_required(VERSION ${CMAKE_VERSION}) # this file comes with cmake
|
||||
|
||||
# Even at VERBOSE level, we don't want to see the commands executed, but
|
||||
# enabling them to be shown for DEBUG may be useful to help diagnose problems.
|
||||
cmake_language(GET_MESSAGE_LOG_LEVEL active_log_level)
|
||||
if(active_log_level MATCHES "DEBUG|TRACE")
|
||||
set(maybe_show_command COMMAND_ECHO STDOUT)
|
||||
else()
|
||||
set(maybe_show_command "")
|
||||
endif()
|
||||
|
||||
function(do_fetch)
|
||||
message(VERBOSE "Fetching latest from the remote origin")
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git fetch --tags --force "origin"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
COMMAND_ERROR_IS_FATAL LAST
|
||||
${maybe_show_command}
|
||||
)
|
||||
endfunction()
|
||||
|
||||
function(get_hash_for_ref ref out_var err_var)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git rev-parse "${ref}^0"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
RESULT_VARIABLE error_code
|
||||
OUTPUT_VARIABLE ref_hash
|
||||
ERROR_VARIABLE error_msg
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(error_code)
|
||||
set(${out_var} "" PARENT_SCOPE)
|
||||
else()
|
||||
set(${out_var} "${ref_hash}" PARENT_SCOPE)
|
||||
endif()
|
||||
set(${err_var} "${error_msg}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
get_hash_for_ref(HEAD head_sha error_msg)
|
||||
if(head_sha STREQUAL "")
|
||||
message(FATAL_ERROR "Failed to get the hash for HEAD:\n${error_msg}")
|
||||
endif()
|
||||
|
||||
if("${can_fetch}" STREQUAL "")
|
||||
set(can_fetch "YES")
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git show-ref "v2.4.11"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
OUTPUT_VARIABLE show_ref_output
|
||||
)
|
||||
if(show_ref_output MATCHES "^[a-z0-9]+[ \\t]+refs/remotes/")
|
||||
# Given a full remote/branch-name and we know about it already. Since
|
||||
# branches can move around, we should always fetch, if permitted.
|
||||
if(can_fetch)
|
||||
do_fetch()
|
||||
endif()
|
||||
set(checkout_name "v2.4.11")
|
||||
|
||||
elseif(show_ref_output MATCHES "^[a-z0-9]+[ \\t]+refs/tags/")
|
||||
# Given a tag name that we already know about. We don't know if the tag we
|
||||
# have matches the remote though (tags can move), so we should fetch. As a
|
||||
# special case to preserve backward compatibility, if we are already at the
|
||||
# same commit as the tag we hold locally, don't do a fetch and assume the tag
|
||||
# hasn't moved on the remote.
|
||||
# FIXME: We should provide an option to always fetch for this case
|
||||
get_hash_for_ref("v2.4.11" tag_sha error_msg)
|
||||
if(tag_sha STREQUAL head_sha)
|
||||
message(VERBOSE "Already at requested tag: v2.4.11")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(can_fetch)
|
||||
do_fetch()
|
||||
endif()
|
||||
set(checkout_name "v2.4.11")
|
||||
|
||||
elseif(show_ref_output MATCHES "^[a-z0-9]+[ \\t]+refs/heads/")
|
||||
# Given a branch name without any remote and we already have a branch by that
|
||||
# name. We might already have that branch checked out or it might be a
|
||||
# different branch. It isn't fully safe to use a bare branch name without the
|
||||
# remote, so do a fetch (if allowed) and replace the ref with one that
|
||||
# includes the remote.
|
||||
if(can_fetch)
|
||||
do_fetch()
|
||||
endif()
|
||||
set(checkout_name "origin/v2.4.11")
|
||||
|
||||
else()
|
||||
get_hash_for_ref("v2.4.11" tag_sha error_msg)
|
||||
if(tag_sha STREQUAL head_sha)
|
||||
# Have the right commit checked out already
|
||||
message(VERBOSE "Already at requested ref: ${tag_sha}")
|
||||
return()
|
||||
|
||||
elseif(tag_sha STREQUAL "")
|
||||
# We don't know about this ref yet, so we have no choice but to fetch.
|
||||
if(NOT can_fetch)
|
||||
message(FATAL_ERROR
|
||||
"Requested git ref \"v2.4.11\" is not present locally, and not "
|
||||
"allowed to contact remote due to UPDATE_DISCONNECTED setting."
|
||||
)
|
||||
endif()
|
||||
|
||||
# We deliberately swallow any error message at the default log level
|
||||
# because it can be confusing for users to see a failed git command.
|
||||
# That failure is being handled here, so it isn't an error.
|
||||
if(NOT error_msg STREQUAL "")
|
||||
message(DEBUG "${error_msg}")
|
||||
endif()
|
||||
do_fetch()
|
||||
set(checkout_name "v2.4.11")
|
||||
|
||||
else()
|
||||
# We have the commit, so we know we were asked to find a commit hash
|
||||
# (otherwise it would have been handled further above), but we don't
|
||||
# have that commit checked out yet. We don't need to fetch from the remote.
|
||||
set(checkout_name "v2.4.11")
|
||||
if(NOT error_msg STREQUAL "")
|
||||
message(WARNING "${error_msg}")
|
||||
endif()
|
||||
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(git_update_strategy "REBASE")
|
||||
if(git_update_strategy STREQUAL "")
|
||||
# Backward compatibility requires REBASE as the default behavior
|
||||
set(git_update_strategy REBASE)
|
||||
endif()
|
||||
|
||||
if(git_update_strategy MATCHES "^REBASE(_CHECKOUT)?$")
|
||||
# Asked to potentially try to rebase first, maybe with fallback to checkout.
|
||||
# We can't if we aren't already on a branch and we shouldn't if that local
|
||||
# branch isn't tracking the one we want to checkout.
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git symbolic-ref -q HEAD
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
OUTPUT_VARIABLE current_branch
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
# Don't test for an error. If this isn't a branch, we get a non-zero error
|
||||
# code but empty output.
|
||||
)
|
||||
|
||||
if(current_branch STREQUAL "")
|
||||
# Not on a branch, checkout is the only sensible option since any rebase
|
||||
# would always fail (and backward compatibility requires us to checkout in
|
||||
# this situation)
|
||||
set(git_update_strategy CHECKOUT)
|
||||
|
||||
else()
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git for-each-ref "--format=%(upstream:short)" "${current_branch}"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
OUTPUT_VARIABLE upstream_branch
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
COMMAND_ERROR_IS_FATAL ANY # There is no error if no upstream is set
|
||||
)
|
||||
if(NOT upstream_branch STREQUAL checkout_name)
|
||||
# Not safe to rebase when asked to checkout a different branch to the one
|
||||
# we are tracking. If we did rebase, we could end up with arbitrary
|
||||
# commits added to the ref we were asked to checkout if the current local
|
||||
# branch happens to be able to rebase onto the target branch. There would
|
||||
# be no error message and the user wouldn't know this was occurring.
|
||||
set(git_update_strategy CHECKOUT)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
elseif(NOT git_update_strategy STREQUAL "CHECKOUT")
|
||||
message(FATAL_ERROR "Unsupported git update strategy: ${git_update_strategy}")
|
||||
endif()
|
||||
|
||||
|
||||
# Check if stash is needed
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git status --porcelain
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
RESULT_VARIABLE error_code
|
||||
OUTPUT_VARIABLE repo_status
|
||||
)
|
||||
if(error_code)
|
||||
message(FATAL_ERROR "Failed to get the status")
|
||||
endif()
|
||||
string(LENGTH "${repo_status}" need_stash)
|
||||
|
||||
# If not in clean state, stash changes in order to be able to perform a
|
||||
# rebase or checkout without losing those changes permanently
|
||||
if(need_stash)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git stash save --quiet;--include-untracked
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
${maybe_show_command}
|
||||
)
|
||||
endif()
|
||||
|
||||
if(git_update_strategy STREQUAL "CHECKOUT")
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git checkout "${checkout_name}"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
${maybe_show_command}
|
||||
)
|
||||
else()
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git rebase "${checkout_name}"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
RESULT_VARIABLE error_code
|
||||
OUTPUT_VARIABLE rebase_output
|
||||
ERROR_VARIABLE rebase_output
|
||||
)
|
||||
if(error_code)
|
||||
# Rebase failed, undo the rebase attempt before continuing
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git rebase --abort
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
${maybe_show_command}
|
||||
)
|
||||
|
||||
if(NOT git_update_strategy STREQUAL "REBASE_CHECKOUT")
|
||||
# Not allowed to do a checkout as a fallback, so cannot proceed
|
||||
if(need_stash)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git stash pop --index --quiet
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
${maybe_show_command}
|
||||
)
|
||||
endif()
|
||||
message(FATAL_ERROR "\nFailed to rebase in: '/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src'."
|
||||
"\nOutput from the attempted rebase follows:"
|
||||
"\n${rebase_output}"
|
||||
"\n\nYou will have to resolve the conflicts manually")
|
||||
endif()
|
||||
|
||||
# Fall back to checkout. We create an annotated tag so that the user
|
||||
# can manually inspect the situation and revert if required.
|
||||
# We can't log the failed rebase output because MSVC sees it and
|
||||
# intervenes, causing the build to fail even though it completes.
|
||||
# Write it to a file instead.
|
||||
string(TIMESTAMP tag_timestamp "%Y%m%dT%H%M%S" UTC)
|
||||
set(tag_name _cmake_ExternalProject_moved_from_here_${tag_timestamp}Z)
|
||||
set(error_log_file ${CMAKE_CURRENT_LIST_DIR}/rebase_error_${tag_timestamp}Z.log)
|
||||
file(WRITE ${error_log_file} "${rebase_output}")
|
||||
message(WARNING "Rebase failed, output has been saved to ${error_log_file}"
|
||||
"\nFalling back to checkout, previous commit tagged as ${tag_name}")
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git tag -a
|
||||
-m "ExternalProject attempting to move from here to ${checkout_name}"
|
||||
${tag_name}
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
${maybe_show_command}
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git checkout "${checkout_name}"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
${maybe_show_command}
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(need_stash)
|
||||
# Put back the stashed changes
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git stash pop --index --quiet
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
if(error_code)
|
||||
# Stash pop --index failed: Try again dropping the index
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git reset --hard --quiet
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
${maybe_show_command}
|
||||
)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git stash pop --quiet
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
if(error_code)
|
||||
# Stash pop failed: Restore previous state.
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git reset --hard --quiet ${head_sha}
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
${maybe_show_command}
|
||||
)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git stash pop --index --quiet
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
${maybe_show_command}
|
||||
)
|
||||
message(FATAL_ERROR "\nFailed to unstash changes in: '/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src'."
|
||||
"\nYou will have to resolve the conflicts manually")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(init_submodules "TRUE")
|
||||
if(init_submodules)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git"
|
||||
--git-dir=.git
|
||||
submodule update --recursive --init
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
${maybe_show_command}
|
||||
)
|
||||
endif()
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file LICENSE.rst or https://cmake.org/licensing for details.
|
||||
|
||||
cmake_minimum_required(VERSION ${CMAKE_VERSION}) # this file comes with cmake
|
||||
|
||||
# If CMAKE_DISABLE_SOURCE_CHANGES is set to true and the source directory is an
|
||||
# existing directory in our source tree, calling file(MAKE_DIRECTORY) on it
|
||||
# would cause a fatal error, even though it would be a no-op.
|
||||
if(NOT EXISTS "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src")
|
||||
file(MAKE_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-src")
|
||||
endif()
|
||||
file(MAKE_DIRECTORY
|
||||
"/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-build"
|
||||
"/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix"
|
||||
"/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/tmp"
|
||||
"/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/src/doctest-populate-stamp"
|
||||
"/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/src"
|
||||
"/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/src/doctest-populate-stamp"
|
||||
)
|
||||
|
||||
set(configSubDirs )
|
||||
foreach(subDir IN LISTS configSubDirs)
|
||||
file(MAKE_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/src/doctest-populate-stamp/${subDir}")
|
||||
endforeach()
|
||||
if(cfgdir)
|
||||
file(MAKE_DIRECTORY "/home/pedro/code/fwt_2a/software/build-notui/_deps/doctest-subbuild/doctest-populate-prefix/src/doctest-populate-stamp${cfgdir}") # cfgdir has leading slash
|
||||
endif()
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,8 +0,0 @@
|
|||
# CMake generated Testfile for
|
||||
# Source directory: /home/pedro/code/fwt_2a/software/tests
|
||||
# Build directory: /home/pedro/code/fwt_2a/software/build-notui/tests
|
||||
#
|
||||
# This file includes the relevant testing commands required for
|
||||
# testing this directory and lists subdirectories to be tested as well.
|
||||
include("/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests_include-b858cb2.cmake")
|
||||
subdirs("../_deps/doctest-build")
|
||||
|
|
@ -1,485 +0,0 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
.PHONY : default_target
|
||||
|
||||
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||
.NOTPARALLEL:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/pedro/code/fwt_2a/software
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/pedro/code/fwt_2a/software/build-notui
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target test
|
||||
test:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..."
|
||||
/usr/bin/ctest $(ARGS)
|
||||
.PHONY : test
|
||||
|
||||
# Special rule for the target test
|
||||
test/fast: test
|
||||
.PHONY : test/fast
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
|
||||
/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
|
||||
/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# Special rule for the target list_install_components
|
||||
list_install_components:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\""
|
||||
.PHONY : list_install_components
|
||||
|
||||
# Special rule for the target list_install_components
|
||||
list_install_components/fast: list_install_components
|
||||
.PHONY : list_install_components/fast
|
||||
|
||||
# Special rule for the target install
|
||||
install: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
|
||||
/usr/bin/cmake -P cmake_install.cmake
|
||||
.PHONY : install
|
||||
|
||||
# Special rule for the target install
|
||||
install/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..."
|
||||
/usr/bin/cmake -P cmake_install.cmake
|
||||
.PHONY : install/fast
|
||||
|
||||
# Special rule for the target install/local
|
||||
install/local: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
|
||||
.PHONY : install/local
|
||||
|
||||
# Special rule for the target install/local
|
||||
install/local/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
|
||||
.PHONY : install/local/fast
|
||||
|
||||
# Special rule for the target install/strip
|
||||
install/strip: preinstall
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
|
||||
.PHONY : install/strip
|
||||
|
||||
# Special rule for the target install/strip
|
||||
install/strip/fast: preinstall/fast
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..."
|
||||
/usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
|
||||
.PHONY : install/strip/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-notui/CMakeFiles /home/pedro/code/fwt_2a/software/build-notui/tests//CMakeFiles/progress.marks
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 tests/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-notui/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 tests/clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 tests/preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 tests/preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
# Convenience name for target.
|
||||
tests/CMakeFiles/fgc_tests.dir/rule:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 tests/CMakeFiles/fgc_tests.dir/rule
|
||||
.PHONY : tests/CMakeFiles/fgc_tests.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
fgc_tests: tests/CMakeFiles/fgc_tests.dir/rule
|
||||
.PHONY : fgc_tests
|
||||
|
||||
# fast build rule for target.
|
||||
fgc_tests/fast:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/build
|
||||
.PHONY : fgc_tests/fast
|
||||
|
||||
doctest_main.o: doctest_main.cpp.o
|
||||
.PHONY : doctest_main.o
|
||||
|
||||
# target to build an object file
|
||||
doctest_main.cpp.o:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/doctest_main.cpp.o
|
||||
.PHONY : doctest_main.cpp.o
|
||||
|
||||
doctest_main.i: doctest_main.cpp.i
|
||||
.PHONY : doctest_main.i
|
||||
|
||||
# target to preprocess a source file
|
||||
doctest_main.cpp.i:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/doctest_main.cpp.i
|
||||
.PHONY : doctest_main.cpp.i
|
||||
|
||||
doctest_main.s: doctest_main.cpp.s
|
||||
.PHONY : doctest_main.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
doctest_main.cpp.s:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/doctest_main.cpp.s
|
||||
.PHONY : doctest_main.cpp.s
|
||||
|
||||
test_command.o: test_command.cpp.o
|
||||
.PHONY : test_command.o
|
||||
|
||||
# target to build an object file
|
||||
test_command.cpp.o:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_command.cpp.o
|
||||
.PHONY : test_command.cpp.o
|
||||
|
||||
test_command.i: test_command.cpp.i
|
||||
.PHONY : test_command.i
|
||||
|
||||
# target to preprocess a source file
|
||||
test_command.cpp.i:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_command.cpp.i
|
||||
.PHONY : test_command.cpp.i
|
||||
|
||||
test_command.s: test_command.cpp.s
|
||||
.PHONY : test_command.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
test_command.cpp.s:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_command.cpp.s
|
||||
.PHONY : test_command.cpp.s
|
||||
|
||||
test_config.o: test_config.cpp.o
|
||||
.PHONY : test_config.o
|
||||
|
||||
# target to build an object file
|
||||
test_config.cpp.o:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_config.cpp.o
|
||||
.PHONY : test_config.cpp.o
|
||||
|
||||
test_config.i: test_config.cpp.i
|
||||
.PHONY : test_config.i
|
||||
|
||||
# target to preprocess a source file
|
||||
test_config.cpp.i:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_config.cpp.i
|
||||
.PHONY : test_config.cpp.i
|
||||
|
||||
test_config.s: test_config.cpp.s
|
||||
.PHONY : test_config.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
test_config.cpp.s:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_config.cpp.s
|
||||
.PHONY : test_config.cpp.s
|
||||
|
||||
test_geometry.o: test_geometry.cpp.o
|
||||
.PHONY : test_geometry.o
|
||||
|
||||
# target to build an object file
|
||||
test_geometry.cpp.o:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_geometry.cpp.o
|
||||
.PHONY : test_geometry.cpp.o
|
||||
|
||||
test_geometry.i: test_geometry.cpp.i
|
||||
.PHONY : test_geometry.i
|
||||
|
||||
# target to preprocess a source file
|
||||
test_geometry.cpp.i:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_geometry.cpp.i
|
||||
.PHONY : test_geometry.cpp.i
|
||||
|
||||
test_geometry.s: test_geometry.cpp.s
|
||||
.PHONY : test_geometry.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
test_geometry.cpp.s:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_geometry.cpp.s
|
||||
.PHONY : test_geometry.cpp.s
|
||||
|
||||
test_logger.o: test_logger.cpp.o
|
||||
.PHONY : test_logger.o
|
||||
|
||||
# target to build an object file
|
||||
test_logger.cpp.o:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_logger.cpp.o
|
||||
.PHONY : test_logger.cpp.o
|
||||
|
||||
test_logger.i: test_logger.cpp.i
|
||||
.PHONY : test_logger.i
|
||||
|
||||
# target to preprocess a source file
|
||||
test_logger.cpp.i:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_logger.cpp.i
|
||||
.PHONY : test_logger.cpp.i
|
||||
|
||||
test_logger.s: test_logger.cpp.s
|
||||
.PHONY : test_logger.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
test_logger.cpp.s:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_logger.cpp.s
|
||||
.PHONY : test_logger.cpp.s
|
||||
|
||||
test_paths.o: test_paths.cpp.o
|
||||
.PHONY : test_paths.o
|
||||
|
||||
# target to build an object file
|
||||
test_paths.cpp.o:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_paths.cpp.o
|
||||
.PHONY : test_paths.cpp.o
|
||||
|
||||
test_paths.i: test_paths.cpp.i
|
||||
.PHONY : test_paths.i
|
||||
|
||||
# target to preprocess a source file
|
||||
test_paths.cpp.i:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_paths.cpp.i
|
||||
.PHONY : test_paths.cpp.i
|
||||
|
||||
test_paths.s: test_paths.cpp.s
|
||||
.PHONY : test_paths.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
test_paths.cpp.s:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_paths.cpp.s
|
||||
.PHONY : test_paths.cpp.s
|
||||
|
||||
test_scangrid.o: test_scangrid.cpp.o
|
||||
.PHONY : test_scangrid.o
|
||||
|
||||
# target to build an object file
|
||||
test_scangrid.cpp.o:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_scangrid.cpp.o
|
||||
.PHONY : test_scangrid.cpp.o
|
||||
|
||||
test_scangrid.i: test_scangrid.cpp.i
|
||||
.PHONY : test_scangrid.i
|
||||
|
||||
# target to preprocess a source file
|
||||
test_scangrid.cpp.i:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_scangrid.cpp.i
|
||||
.PHONY : test_scangrid.cpp.i
|
||||
|
||||
test_scangrid.s: test_scangrid.cpp.s
|
||||
.PHONY : test_scangrid.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
test_scangrid.cpp.s:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_scangrid.cpp.s
|
||||
.PHONY : test_scangrid.cpp.s
|
||||
|
||||
test_scheduler.o: test_scheduler.cpp.o
|
||||
.PHONY : test_scheduler.o
|
||||
|
||||
# target to build an object file
|
||||
test_scheduler.cpp.o:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_scheduler.cpp.o
|
||||
.PHONY : test_scheduler.cpp.o
|
||||
|
||||
test_scheduler.i: test_scheduler.cpp.i
|
||||
.PHONY : test_scheduler.i
|
||||
|
||||
# target to preprocess a source file
|
||||
test_scheduler.cpp.i:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_scheduler.cpp.i
|
||||
.PHONY : test_scheduler.cpp.i
|
||||
|
||||
test_scheduler.s: test_scheduler.cpp.s
|
||||
.PHONY : test_scheduler.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
test_scheduler.cpp.s:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_scheduler.cpp.s
|
||||
.PHONY : test_scheduler.cpp.s
|
||||
|
||||
test_telemetry.o: test_telemetry.cpp.o
|
||||
.PHONY : test_telemetry.o
|
||||
|
||||
# target to build an object file
|
||||
test_telemetry.cpp.o:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_telemetry.cpp.o
|
||||
.PHONY : test_telemetry.cpp.o
|
||||
|
||||
test_telemetry.i: test_telemetry.cpp.i
|
||||
.PHONY : test_telemetry.i
|
||||
|
||||
# target to preprocess a source file
|
||||
test_telemetry.cpp.i:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_telemetry.cpp.i
|
||||
.PHONY : test_telemetry.cpp.i
|
||||
|
||||
test_telemetry.s: test_telemetry.cpp.s
|
||||
.PHONY : test_telemetry.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
test_telemetry.cpp.s:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_telemetry.cpp.s
|
||||
.PHONY : test_telemetry.cpp.s
|
||||
|
||||
test_uisnapshot.o: test_uisnapshot.cpp.o
|
||||
.PHONY : test_uisnapshot.o
|
||||
|
||||
# target to build an object file
|
||||
test_uisnapshot.cpp.o:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_uisnapshot.cpp.o
|
||||
.PHONY : test_uisnapshot.cpp.o
|
||||
|
||||
test_uisnapshot.i: test_uisnapshot.cpp.i
|
||||
.PHONY : test_uisnapshot.i
|
||||
|
||||
# target to preprocess a source file
|
||||
test_uisnapshot.cpp.i:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_uisnapshot.cpp.i
|
||||
.PHONY : test_uisnapshot.cpp.i
|
||||
|
||||
test_uisnapshot.s: test_uisnapshot.cpp.s
|
||||
.PHONY : test_uisnapshot.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
test_uisnapshot.cpp.s:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(MAKE) $(MAKESILENT) -f tests/CMakeFiles/fgc_tests.dir/build.make tests/CMakeFiles/fgc_tests.dir/test_uisnapshot.cpp.s
|
||||
.PHONY : test_uisnapshot.cpp.s
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... edit_cache"
|
||||
@echo "... install"
|
||||
@echo "... install/local"
|
||||
@echo "... install/strip"
|
||||
@echo "... list_install_components"
|
||||
@echo "... rebuild_cache"
|
||||
@echo "... test"
|
||||
@echo "... fgc_tests"
|
||||
@echo "... doctest_main.o"
|
||||
@echo "... doctest_main.i"
|
||||
@echo "... doctest_main.s"
|
||||
@echo "... test_command.o"
|
||||
@echo "... test_command.i"
|
||||
@echo "... test_command.s"
|
||||
@echo "... test_config.o"
|
||||
@echo "... test_config.i"
|
||||
@echo "... test_config.s"
|
||||
@echo "... test_geometry.o"
|
||||
@echo "... test_geometry.i"
|
||||
@echo "... test_geometry.s"
|
||||
@echo "... test_logger.o"
|
||||
@echo "... test_logger.i"
|
||||
@echo "... test_logger.s"
|
||||
@echo "... test_paths.o"
|
||||
@echo "... test_paths.i"
|
||||
@echo "... test_paths.s"
|
||||
@echo "... test_scangrid.o"
|
||||
@echo "... test_scangrid.i"
|
||||
@echo "... test_scangrid.s"
|
||||
@echo "... test_scheduler.o"
|
||||
@echo "... test_scheduler.i"
|
||||
@echo "... test_scheduler.s"
|
||||
@echo "... test_telemetry.o"
|
||||
@echo "... test_telemetry.i"
|
||||
@echo "... test_telemetry.s"
|
||||
@echo "... test_uisnapshot.o"
|
||||
@echo "... test_uisnapshot.i"
|
||||
@echo "... test_uisnapshot.s"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
cd /home/pedro/code/fwt_2a/software/build-notui && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
||||
Binary file not shown.
|
|
@ -1,5 +0,0 @@
|
|||
if(EXISTS "/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests_tests-b858cb2.cmake")
|
||||
include("/home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests_tests-b858cb2.cmake")
|
||||
else()
|
||||
add_test(fgc_tests_NOT_BUILT-b858cb2 fgc_tests_NOT_BUILT-b858cb2)
|
||||
endif()
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
add_test( [==[parseCommand handles single-verb commands]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseCommand handles single-verb commands]==])
|
||||
set_tests_properties( [==[parseCommand handles single-verb commands]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[parseCommand splits device and trailing numeric value]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseCommand splits device and trailing numeric value]==])
|
||||
set_tests_properties( [==[parseCommand splits device and trailing numeric value]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[parseCommand keeps option plus value]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseCommand keeps option plus value]==])
|
||||
set_tests_properties( [==[parseCommand keeps option plus value]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[parseCommand keeps non-numeric option (raw motor command)]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseCommand keeps non-numeric option (raw motor command)]==])
|
||||
set_tests_properties( [==[parseCommand keeps non-numeric option (raw motor command)]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[parseCommand on empty input]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseCommand on empty input]==])
|
||||
set_tests_properties( [==[parseCommand on empty input]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[ConfigLoader maps and defaults typed values]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=ConfigLoader maps and defaults typed values]==])
|
||||
set_tests_properties( [==[ConfigLoader maps and defaults typed values]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[environment overrides file credentials]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=environment overrides file credentials]==])
|
||||
set_tests_properties( [==[environment overrides file credentials]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[ConfigLoader validates input]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=ConfigLoader validates input]==])
|
||||
set_tests_properties( [==[ConfigLoader validates input]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[AxisMap converts degrees and counts with an offset]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=AxisMap converts degrees and counts with an offset]==])
|
||||
set_tests_properties( [==[AxisMap converts degrees and counts with an offset]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[AxisMap clamps to the soft range on the way out]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=AxisMap clamps to the soft range on the way out]==])
|
||||
set_tests_properties( [==[AxisMap clamps to the soft range on the way out]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[AxisMap supports a negative (flipped) direction]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=AxisMap supports a negative (flipped) direction]==])
|
||||
set_tests_properties( [==[AxisMap supports a negative (flipped) direction]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[AxisMap toDeg guards against a zero scale]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=AxisMap toDeg guards against a zero scale]==])
|
||||
set_tests_properties( [==[AxisMap toDeg guards against a zero scale]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[parseCategories maps names, all/none, and flags unknown tokens]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseCategories maps names\, all/none\, and flags unknown tokens]==])
|
||||
set_tests_properties( [==[parseCategories maps names, all/none, and flags unknown tokens]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[catFromString round-trips and flags unknown]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=catFromString round-trips and flags unknown]==])
|
||||
set_tests_properties( [==[catFromString round-trips and flags unknown]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[category enable/disable/set round-trip]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=category enable/disable/set round-trip]==])
|
||||
set_tests_properties( [==[category enable/disable/set round-trip]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[LOG_TRACE_CAT gating is independent of the linear level]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=LOG_TRACE_CAT gating is independent of the linear level]==])
|
||||
set_tests_properties( [==[LOG_TRACE_CAT gating is independent of the linear level]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[expandUser expands ~ and environment variables]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=expandUser expands ~ and environment variables]==])
|
||||
set_tests_properties( [==[expandUser expands ~ and environment variables]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[configSearchPaths honours the CLI argument first]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=configSearchPaths honours the CLI argument first]==])
|
||||
set_tests_properties( [==[configSearchPaths honours the CLI argument first]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[parseScanCsv reads waypoints and skips comments/blanks]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseScanCsv reads waypoints and skips comments/blanks]==])
|
||||
set_tests_properties( [==[parseScanCsv reads waypoints and skips comments/blanks]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[parseScanCsv throws on a malformed line]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseScanCsv throws on a malformed line]==])
|
||||
set_tests_properties( [==[parseScanCsv throws on a malformed line]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[generateScanGrid produces yaw_intervals x pitch_levels points]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=generateScanGrid produces yaw_intervals x pitch_levels points]==])
|
||||
set_tests_properties( [==[generateScanGrid produces yaw_intervals x pitch_levels points]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[ScanGrid cursor ping-pongs at both ends]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=ScanGrid cursor ping-pongs at both ends]==])
|
||||
set_tests_properties( [==[ScanGrid cursor ping-pongs at both ends]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[ScanGrid single point and empty are safe]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=ScanGrid single point and empty are safe]==])
|
||||
set_tests_properties( [==[ScanGrid single point and empty are safe]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[CaptureScheduler sweeps the scan grid with MOVE + settle + trigger]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=CaptureScheduler sweeps the scan grid with MOVE + settle + trigger]==])
|
||||
set_tests_properties( [==[CaptureScheduler sweeps the scan grid with MOVE + settle + trigger]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[CaptureScheduler ControlCode 1 drives yaw to the target heading]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=CaptureScheduler ControlCode 1 drives yaw to the target heading]==])
|
||||
set_tests_properties( [==[CaptureScheduler ControlCode 1 drives yaw to the target heading]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[CaptureScheduler clamps the target heading to the soft range]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=CaptureScheduler clamps the target heading to the soft range]==])
|
||||
set_tests_properties( [==[CaptureScheduler clamps the target heading to the soft range]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[CaptureScheduler stays idle when capture inactive]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=CaptureScheduler stays idle when capture inactive]==])
|
||||
set_tests_properties( [==[CaptureScheduler stays idle when capture inactive]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[parseTelemetryLine reads a two-axis ST line]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseTelemetryLine reads a two-axis ST line]==])
|
||||
set_tests_properties( [==[parseTelemetryLine reads a two-axis ST line]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[parseTelemetryLine reads a yaw-only ST line (no flags field)]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseTelemetryLine reads a yaw-only ST line (no flags field)]==])
|
||||
set_tests_properties( [==[parseTelemetryLine reads a yaw-only ST line (no flags field)]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[parseTelemetryLine rejects non-ST and malformed lines]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseTelemetryLine rejects non-ST and malformed lines]==])
|
||||
set_tests_properties( [==[parseTelemetryLine rejects non-ST and malformed lines]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[parseTelemetryLine tolerates trailing CR]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=parseTelemetryLine tolerates trailing CR]==])
|
||||
set_tests_properties( [==[parseTelemetryLine tolerates trailing CR]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[axisStateLabel maps every state]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=axisStateLabel maps every state]==])
|
||||
set_tests_properties( [==[axisStateLabel maps every state]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[axisStateColor signals health]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=axisStateColor signals health]==])
|
||||
set_tests_properties( [==[axisStateColor signals health]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[formatDegrees: one decimal, sign preserved, degree sign appended]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=formatDegrees: one decimal\, sign preserved\, degree sign appended]==])
|
||||
set_tests_properties( [==[formatDegrees: one decimal, sign preserved, degree sign appended]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[formatTimeAgo: buckets and the never case]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=formatTimeAgo: buckets and the never case]==])
|
||||
set_tests_properties( [==[formatTimeAgo: buckets and the never case]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
add_test( [==[pendingSensorsView: all fields absent until drivers land]==] /home/pedro/code/fwt_2a/software/build-notui/tests/fgc_tests [==[--test-case=pendingSensorsView: all fields absent until drivers land]==])
|
||||
set_tests_properties( [==[pendingSensorsView: all fields absent until drivers land]==] PROPERTIES WORKING_DIRECTORY /home/pedro/code/fwt_2a/software/build-notui/tests LABELS)
|
||||
set( fgc_tests_TESTS [==[parseCommand handles single-verb commands]==] [==[parseCommand splits device and trailing numeric value]==] [==[parseCommand keeps option plus value]==] [==[parseCommand keeps non-numeric option (raw motor command)]==] [==[parseCommand on empty input]==] [==[ConfigLoader maps and defaults typed values]==] [==[environment overrides file credentials]==] [==[ConfigLoader validates input]==] [==[AxisMap converts degrees and counts with an offset]==] [==[AxisMap clamps to the soft range on the way out]==] [==[AxisMap supports a negative (flipped) direction]==] [==[AxisMap toDeg guards against a zero scale]==] [==[parseCategories maps names, all/none, and flags unknown tokens]==] [==[catFromString round-trips and flags unknown]==] [==[category enable/disable/set round-trip]==] [==[LOG_TRACE_CAT gating is independent of the linear level]==] [==[expandUser expands ~ and environment variables]==] [==[configSearchPaths honours the CLI argument first]==] [==[parseScanCsv reads waypoints and skips comments/blanks]==] [==[parseScanCsv throws on a malformed line]==] [==[generateScanGrid produces yaw_intervals x pitch_levels points]==] [==[ScanGrid cursor ping-pongs at both ends]==] [==[ScanGrid single point and empty are safe]==] [==[CaptureScheduler sweeps the scan grid with MOVE + settle + trigger]==] [==[CaptureScheduler ControlCode 1 drives yaw to the target heading]==] [==[CaptureScheduler clamps the target heading to the soft range]==] [==[CaptureScheduler stays idle when capture inactive]==] [==[parseTelemetryLine reads a two-axis ST line]==] [==[parseTelemetryLine reads a yaw-only ST line (no flags field)]==] [==[parseTelemetryLine rejects non-ST and malformed lines]==] [==[parseTelemetryLine tolerates trailing CR]==] [==[axisStateLabel maps every state]==] [==[axisStateColor signals health]==] [==[formatDegrees: one decimal, sign preserved, degree sign appended]==] [==[formatTimeAgo: buckets and the never case]==] [==[pendingSensorsView: all fields absent until drivers land]==])
|
||||
|
|
@ -1,669 +0,0 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
.PHONY : default_target
|
||||
|
||||
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||
.NOTPARALLEL:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/pedro/code/fwt_2a/software
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/pedro/code/fwt_2a/software/build-tui
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
|
||||
/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
|
||||
/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-tui/CMakeFiles /home/pedro/code/fwt_2a/software/build-tui//CMakeFiles/progress.marks
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-tui/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named fgc_core
|
||||
|
||||
# Build rule for target.
|
||||
fgc_core: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 fgc_core
|
||||
.PHONY : fgc_core
|
||||
|
||||
# fast build rule for target.
|
||||
fgc_core/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/build
|
||||
.PHONY : fgc_core/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named fire_gimbal_control
|
||||
|
||||
# Build rule for target.
|
||||
fire_gimbal_control: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 fire_gimbal_control
|
||||
.PHONY : fire_gimbal_control
|
||||
|
||||
# fast build rule for target.
|
||||
fire_gimbal_control/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/build
|
||||
.PHONY : fire_gimbal_control/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named screen
|
||||
|
||||
# Build rule for target.
|
||||
screen: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 screen
|
||||
.PHONY : screen
|
||||
|
||||
# fast build rule for target.
|
||||
screen/fast:
|
||||
$(MAKE) $(MAKESILENT) -f _deps/ftxui-build/CMakeFiles/screen.dir/build.make _deps/ftxui-build/CMakeFiles/screen.dir/build
|
||||
.PHONY : screen/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named dom
|
||||
|
||||
# Build rule for target.
|
||||
dom: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 dom
|
||||
.PHONY : dom
|
||||
|
||||
# fast build rule for target.
|
||||
dom/fast:
|
||||
$(MAKE) $(MAKESILENT) -f _deps/ftxui-build/CMakeFiles/dom.dir/build.make _deps/ftxui-build/CMakeFiles/dom.dir/build
|
||||
.PHONY : dom/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named component
|
||||
|
||||
# Build rule for target.
|
||||
component: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 component
|
||||
.PHONY : component
|
||||
|
||||
# fast build rule for target.
|
||||
component/fast:
|
||||
$(MAKE) $(MAKESILENT) -f _deps/ftxui-build/CMakeFiles/component.dir/build.make _deps/ftxui-build/CMakeFiles/component.dir/build
|
||||
.PHONY : component/fast
|
||||
|
||||
ini.o: ini.c.o
|
||||
.PHONY : ini.o
|
||||
|
||||
# target to build an object file
|
||||
ini.c.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/ini.c.o
|
||||
.PHONY : ini.c.o
|
||||
|
||||
ini.i: ini.c.i
|
||||
.PHONY : ini.i
|
||||
|
||||
# target to preprocess a source file
|
||||
ini.c.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/ini.c.i
|
||||
.PHONY : ini.c.i
|
||||
|
||||
ini.s: ini.c.s
|
||||
.PHONY : ini.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
ini.c.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/ini.c.s
|
||||
.PHONY : ini.c.s
|
||||
|
||||
main.o: main.cpp.o
|
||||
.PHONY : main.o
|
||||
|
||||
# target to build an object file
|
||||
main.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/main.cpp.o
|
||||
.PHONY : main.cpp.o
|
||||
|
||||
main.i: main.cpp.i
|
||||
.PHONY : main.i
|
||||
|
||||
# target to preprocess a source file
|
||||
main.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/main.cpp.i
|
||||
.PHONY : main.cpp.i
|
||||
|
||||
main.s: main.cpp.s
|
||||
.PHONY : main.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
main.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/main.cpp.s
|
||||
.PHONY : main.cpp.s
|
||||
|
||||
src/camera/ImagePipeline.o: src/camera/ImagePipeline.cpp.o
|
||||
.PHONY : src/camera/ImagePipeline.o
|
||||
|
||||
# target to build an object file
|
||||
src/camera/ImagePipeline.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/camera/ImagePipeline.cpp.o
|
||||
.PHONY : src/camera/ImagePipeline.cpp.o
|
||||
|
||||
src/camera/ImagePipeline.i: src/camera/ImagePipeline.cpp.i
|
||||
.PHONY : src/camera/ImagePipeline.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/camera/ImagePipeline.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/camera/ImagePipeline.cpp.i
|
||||
.PHONY : src/camera/ImagePipeline.cpp.i
|
||||
|
||||
src/camera/ImagePipeline.s: src/camera/ImagePipeline.cpp.s
|
||||
.PHONY : src/camera/ImagePipeline.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/camera/ImagePipeline.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/camera/ImagePipeline.cpp.s
|
||||
.PHONY : src/camera/ImagePipeline.cpp.s
|
||||
|
||||
src/camera/JpegXlEncoder.o: src/camera/JpegXlEncoder.cpp.o
|
||||
.PHONY : src/camera/JpegXlEncoder.o
|
||||
|
||||
# target to build an object file
|
||||
src/camera/JpegXlEncoder.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/camera/JpegXlEncoder.cpp.o
|
||||
.PHONY : src/camera/JpegXlEncoder.cpp.o
|
||||
|
||||
src/camera/JpegXlEncoder.i: src/camera/JpegXlEncoder.cpp.i
|
||||
.PHONY : src/camera/JpegXlEncoder.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/camera/JpegXlEncoder.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/camera/JpegXlEncoder.cpp.i
|
||||
.PHONY : src/camera/JpegXlEncoder.cpp.i
|
||||
|
||||
src/camera/JpegXlEncoder.s: src/camera/JpegXlEncoder.cpp.s
|
||||
.PHONY : src/camera/JpegXlEncoder.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/camera/JpegXlEncoder.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/camera/JpegXlEncoder.cpp.s
|
||||
.PHONY : src/camera/JpegXlEncoder.cpp.s
|
||||
|
||||
src/core/Application.o: src/core/Application.cpp.o
|
||||
.PHONY : src/core/Application.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/Application.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/core/Application.cpp.o
|
||||
.PHONY : src/core/Application.cpp.o
|
||||
|
||||
src/core/Application.i: src/core/Application.cpp.i
|
||||
.PHONY : src/core/Application.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/Application.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/core/Application.cpp.i
|
||||
.PHONY : src/core/Application.cpp.i
|
||||
|
||||
src/core/Application.s: src/core/Application.cpp.s
|
||||
.PHONY : src/core/Application.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/Application.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/core/Application.cpp.s
|
||||
.PHONY : src/core/Application.cpp.s
|
||||
|
||||
src/core/CaptureScheduler.o: src/core/CaptureScheduler.cpp.o
|
||||
.PHONY : src/core/CaptureScheduler.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/CaptureScheduler.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/CaptureScheduler.cpp.o
|
||||
.PHONY : src/core/CaptureScheduler.cpp.o
|
||||
|
||||
src/core/CaptureScheduler.i: src/core/CaptureScheduler.cpp.i
|
||||
.PHONY : src/core/CaptureScheduler.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/CaptureScheduler.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/CaptureScheduler.cpp.i
|
||||
.PHONY : src/core/CaptureScheduler.cpp.i
|
||||
|
||||
src/core/CaptureScheduler.s: src/core/CaptureScheduler.cpp.s
|
||||
.PHONY : src/core/CaptureScheduler.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/CaptureScheduler.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/CaptureScheduler.cpp.s
|
||||
.PHONY : src/core/CaptureScheduler.cpp.s
|
||||
|
||||
src/core/CommandParser.o: src/core/CommandParser.cpp.o
|
||||
.PHONY : src/core/CommandParser.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/CommandParser.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/CommandParser.cpp.o
|
||||
.PHONY : src/core/CommandParser.cpp.o
|
||||
|
||||
src/core/CommandParser.i: src/core/CommandParser.cpp.i
|
||||
.PHONY : src/core/CommandParser.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/CommandParser.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/CommandParser.cpp.i
|
||||
.PHONY : src/core/CommandParser.cpp.i
|
||||
|
||||
src/core/CommandParser.s: src/core/CommandParser.cpp.s
|
||||
.PHONY : src/core/CommandParser.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/CommandParser.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/CommandParser.cpp.s
|
||||
.PHONY : src/core/CommandParser.cpp.s
|
||||
|
||||
src/core/Config.o: src/core/Config.cpp.o
|
||||
.PHONY : src/core/Config.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/Config.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Config.cpp.o
|
||||
.PHONY : src/core/Config.cpp.o
|
||||
|
||||
src/core/Config.i: src/core/Config.cpp.i
|
||||
.PHONY : src/core/Config.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/Config.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Config.cpp.i
|
||||
.PHONY : src/core/Config.cpp.i
|
||||
|
||||
src/core/Config.s: src/core/Config.cpp.s
|
||||
.PHONY : src/core/Config.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/Config.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Config.cpp.s
|
||||
.PHONY : src/core/Config.cpp.s
|
||||
|
||||
src/core/Geometry.o: src/core/Geometry.cpp.o
|
||||
.PHONY : src/core/Geometry.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/Geometry.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Geometry.cpp.o
|
||||
.PHONY : src/core/Geometry.cpp.o
|
||||
|
||||
src/core/Geometry.i: src/core/Geometry.cpp.i
|
||||
.PHONY : src/core/Geometry.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/Geometry.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Geometry.cpp.i
|
||||
.PHONY : src/core/Geometry.cpp.i
|
||||
|
||||
src/core/Geometry.s: src/core/Geometry.cpp.s
|
||||
.PHONY : src/core/Geometry.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/Geometry.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Geometry.cpp.s
|
||||
.PHONY : src/core/Geometry.cpp.s
|
||||
|
||||
src/core/Logger.o: src/core/Logger.cpp.o
|
||||
.PHONY : src/core/Logger.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/Logger.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Logger.cpp.o
|
||||
.PHONY : src/core/Logger.cpp.o
|
||||
|
||||
src/core/Logger.i: src/core/Logger.cpp.i
|
||||
.PHONY : src/core/Logger.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/Logger.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Logger.cpp.i
|
||||
.PHONY : src/core/Logger.cpp.i
|
||||
|
||||
src/core/Logger.s: src/core/Logger.cpp.s
|
||||
.PHONY : src/core/Logger.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/Logger.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Logger.cpp.s
|
||||
.PHONY : src/core/Logger.cpp.s
|
||||
|
||||
src/core/Paths.o: src/core/Paths.cpp.o
|
||||
.PHONY : src/core/Paths.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/Paths.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Paths.cpp.o
|
||||
.PHONY : src/core/Paths.cpp.o
|
||||
|
||||
src/core/Paths.i: src/core/Paths.cpp.i
|
||||
.PHONY : src/core/Paths.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/Paths.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Paths.cpp.i
|
||||
.PHONY : src/core/Paths.cpp.i
|
||||
|
||||
src/core/Paths.s: src/core/Paths.cpp.s
|
||||
.PHONY : src/core/Paths.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/Paths.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/Paths.cpp.s
|
||||
.PHONY : src/core/Paths.cpp.s
|
||||
|
||||
src/core/ScanGrid.o: src/core/ScanGrid.cpp.o
|
||||
.PHONY : src/core/ScanGrid.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/ScanGrid.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/ScanGrid.cpp.o
|
||||
.PHONY : src/core/ScanGrid.cpp.o
|
||||
|
||||
src/core/ScanGrid.i: src/core/ScanGrid.cpp.i
|
||||
.PHONY : src/core/ScanGrid.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/ScanGrid.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/ScanGrid.cpp.i
|
||||
.PHONY : src/core/ScanGrid.cpp.i
|
||||
|
||||
src/core/ScanGrid.s: src/core/ScanGrid.cpp.s
|
||||
.PHONY : src/core/ScanGrid.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/ScanGrid.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/ScanGrid.cpp.s
|
||||
.PHONY : src/core/ScanGrid.cpp.s
|
||||
|
||||
src/core/TelemetryParser.o: src/core/TelemetryParser.cpp.o
|
||||
.PHONY : src/core/TelemetryParser.o
|
||||
|
||||
# target to build an object file
|
||||
src/core/TelemetryParser.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/TelemetryParser.cpp.o
|
||||
.PHONY : src/core/TelemetryParser.cpp.o
|
||||
|
||||
src/core/TelemetryParser.i: src/core/TelemetryParser.cpp.i
|
||||
.PHONY : src/core/TelemetryParser.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/core/TelemetryParser.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/TelemetryParser.cpp.i
|
||||
.PHONY : src/core/TelemetryParser.cpp.i
|
||||
|
||||
src/core/TelemetryParser.s: src/core/TelemetryParser.cpp.s
|
||||
.PHONY : src/core/TelemetryParser.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/core/TelemetryParser.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/core/TelemetryParser.cpp.s
|
||||
.PHONY : src/core/TelemetryParser.cpp.s
|
||||
|
||||
src/serial/SerialMotorController.o: src/serial/SerialMotorController.cpp.o
|
||||
.PHONY : src/serial/SerialMotorController.o
|
||||
|
||||
# target to build an object file
|
||||
src/serial/SerialMotorController.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/serial/SerialMotorController.cpp.o
|
||||
.PHONY : src/serial/SerialMotorController.cpp.o
|
||||
|
||||
src/serial/SerialMotorController.i: src/serial/SerialMotorController.cpp.i
|
||||
.PHONY : src/serial/SerialMotorController.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/serial/SerialMotorController.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/serial/SerialMotorController.cpp.i
|
||||
.PHONY : src/serial/SerialMotorController.cpp.i
|
||||
|
||||
src/serial/SerialMotorController.s: src/serial/SerialMotorController.cpp.s
|
||||
.PHONY : src/serial/SerialMotorController.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/serial/SerialMotorController.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/serial/SerialMotorController.cpp.s
|
||||
.PHONY : src/serial/SerialMotorController.cpp.s
|
||||
|
||||
src/ui/HeadlessUi.o: src/ui/HeadlessUi.cpp.o
|
||||
.PHONY : src/ui/HeadlessUi.o
|
||||
|
||||
# target to build an object file
|
||||
src/ui/HeadlessUi.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/ui/HeadlessUi.cpp.o
|
||||
.PHONY : src/ui/HeadlessUi.cpp.o
|
||||
|
||||
src/ui/HeadlessUi.i: src/ui/HeadlessUi.cpp.i
|
||||
.PHONY : src/ui/HeadlessUi.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/ui/HeadlessUi.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/ui/HeadlessUi.cpp.i
|
||||
.PHONY : src/ui/HeadlessUi.cpp.i
|
||||
|
||||
src/ui/HeadlessUi.s: src/ui/HeadlessUi.cpp.s
|
||||
.PHONY : src/ui/HeadlessUi.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/ui/HeadlessUi.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/ui/HeadlessUi.cpp.s
|
||||
.PHONY : src/ui/HeadlessUi.cpp.s
|
||||
|
||||
src/ui/TuiUi.o: src/ui/TuiUi.cpp.o
|
||||
.PHONY : src/ui/TuiUi.o
|
||||
|
||||
# target to build an object file
|
||||
src/ui/TuiUi.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/ui/TuiUi.cpp.o
|
||||
.PHONY : src/ui/TuiUi.cpp.o
|
||||
|
||||
src/ui/TuiUi.i: src/ui/TuiUi.cpp.i
|
||||
.PHONY : src/ui/TuiUi.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/ui/TuiUi.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/ui/TuiUi.cpp.i
|
||||
.PHONY : src/ui/TuiUi.cpp.i
|
||||
|
||||
src/ui/TuiUi.s: src/ui/TuiUi.cpp.s
|
||||
.PHONY : src/ui/TuiUi.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/ui/TuiUi.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fire_gimbal_control.dir/build.make CMakeFiles/fire_gimbal_control.dir/src/ui/TuiUi.cpp.s
|
||||
.PHONY : src/ui/TuiUi.cpp.s
|
||||
|
||||
src/ui/UiSnapshot.o: src/ui/UiSnapshot.cpp.o
|
||||
.PHONY : src/ui/UiSnapshot.o
|
||||
|
||||
# target to build an object file
|
||||
src/ui/UiSnapshot.cpp.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/ui/UiSnapshot.cpp.o
|
||||
.PHONY : src/ui/UiSnapshot.cpp.o
|
||||
|
||||
src/ui/UiSnapshot.i: src/ui/UiSnapshot.cpp.i
|
||||
.PHONY : src/ui/UiSnapshot.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/ui/UiSnapshot.cpp.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/ui/UiSnapshot.cpp.i
|
||||
.PHONY : src/ui/UiSnapshot.cpp.i
|
||||
|
||||
src/ui/UiSnapshot.s: src/ui/UiSnapshot.cpp.s
|
||||
.PHONY : src/ui/UiSnapshot.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/ui/UiSnapshot.cpp.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fgc_core.dir/build.make CMakeFiles/fgc_core.dir/src/ui/UiSnapshot.cpp.s
|
||||
.PHONY : src/ui/UiSnapshot.cpp.s
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... edit_cache"
|
||||
@echo "... rebuild_cache"
|
||||
@echo "... component"
|
||||
@echo "... dom"
|
||||
@echo "... fgc_core"
|
||||
@echo "... fire_gimbal_control"
|
||||
@echo "... screen"
|
||||
@echo "... ini.o"
|
||||
@echo "... ini.i"
|
||||
@echo "... ini.s"
|
||||
@echo "... main.o"
|
||||
@echo "... main.i"
|
||||
@echo "... main.s"
|
||||
@echo "... src/camera/ImagePipeline.o"
|
||||
@echo "... src/camera/ImagePipeline.i"
|
||||
@echo "... src/camera/ImagePipeline.s"
|
||||
@echo "... src/camera/JpegXlEncoder.o"
|
||||
@echo "... src/camera/JpegXlEncoder.i"
|
||||
@echo "... src/camera/JpegXlEncoder.s"
|
||||
@echo "... src/core/Application.o"
|
||||
@echo "... src/core/Application.i"
|
||||
@echo "... src/core/Application.s"
|
||||
@echo "... src/core/CaptureScheduler.o"
|
||||
@echo "... src/core/CaptureScheduler.i"
|
||||
@echo "... src/core/CaptureScheduler.s"
|
||||
@echo "... src/core/CommandParser.o"
|
||||
@echo "... src/core/CommandParser.i"
|
||||
@echo "... src/core/CommandParser.s"
|
||||
@echo "... src/core/Config.o"
|
||||
@echo "... src/core/Config.i"
|
||||
@echo "... src/core/Config.s"
|
||||
@echo "... src/core/Geometry.o"
|
||||
@echo "... src/core/Geometry.i"
|
||||
@echo "... src/core/Geometry.s"
|
||||
@echo "... src/core/Logger.o"
|
||||
@echo "... src/core/Logger.i"
|
||||
@echo "... src/core/Logger.s"
|
||||
@echo "... src/core/Paths.o"
|
||||
@echo "... src/core/Paths.i"
|
||||
@echo "... src/core/Paths.s"
|
||||
@echo "... src/core/ScanGrid.o"
|
||||
@echo "... src/core/ScanGrid.i"
|
||||
@echo "... src/core/ScanGrid.s"
|
||||
@echo "... src/core/TelemetryParser.o"
|
||||
@echo "... src/core/TelemetryParser.i"
|
||||
@echo "... src/core/TelemetryParser.s"
|
||||
@echo "... src/serial/SerialMotorController.o"
|
||||
@echo "... src/serial/SerialMotorController.i"
|
||||
@echo "... src/serial/SerialMotorController.s"
|
||||
@echo "... src/ui/HeadlessUi.o"
|
||||
@echo "... src/ui/HeadlessUi.i"
|
||||
@echo "... src/ui/HeadlessUi.s"
|
||||
@echo "... src/ui/TuiUi.o"
|
||||
@echo "... src/ui/TuiUi.i"
|
||||
@echo "... src/ui/TuiUi.s"
|
||||
@echo "... src/ui/UiSnapshot.o"
|
||||
@echo "... src/ui/UiSnapshot.i"
|
||||
@echo "... src/ui/UiSnapshot.s"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,140 +0,0 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
.PHONY : default_target
|
||||
|
||||
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||
.NOTPARALLEL:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/pedro/code/fwt_2a/software
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/pedro/code/fwt_2a/software/build-tui
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
|
||||
/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
|
||||
/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-tui/CMakeFiles /home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-build/doc//CMakeFiles/progress.marks
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 _deps/ftxui-build/doc/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-tui/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 _deps/ftxui-build/doc/clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 _deps/ftxui-build/doc/preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 _deps/ftxui-build/doc/preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... edit_cache"
|
||||
@echo "... rebuild_cache"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
||||
|
|
@ -1,140 +0,0 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
.PHONY : default_target
|
||||
|
||||
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||
.NOTPARALLEL:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/pedro/code/fwt_2a/software
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/pedro/code/fwt_2a/software/build-tui
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
|
||||
/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
|
||||
/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-tui/CMakeFiles /home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-build/examples//CMakeFiles/progress.marks
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 _deps/ftxui-build/examples/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-tui/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 _deps/ftxui-build/examples/clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 _deps/ftxui-build/examples/preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 _deps/ftxui-build/examples/preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... edit_cache"
|
||||
@echo "... rebuild_cache"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
cd /home/pedro/code/fwt_2a/software/build-tui && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
||||
|
|
@ -1,101 +0,0 @@
|
|||
# Generated by CMake
|
||||
|
||||
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
|
||||
message(FATAL_ERROR "CMake >= 2.8.3 required")
|
||||
endif()
|
||||
if(CMAKE_VERSION VERSION_LESS "2.8.3")
|
||||
message(FATAL_ERROR "CMake >= 2.8.3 required")
|
||||
endif()
|
||||
cmake_policy(PUSH)
|
||||
cmake_policy(VERSION 2.8.3...4.1)
|
||||
#----------------------------------------------------------------
|
||||
# Generated CMake target import file.
|
||||
#----------------------------------------------------------------
|
||||
|
||||
# Commands may need to know the format version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
||||
|
||||
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
||||
set(_cmake_targets_defined "")
|
||||
set(_cmake_targets_not_defined "")
|
||||
set(_cmake_expected_targets "")
|
||||
foreach(_cmake_expected_target IN ITEMS ftxui::screen ftxui::dom ftxui::component)
|
||||
list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
|
||||
if(TARGET "${_cmake_expected_target}")
|
||||
list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
|
||||
else()
|
||||
list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
|
||||
endif()
|
||||
endforeach()
|
||||
unset(_cmake_expected_target)
|
||||
if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
|
||||
unset(_cmake_targets_defined)
|
||||
unset(_cmake_targets_not_defined)
|
||||
unset(_cmake_expected_targets)
|
||||
unset(CMAKE_IMPORT_FILE_VERSION)
|
||||
cmake_policy(POP)
|
||||
return()
|
||||
endif()
|
||||
if(NOT _cmake_targets_defined STREQUAL "")
|
||||
string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
|
||||
string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
|
||||
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
|
||||
endif()
|
||||
unset(_cmake_targets_defined)
|
||||
unset(_cmake_targets_not_defined)
|
||||
unset(_cmake_expected_targets)
|
||||
|
||||
|
||||
# Create imported target ftxui::screen
|
||||
add_library(ftxui::screen STATIC IMPORTED)
|
||||
|
||||
set_target_properties(ftxui::screen PROPERTIES
|
||||
INTERFACE_COMPILE_FEATURES "cxx_std_17"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src/include"
|
||||
)
|
||||
|
||||
# Create imported target ftxui::dom
|
||||
add_library(ftxui::dom STATIC IMPORTED)
|
||||
|
||||
set_target_properties(ftxui::dom PROPERTIES
|
||||
INTERFACE_COMPILE_FEATURES "cxx_std_17"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src/include"
|
||||
INTERFACE_LINK_LIBRARIES "ftxui::screen"
|
||||
)
|
||||
|
||||
# Create imported target ftxui::component
|
||||
add_library(ftxui::component STATIC IMPORTED)
|
||||
|
||||
set_target_properties(ftxui::component PROPERTIES
|
||||
INTERFACE_COMPILE_FEATURES "cxx_std_17"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src/include"
|
||||
INTERFACE_LINK_LIBRARIES "ftxui::dom;Threads::Threads"
|
||||
)
|
||||
|
||||
# Import target "ftxui::screen" for configuration "Release"
|
||||
set_property(TARGET ftxui::screen APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||
set_target_properties(ftxui::screen PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
|
||||
IMPORTED_LOCATION_RELEASE "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-build/libftxui-screen.a"
|
||||
)
|
||||
|
||||
# Import target "ftxui::dom" for configuration "Release"
|
||||
set_property(TARGET ftxui::dom APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||
set_target_properties(ftxui::dom PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
|
||||
IMPORTED_LOCATION_RELEASE "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-build/libftxui-dom.a"
|
||||
)
|
||||
|
||||
# Import target "ftxui::component" for configuration "Release"
|
||||
set_property(TARGET ftxui::component APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||
set_target_properties(ftxui::component PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "CXX"
|
||||
IMPORTED_LOCATION_RELEASE "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-build/libftxui-component.a"
|
||||
)
|
||||
|
||||
# This file does not depend on other imported targets which have
|
||||
# been exported from the same project but in a separate export set.
|
||||
|
||||
# Commands beyond this point should not need to know the version.
|
||||
set(CMAKE_IMPORT_FILE_VERSION)
|
||||
cmake_policy(POP)
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1 +0,0 @@
|
|||
Subproject commit cdf28903a7781f97ba94d30b79c3a4b0c97ccce7
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file LICENSE.rst or https://cmake.org/licensing for details.
|
||||
|
||||
cmake_minimum_required(VERSION 4.3.3)
|
||||
|
||||
# Reject any attempt to use a toolchain file. We must not use one because
|
||||
# we could be downloading it here. If the CMAKE_TOOLCHAIN_FILE environment
|
||||
# variable is set, the cache variable will have been initialized from it.
|
||||
unset(CMAKE_TOOLCHAIN_FILE CACHE)
|
||||
unset(ENV{CMAKE_TOOLCHAIN_FILE})
|
||||
|
||||
# We name the project and the target for the ExternalProject_Add() call
|
||||
# to something that will highlight to the user what we are working on if
|
||||
# something goes wrong and an error message is produced.
|
||||
|
||||
project(ftxui-populate NONE)
|
||||
|
||||
|
||||
# Pass through things we've already detected in the main project to avoid
|
||||
# paying the cost of redetecting them again in ExternalProject_Add()
|
||||
set(GIT_EXECUTABLE [==[/usr/bin/git]==])
|
||||
set(Git_VERSION [==[2.54.0]==])
|
||||
set_property(GLOBAL PROPERTY _CMAKE_FindGit_GIT_EXECUTABLE_VERSION
|
||||
[==[/usr/bin/git;2.54.0]==]
|
||||
)
|
||||
|
||||
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(ftxui-populate
|
||||
"UPDATE_DISCONNECTED" "False" "GIT_REPOSITORY" "https://github.com/ArthurSonzogni/FTXUI.git" "EXTERNALPROJECT_INTERNAL_ARGUMENT_SEPARATOR" "GIT_TAG" "v5.0.0" "GIT_SHALLOW" "TRUE"
|
||||
SOURCE_DIR "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
BINARY_DIR "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-build"
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
TEST_COMMAND ""
|
||||
USES_TERMINAL_DOWNLOAD YES
|
||||
USES_TERMINAL_UPDATE YES
|
||||
USES_TERMINAL_PATCH YES
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -1,162 +0,0 @@
|
|||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 4.3
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
.PHONY : default_target
|
||||
|
||||
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||
.NOTPARALLEL:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
|
||||
/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
|
||||
/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/CMakeFiles /home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild//CMakeFiles/progress.marks
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main codegen target
|
||||
codegen: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/CMakeFiles /home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild//CMakeFiles/progress.marks
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 codegen
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/CMakeFiles 0
|
||||
.PHONY : codegen
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named ftxui-populate
|
||||
|
||||
# Build rule for target.
|
||||
ftxui-populate: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ftxui-populate
|
||||
.PHONY : ftxui-populate
|
||||
|
||||
# fast build rule for target.
|
||||
ftxui-populate/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/ftxui-populate.dir/build.make CMakeFiles/ftxui-populate.dir/build
|
||||
.PHONY : ftxui-populate/fast
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... codegen"
|
||||
@echo "... edit_cache"
|
||||
@echo "... rebuild_cache"
|
||||
@echo "... ftxui-populate"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
# This is a generated file and its contents are an internal implementation detail.
|
||||
# The download step will be re-executed if anything in this file changes.
|
||||
# No other meaning or use of this file is supported.
|
||||
|
||||
method=git
|
||||
command=/usr/bin/cmake;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/tmp/ftxui-populate-gitclone.cmake
|
||||
source_dir=/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src
|
||||
work_dir=/home/pedro/code/fwt_2a/software/build-tui/_deps
|
||||
repository=https://github.com/ArthurSonzogni/FTXUI.git
|
||||
remote=origin
|
||||
init_submodules=TRUE
|
||||
recurse_submodules=--recursive
|
||||
submodules=
|
||||
CMP0097=NEW
|
||||
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
# This is a generated file and its contents are an internal implementation detail.
|
||||
# The download step will be re-executed if anything in this file changes.
|
||||
# No other meaning or use of this file is supported.
|
||||
|
||||
method=git
|
||||
command=/usr/bin/cmake;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/tmp/ftxui-populate-gitclone.cmake
|
||||
source_dir=/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src
|
||||
work_dir=/home/pedro/code/fwt_2a/software/build-tui/_deps
|
||||
repository=https://github.com/ArthurSonzogni/FTXUI.git
|
||||
remote=origin
|
||||
init_submodules=TRUE
|
||||
recurse_submodules=--recursive
|
||||
submodules=
|
||||
CMP0097=NEW
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# This is a generated file and its contents are an internal implementation detail.
|
||||
# The update step will be re-executed if anything in this file changes.
|
||||
# No other meaning or use of this file is supported.
|
||||
|
||||
command=
|
||||
work_dir=
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
# This is a generated file and its contents are an internal implementation detail.
|
||||
# The patch step will be re-executed if anything in this file changes.
|
||||
# No other meaning or use of this file is supported.
|
||||
|
||||
command (connected)=/usr/bin/cmake;-Dcan_fetch=YES;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/tmp/ftxui-populate-gitupdate.cmake
|
||||
command (disconnected)=/usr/bin/cmake;-Dcan_fetch=NO;-DCMAKE_MESSAGE_LOG_LEVEL=VERBOSE;-P;/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/tmp/ftxui-populate-gitupdate.cmake
|
||||
work_dir=/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src
|
||||
|
|
@ -1 +0,0 @@
|
|||
cmd=''
|
||||
|
|
@ -1,87 +0,0 @@
|
|||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file LICENSE.rst or https://cmake.org/licensing for details.
|
||||
|
||||
cmake_minimum_required(VERSION ${CMAKE_VERSION}) # this file comes with cmake
|
||||
|
||||
if(EXISTS "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/src/ftxui-populate-stamp/ftxui-populate-gitclone-lastrun.txt" AND EXISTS "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/src/ftxui-populate-stamp/ftxui-populate-gitinfo.txt" AND
|
||||
"/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/src/ftxui-populate-stamp/ftxui-populate-gitclone-lastrun.txt" IS_NEWER_THAN "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/src/ftxui-populate-stamp/ftxui-populate-gitinfo.txt")
|
||||
message(VERBOSE
|
||||
"Avoiding repeated git clone, stamp file is up to date: "
|
||||
"'/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/src/ftxui-populate-stamp/ftxui-populate-gitclone-lastrun.txt'"
|
||||
)
|
||||
return()
|
||||
endif()
|
||||
|
||||
# Even at VERBOSE level, we don't want to see the commands executed, but
|
||||
# enabling them to be shown for DEBUG may be useful to help diagnose problems.
|
||||
cmake_language(GET_MESSAGE_LOG_LEVEL active_log_level)
|
||||
if(active_log_level MATCHES "DEBUG|TRACE")
|
||||
set(maybe_show_command COMMAND_ECHO STDOUT)
|
||||
else()
|
||||
set(maybe_show_command "")
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E rm -rf "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
if(error_code)
|
||||
message(FATAL_ERROR "Failed to remove directory: '/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src'")
|
||||
endif()
|
||||
|
||||
# try the clone 3 times in case there is an odd git clone issue
|
||||
set(error_code 1)
|
||||
set(number_of_tries 0)
|
||||
while(error_code AND number_of_tries LESS 3)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git"
|
||||
clone --no-checkout --depth 1 --no-single-branch --config "advice.detachedHead=false" "https://github.com/ArthurSonzogni/FTXUI.git" "ftxui-src"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
math(EXPR number_of_tries "${number_of_tries} + 1")
|
||||
endwhile()
|
||||
if(number_of_tries GREATER 1)
|
||||
message(NOTICE "Had to git clone more than once: ${number_of_tries} times.")
|
||||
endif()
|
||||
if(error_code)
|
||||
message(FATAL_ERROR "Failed to clone repository: 'https://github.com/ArthurSonzogni/FTXUI.git'")
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git"
|
||||
checkout "v5.0.0" --
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
if(error_code)
|
||||
message(FATAL_ERROR "Failed to checkout tag: 'v5.0.0'")
|
||||
endif()
|
||||
|
||||
set(init_submodules TRUE)
|
||||
if(init_submodules)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git"
|
||||
submodule update --recursive --init
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
endif()
|
||||
if(error_code)
|
||||
message(FATAL_ERROR "Failed to update submodules in: '/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src'")
|
||||
endif()
|
||||
|
||||
# Complete success, update the script-last-run stamp file:
|
||||
#
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E copy "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/src/ftxui-populate-stamp/ftxui-populate-gitinfo.txt" "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/src/ftxui-populate-stamp/ftxui-populate-gitclone-lastrun.txt"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
if(error_code)
|
||||
message(FATAL_ERROR "Failed to copy script-last-run stamp file: '/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/src/ftxui-populate-stamp/ftxui-populate-gitclone-lastrun.txt'")
|
||||
endif()
|
||||
|
|
@ -1,317 +0,0 @@
|
|||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file LICENSE.rst or https://cmake.org/licensing for details.
|
||||
|
||||
cmake_minimum_required(VERSION ${CMAKE_VERSION}) # this file comes with cmake
|
||||
|
||||
# Even at VERBOSE level, we don't want to see the commands executed, but
|
||||
# enabling them to be shown for DEBUG may be useful to help diagnose problems.
|
||||
cmake_language(GET_MESSAGE_LOG_LEVEL active_log_level)
|
||||
if(active_log_level MATCHES "DEBUG|TRACE")
|
||||
set(maybe_show_command COMMAND_ECHO STDOUT)
|
||||
else()
|
||||
set(maybe_show_command "")
|
||||
endif()
|
||||
|
||||
function(do_fetch)
|
||||
message(VERBOSE "Fetching latest from the remote origin")
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git fetch --tags --force "origin"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
COMMAND_ERROR_IS_FATAL LAST
|
||||
${maybe_show_command}
|
||||
)
|
||||
endfunction()
|
||||
|
||||
function(get_hash_for_ref ref out_var err_var)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git rev-parse "${ref}^0"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
RESULT_VARIABLE error_code
|
||||
OUTPUT_VARIABLE ref_hash
|
||||
ERROR_VARIABLE error_msg
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(error_code)
|
||||
set(${out_var} "" PARENT_SCOPE)
|
||||
else()
|
||||
set(${out_var} "${ref_hash}" PARENT_SCOPE)
|
||||
endif()
|
||||
set(${err_var} "${error_msg}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
get_hash_for_ref(HEAD head_sha error_msg)
|
||||
if(head_sha STREQUAL "")
|
||||
message(FATAL_ERROR "Failed to get the hash for HEAD:\n${error_msg}")
|
||||
endif()
|
||||
|
||||
if("${can_fetch}" STREQUAL "")
|
||||
set(can_fetch "YES")
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git show-ref "v5.0.0"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
OUTPUT_VARIABLE show_ref_output
|
||||
)
|
||||
if(show_ref_output MATCHES "^[a-z0-9]+[ \\t]+refs/remotes/")
|
||||
# Given a full remote/branch-name and we know about it already. Since
|
||||
# branches can move around, we should always fetch, if permitted.
|
||||
if(can_fetch)
|
||||
do_fetch()
|
||||
endif()
|
||||
set(checkout_name "v5.0.0")
|
||||
|
||||
elseif(show_ref_output MATCHES "^[a-z0-9]+[ \\t]+refs/tags/")
|
||||
# Given a tag name that we already know about. We don't know if the tag we
|
||||
# have matches the remote though (tags can move), so we should fetch. As a
|
||||
# special case to preserve backward compatibility, if we are already at the
|
||||
# same commit as the tag we hold locally, don't do a fetch and assume the tag
|
||||
# hasn't moved on the remote.
|
||||
# FIXME: We should provide an option to always fetch for this case
|
||||
get_hash_for_ref("v5.0.0" tag_sha error_msg)
|
||||
if(tag_sha STREQUAL head_sha)
|
||||
message(VERBOSE "Already at requested tag: v5.0.0")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(can_fetch)
|
||||
do_fetch()
|
||||
endif()
|
||||
set(checkout_name "v5.0.0")
|
||||
|
||||
elseif(show_ref_output MATCHES "^[a-z0-9]+[ \\t]+refs/heads/")
|
||||
# Given a branch name without any remote and we already have a branch by that
|
||||
# name. We might already have that branch checked out or it might be a
|
||||
# different branch. It isn't fully safe to use a bare branch name without the
|
||||
# remote, so do a fetch (if allowed) and replace the ref with one that
|
||||
# includes the remote.
|
||||
if(can_fetch)
|
||||
do_fetch()
|
||||
endif()
|
||||
set(checkout_name "origin/v5.0.0")
|
||||
|
||||
else()
|
||||
get_hash_for_ref("v5.0.0" tag_sha error_msg)
|
||||
if(tag_sha STREQUAL head_sha)
|
||||
# Have the right commit checked out already
|
||||
message(VERBOSE "Already at requested ref: ${tag_sha}")
|
||||
return()
|
||||
|
||||
elseif(tag_sha STREQUAL "")
|
||||
# We don't know about this ref yet, so we have no choice but to fetch.
|
||||
if(NOT can_fetch)
|
||||
message(FATAL_ERROR
|
||||
"Requested git ref \"v5.0.0\" is not present locally, and not "
|
||||
"allowed to contact remote due to UPDATE_DISCONNECTED setting."
|
||||
)
|
||||
endif()
|
||||
|
||||
# We deliberately swallow any error message at the default log level
|
||||
# because it can be confusing for users to see a failed git command.
|
||||
# That failure is being handled here, so it isn't an error.
|
||||
if(NOT error_msg STREQUAL "")
|
||||
message(DEBUG "${error_msg}")
|
||||
endif()
|
||||
do_fetch()
|
||||
set(checkout_name "v5.0.0")
|
||||
|
||||
else()
|
||||
# We have the commit, so we know we were asked to find a commit hash
|
||||
# (otherwise it would have been handled further above), but we don't
|
||||
# have that commit checked out yet. We don't need to fetch from the remote.
|
||||
set(checkout_name "v5.0.0")
|
||||
if(NOT error_msg STREQUAL "")
|
||||
message(WARNING "${error_msg}")
|
||||
endif()
|
||||
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(git_update_strategy "REBASE")
|
||||
if(git_update_strategy STREQUAL "")
|
||||
# Backward compatibility requires REBASE as the default behavior
|
||||
set(git_update_strategy REBASE)
|
||||
endif()
|
||||
|
||||
if(git_update_strategy MATCHES "^REBASE(_CHECKOUT)?$")
|
||||
# Asked to potentially try to rebase first, maybe with fallback to checkout.
|
||||
# We can't if we aren't already on a branch and we shouldn't if that local
|
||||
# branch isn't tracking the one we want to checkout.
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git symbolic-ref -q HEAD
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
OUTPUT_VARIABLE current_branch
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
# Don't test for an error. If this isn't a branch, we get a non-zero error
|
||||
# code but empty output.
|
||||
)
|
||||
|
||||
if(current_branch STREQUAL "")
|
||||
# Not on a branch, checkout is the only sensible option since any rebase
|
||||
# would always fail (and backward compatibility requires us to checkout in
|
||||
# this situation)
|
||||
set(git_update_strategy CHECKOUT)
|
||||
|
||||
else()
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git for-each-ref "--format=%(upstream:short)" "${current_branch}"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
OUTPUT_VARIABLE upstream_branch
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
COMMAND_ERROR_IS_FATAL ANY # There is no error if no upstream is set
|
||||
)
|
||||
if(NOT upstream_branch STREQUAL checkout_name)
|
||||
# Not safe to rebase when asked to checkout a different branch to the one
|
||||
# we are tracking. If we did rebase, we could end up with arbitrary
|
||||
# commits added to the ref we were asked to checkout if the current local
|
||||
# branch happens to be able to rebase onto the target branch. There would
|
||||
# be no error message and the user wouldn't know this was occurring.
|
||||
set(git_update_strategy CHECKOUT)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
elseif(NOT git_update_strategy STREQUAL "CHECKOUT")
|
||||
message(FATAL_ERROR "Unsupported git update strategy: ${git_update_strategy}")
|
||||
endif()
|
||||
|
||||
|
||||
# Check if stash is needed
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git status --porcelain
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
RESULT_VARIABLE error_code
|
||||
OUTPUT_VARIABLE repo_status
|
||||
)
|
||||
if(error_code)
|
||||
message(FATAL_ERROR "Failed to get the status")
|
||||
endif()
|
||||
string(LENGTH "${repo_status}" need_stash)
|
||||
|
||||
# If not in clean state, stash changes in order to be able to perform a
|
||||
# rebase or checkout without losing those changes permanently
|
||||
if(need_stash)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git stash save --quiet;--include-untracked
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
${maybe_show_command}
|
||||
)
|
||||
endif()
|
||||
|
||||
if(git_update_strategy STREQUAL "CHECKOUT")
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git checkout "${checkout_name}"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
${maybe_show_command}
|
||||
)
|
||||
else()
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git rebase "${checkout_name}"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
RESULT_VARIABLE error_code
|
||||
OUTPUT_VARIABLE rebase_output
|
||||
ERROR_VARIABLE rebase_output
|
||||
)
|
||||
if(error_code)
|
||||
# Rebase failed, undo the rebase attempt before continuing
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git rebase --abort
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
${maybe_show_command}
|
||||
)
|
||||
|
||||
if(NOT git_update_strategy STREQUAL "REBASE_CHECKOUT")
|
||||
# Not allowed to do a checkout as a fallback, so cannot proceed
|
||||
if(need_stash)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git stash pop --index --quiet
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
${maybe_show_command}
|
||||
)
|
||||
endif()
|
||||
message(FATAL_ERROR "\nFailed to rebase in: '/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src'."
|
||||
"\nOutput from the attempted rebase follows:"
|
||||
"\n${rebase_output}"
|
||||
"\n\nYou will have to resolve the conflicts manually")
|
||||
endif()
|
||||
|
||||
# Fall back to checkout. We create an annotated tag so that the user
|
||||
# can manually inspect the situation and revert if required.
|
||||
# We can't log the failed rebase output because MSVC sees it and
|
||||
# intervenes, causing the build to fail even though it completes.
|
||||
# Write it to a file instead.
|
||||
string(TIMESTAMP tag_timestamp "%Y%m%dT%H%M%S" UTC)
|
||||
set(tag_name _cmake_ExternalProject_moved_from_here_${tag_timestamp}Z)
|
||||
set(error_log_file ${CMAKE_CURRENT_LIST_DIR}/rebase_error_${tag_timestamp}Z.log)
|
||||
file(WRITE ${error_log_file} "${rebase_output}")
|
||||
message(WARNING "Rebase failed, output has been saved to ${error_log_file}"
|
||||
"\nFalling back to checkout, previous commit tagged as ${tag_name}")
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git tag -a
|
||||
-m "ExternalProject attempting to move from here to ${checkout_name}"
|
||||
${tag_name}
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
${maybe_show_command}
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git checkout "${checkout_name}"
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
${maybe_show_command}
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(need_stash)
|
||||
# Put back the stashed changes
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git stash pop --index --quiet
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
if(error_code)
|
||||
# Stash pop --index failed: Try again dropping the index
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git reset --hard --quiet
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
${maybe_show_command}
|
||||
)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git stash pop --quiet
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
RESULT_VARIABLE error_code
|
||||
${maybe_show_command}
|
||||
)
|
||||
if(error_code)
|
||||
# Stash pop failed: Restore previous state.
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git reset --hard --quiet ${head_sha}
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
${maybe_show_command}
|
||||
)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git" --git-dir=.git stash pop --index --quiet
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
${maybe_show_command}
|
||||
)
|
||||
message(FATAL_ERROR "\nFailed to unstash changes in: '/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src'."
|
||||
"\nYou will have to resolve the conflicts manually")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(init_submodules "TRUE")
|
||||
if(init_submodules)
|
||||
execute_process(
|
||||
COMMAND "/usr/bin/git"
|
||||
--git-dir=.git
|
||||
submodule update --recursive --init
|
||||
WORKING_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
${maybe_show_command}
|
||||
)
|
||||
endif()
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file LICENSE.rst or https://cmake.org/licensing for details.
|
||||
|
||||
cmake_minimum_required(VERSION ${CMAKE_VERSION}) # this file comes with cmake
|
||||
|
||||
# If CMAKE_DISABLE_SOURCE_CHANGES is set to true and the source directory is an
|
||||
# existing directory in our source tree, calling file(MAKE_DIRECTORY) on it
|
||||
# would cause a fatal error, even though it would be a no-op.
|
||||
if(NOT EXISTS "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src")
|
||||
file(MAKE_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-src")
|
||||
endif()
|
||||
file(MAKE_DIRECTORY
|
||||
"/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-build"
|
||||
"/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix"
|
||||
"/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/tmp"
|
||||
"/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/src/ftxui-populate-stamp"
|
||||
"/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/src"
|
||||
"/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/src/ftxui-populate-stamp"
|
||||
)
|
||||
|
||||
set(configSubDirs )
|
||||
foreach(subDir IN LISTS configSubDirs)
|
||||
file(MAKE_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/src/ftxui-populate-stamp/${subDir}")
|
||||
endforeach()
|
||||
if(cfgdir)
|
||||
file(MAKE_DIRECTORY "/home/pedro/code/fwt_2a/software/build-tui/_deps/ftxui-subbuild/ftxui-populate-prefix/src/ftxui-populate-stamp${cfgdir}") # cfgdir has leading slash
|
||||
endif()
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -76,9 +76,10 @@ baud = 115200
|
|||
; Ambient temperature/humidity sensor (Adafruit SHT41), wired to the
|
||||
; LattePanda's OWN native I2C bus - NOT the Arduino/motor serial link. Bus
|
||||
; number varies by board; confirm with `i2cdetect -y N` (SHT41 shows up at
|
||||
; 0x44). Enable with [Features] enable_env = true.
|
||||
; 0x44). Enable with [Features] enable_env = true (or run with --mock-env,
|
||||
; which implies it). i2c_addr takes decimal or 0x-prefixed hex.
|
||||
i2c_device = /dev/i2c-1
|
||||
i2c_addr = 68
|
||||
i2c_addr = 0x44
|
||||
period_ms = 2000
|
||||
|
||||
[Motor]
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ The design separates **policy** (the control logic) from **mechanism** (the I/O
|
|||
- **`fgc_core`** — an SDK-independent static library: typed configuration, path resolution, logging, the
|
||||
telemetry/command parsers, and the `CaptureScheduler` (control state machine). Depends on nothing
|
||||
proprietary, so it builds and unit-tests anywhere.
|
||||
- **Four interfaces** abstract the outside world, each with a real and a mock/null implementation:
|
||||
- **Five interfaces** abstract the outside world, each with a real and a mock/null implementation:
|
||||
|
||||
| Interface | Real | Mock / Null |
|
||||
|-----------|------|-------------|
|
||||
|
|
@ -19,9 +19,11 @@ The design separates **policy** (the control logic) from **mechanism** (the I/O
|
|||
| `IControlChannel` | `MqttControlChannel` (Paho) | `NullControlChannel` (no broker) |
|
||||
| `ICameraSource` | `VimbaCameraSource` (Vimba X) | `MockCameraSource` (synthetic frames) |
|
||||
| `IImuSource` | `MtiImuSource` (Xsens MTi, Boost.Asio) | `MockImuSource` (synthetic orientation) |
|
||||
| `IEnvSensor` | `Sht41EnvSensor` (SHT41 over I2C) | `MockEnvSensor` (synthetic temp/humidity) |
|
||||
|
||||
The IMU is optional (`[Features] enable_imu`); it feeds the Sensors panel and the IMU-referenced
|
||||
`gimbal calib`. Long-running operations (`gimbal calib` on a worker thread, `gimbal diag` captured from
|
||||
Both sensors are optional (`[Features] enable_imu` / `enable_env`) and feed the Sensors panel: the IMU
|
||||
supplies orientation and the IMU-referenced `gimbal calib`, the SHT41 the ambient temperature and
|
||||
humidity (also published on the MQTT `Env` topic). Long-running operations (`gimbal calib` on a worker thread, `gimbal diag` captured from
|
||||
the firmware) publish progress + results into the `UiSnapshot` activity strip, polled on the control
|
||||
thread so all geometry/state mutation stays single-threaded.
|
||||
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ Parsed and validated by `ConfigLoader` ([src/core/Config.cpp](../src/core/Config
|
|||
| `IMU` | `device` | string | — | MTi serial device (see `[IMU]` note); required when `enable_imu` |
|
||||
| `IMU` | `baud` | int | `115200` | MTi serial baud rate |
|
||||
| `Env` | `i2c_device` | string | `/dev/i2c-1` | SHT41 I2C bus device (see `[Env]` note); required when `enable_env` |
|
||||
| `Env` | `i2c_addr` | int | `68` (`0x44`) | SHT41 I2C slave address |
|
||||
| `Env` | `i2c_addr` | int | `68` (`0x44`) | SHT41 I2C slave address; decimal or `0x`-prefixed hex |
|
||||
| `Env` | `period_ms` | int | `2000` | Sample interval |
|
||||
| `Logging` | `level` | enum | `info` | Linear log level (`--log-level` overrides) |
|
||||
| `Logging` | `trace` | csv | — | Wire-trace categories, off by default (`--trace` overrides) |
|
||||
|
|
@ -150,10 +150,14 @@ pausing the stream) and also requests a fresh firmware dump for the gimbal `g` v
|
|||
Enable with `[Features] enable_env = true` and point `[Env] i2c_device` at the LattePanda's **own
|
||||
native I2C bus** — this is a separate physical link from the motor Leonardo's serial connection, not
|
||||
the Arduino's D2 pin (the original DHT11 plan). Bus number varies by board; confirm with
|
||||
`i2cdetect -y N` (the SHT41 answers at `0x44`/`68`). The backend (`Sht41EnvSensor`) polls at
|
||||
`period_ms`, discarding any sample that fails the SHT4x CRC-8 check. Set `[Features] mock_env = true`
|
||||
to use a synthetic reading on dev machines (no hardware) — this is also the checked-in
|
||||
`config.example.ini` default. The sensor sits behind the generic `IEnvSensor` interface
|
||||
`i2cdetect -y N` (the SHT41 answers at `0x44`/`68`). `i2c_addr` accepts either form — `0x44` hex or
|
||||
`68` decimal. The backend (`Sht41EnvSensor`) polls at `period_ms`, discarding any sample that fails
|
||||
the SHT4x CRC-8 check (decode lives in the pure, unit-tested
|
||||
[Sht41Protocol](../include/fgc/sensors/Sht41Protocol.h)); once nothing valid arrives within **2× the
|
||||
period**, `sample()` reports absence rather than a frozen value, which is what turns the panel from
|
||||
`live` to `no fix`. Set `[Features] mock_env = true` (or pass `--mock-env`, which also implies
|
||||
`enable_env`) to use a synthetic reading on dev machines with no hardware. The sensor sits behind the
|
||||
generic `IEnvSensor` interface
|
||||
([include/fgc/IEnvSensor.h](../include/fgc/IEnvSensor.h)), so swapping in a different ambient sensor
|
||||
later means adding a new backend, not touching `Application`, the UI, or MQTT.
|
||||
|
||||
|
|
@ -177,6 +181,7 @@ Parsed by Boost.Program_options ([main.cpp](../main.cpp)). Flags override `[Feat
|
|||
| `--no-mqtt` | Disable MQTT (use the null channel) |
|
||||
| `--mock-camera` | Use the simulated camera |
|
||||
| `--mock-serial` | Use the simulated motor controller |
|
||||
| `--mock-env` | Use the simulated ambient temp/humidity sensor (implies `[Features] enable_env`) |
|
||||
| `--tui` | Show the full-screen terminal dashboard (overrides `[UI] enable_tui`) |
|
||||
| `--no-tui` | Force the headless line console (overrides config; wins over `--tui`) |
|
||||
| `--log-level <lvl>` | `trace`/`debug`/`info`/`warn`/`error`/`off` |
|
||||
|
|
@ -237,9 +242,9 @@ operation is unchanged and remains the default — the same binary runs under sy
|
|||
logs on stdout.
|
||||
|
||||
Dashboard panels: **Gimbal** (per-axis state, heading, encoder counts, flag badges, target),
|
||||
**Sensors** (the **Xsens MTi** shows live roll/pitch/yaw + temp once `enable_imu`; the ambient
|
||||
**SHT41** shows live temp/humidity once `enable_env` — see [known-issues.md](known-issues.md) for
|
||||
its hardware-bring-up status), **Camera** (count, capture state, rate, last capture), **Connectivity** (MQTT state,
|
||||
**Sensors** (the **Xsens MTi** shows live roll/pitch/yaw once `enable_imu`; the ambient
|
||||
**SHT41** shows live temp/humidity once `enable_env`. The SHT41's is the **only** temperature on the main window: the MTi's
|
||||
device-internal temp is diagnostic detail and appears solely in the expanded view), **Camera** (count, capture state, rate, last capture), **Connectivity** (MQTT state,
|
||||
broker, tower, control mode, target heading). Adding a panel later is a struct in `UiSnapshot.h` plus
|
||||
one node in [src/ui/TuiUi.cpp](../src/ui/TuiUi.cpp).
|
||||
|
||||
|
|
@ -248,11 +253,15 @@ one node in [src/ui/TuiUi.cpp](../src/ui/TuiUi.cpp).
|
|||
- **Gimbal** (`g`) — both axes side by side: live telemetry, the decoded firmware register **dump**
|
||||
(`d` requests a fresh one), the homing limits, and the **last calibration** result (per-axis
|
||||
`counts_per_deg` / `zero_count` / R² / age).
|
||||
- **IMU** (`i`) — every MTi channel with units: orientation (°), acceleration (m/s²), rate-of-turn
|
||||
(rad/s), magnetic field (a.u.), temperature, sample counter, plus an **IMU CONFIG** section
|
||||
- **Sensors** (`i`) — both sensors, in headed sections so every reading is attributable.
|
||||
**MTi**: every channel with units — orientation (°), acceleration (m/s²), rate-of-turn
|
||||
(rad/s), magnetic field (a.u.), `TEMP (internal)`, sample counter, plus an **IMU CONFIG** section
|
||||
(read back from the device at startup): product code, firmware, device ID, output mode/format,
|
||||
calibration channels, sample rate, and the **Xsens Kalman Filter (XKF) profile** list — every
|
||||
profile the device supports, by name, with the active one marked `●` (selected).
|
||||
**SHT41**: `TEMP (ambient)`, humidity, the age of the last sample, and the configured I2C bus
|
||||
(device, address, poll period — hidden for the mock). Empty states name what to enable
|
||||
(`enable_env` / `--mock-env`) or, when enabled but silent, the staleness window that was missed.
|
||||
|
||||
**Activity strip** — a compact section between the log and the key bar that shows the
|
||||
currently-running special operation with live progress (`test`, `gimbal calib`, homing, capture
|
||||
|
|
|
|||
|
|
@ -94,8 +94,14 @@ persistence for LPM + usbfs, and verify a full sweep captures white-balanced fra
|
|||
yet (not homed / no `gimbal dump`), nudge requests one and does nothing that press — it never falls
|
||||
back to the configured degree clamps (which, if `*_min_deg`/`*_max_deg` were unset, produced absurd
|
||||
±100000° steps).
|
||||
- Ambient temperature/humidity (SHT41, `IEnvSensor`/`Sht41EnvSensor`/`MockEnvSensor`) is
|
||||
integrated in software — config-gated (`[Features] enable_env`/`mock_env`, `[Env]`), Sensors
|
||||
panel + MQTT `Env` topic wired — but defaults to `mock_env = true` in the checked-in example
|
||||
config. Bus/address bring-up and validation against the physical sensor on the LattePanda's I2C
|
||||
bus is still pending; flip `mock_env = false` on the deployed `config.ini` once confirmed.
|
||||
- Ambient temperature/humidity (SHT41, `IEnvSensor`/`Sht41EnvSensor`/`MockEnvSensor`) is fully
|
||||
integrated and **validated against the physical sensor on the LattePanda** — config-gated
|
||||
(`[Features] enable_env`, `[Env]`), Sensors panel + expanded `i` view + MQTT `Env` topic wired.
|
||||
It is **off by default** (`enable_env = false`), so a config without an `[Env]` section shows the
|
||||
panel as `pending` — that status means "no driver constructed", not "sensor unreachable"; an
|
||||
enabled-but-silent sensor reads `no fix` instead. Dev machines without the hardware should use
|
||||
`--mock-env` (implies `enable_env`) rather than editing config.
|
||||
- `[Env] i2c_addr` used to be parsed with a decimal-only `std::stoi`, so the `0x44` form every
|
||||
datasheet and `i2cdetect` uses silently became address `0x00` and the sensor never answered. It now
|
||||
accepts decimal or `0x` hex (`getIntAutoBase` in `Config.cpp`, covered by a test). Other integer
|
||||
config keys stay decimal-only on purpose, so a leading zero never turns into octal.
|
||||
|
|
|
|||
|
|
@ -19,9 +19,10 @@ Per-file reference for the refactored tree, plus the shared data structures.
|
|||
| [include/fgc/Calibration.h](../include/fgc/Calibration.h), [src/core/Calibration.cpp](../src/core/Calibration.cpp) | `linearFit` (least-squares, R²) + `circularMeanDeg` for the IMU-referenced calibration |
|
||||
| [include/fgc/CalibrationRoutine.h](../include/fgc/CalibrationRoutine.h), [src/core/CalibrationRoutine.cpp](../src/core/CalibrationRoutine.cpp) | `gimbal calib` worker thread: home-if-needed → pitch sweep at the first yaw position → pitch 0° → switch IMU to a no-mag XKF profile → IMU no-rotation + heading reset → yaw sweep, fitting degrees↔counts; tunable via `CalibParams`; exposes `progress()`/`report()`/`takeResult()` |
|
||||
| [include/fgc/MtiProtocol.h](../include/fgc/MtiProtocol.h), [src/core/MtiProtocol.cpp](../src/core/MtiProtocol.cpp) | Xsens MTi binary protocol: `MtiFramer` (checksum framing), config-message builders, `parseMTData` → `ImuSample` (temp/acc/gyr/mag/euler), config-readback query builders + `applyImuConfigAck`/`finalizeImuConfig` → `ImuDeviceConfig` (product/firmware/device-id/output mode+settings/sample rate/**XKF scenario**); orientation-control builders `msgSetNoRotation` (gyro-bias update) + `msgResetOrientation` (heading reset / store) + `msgSetFilterProfile` (select XKF profile) + `pickNoMagProfile` (choose a magnetometer-free profile from the available list) |
|
||||
| [include/fgc/sensors/Sht41Protocol.h](../include/fgc/sensors/Sht41Protocol.h), [src/sensors/Sht41Protocol.cpp](../src/sensors/Sht41Protocol.cpp) | Sensirion SHT4x wire protocol, pure: command bytes, `sht41Crc8` (poly 0x31/init 0xFF), `decodeSht41Measurement` (6-byte response → `Sht41Reading`, CRC-checked, raw→°C/%RH with RH clamped 0..100) |
|
||||
| [include/fgc/CaptureScheduler.h](../include/fgc/CaptureScheduler.h), [src/core/CaptureScheduler.cpp](../src/core/CaptureScheduler.cpp) | Capture state machine over the interfaces; injectable clock; `setGeometry` adopts a recalibration |
|
||||
| [include/fgc/Application.h](../include/fgc/Application.h), [src/core/Application.cpp](../src/core/Application.cpp) | Factory (real vs mock, headless vs TUI), wiring, control loop, `gimbal …` commands, background-result polling, `buildSnapshot()` |
|
||||
| [include/fgc/ui/UiSnapshot.h](../include/fgc/ui/UiSnapshot.h), [src/ui/UiSnapshot.cpp](../src/ui/UiSnapshot.cpp) | Plain-data view model (incl. `ImuView`, `ActivityView`, `CalibResultView`, `DumpView`) + pure formatting helpers (state label/colour, degrees, time-ago, pending-sensors) |
|
||||
| [include/fgc/ui/UiSnapshot.h](../include/fgc/ui/UiSnapshot.h), [src/ui/UiSnapshot.cpp](../src/ui/UiSnapshot.cpp) | Plain-data view model (incl. `ImuView`, `EnvView`, `ActivityView`, `CalibResultView`, `DumpView`) + pure formatting helpers (state label/colour, degrees, time-ago, pending-sensors) |
|
||||
| [include/fgc/ui/HeadlessUi.h](../include/fgc/ui/HeadlessUi.h), [src/ui/HeadlessUi.cpp](../src/ui/HeadlessUi.cpp) | Default line console: stdin → command sink; logs via the default stdout/stderr writer |
|
||||
| [ini.c](../ini.c), [ini.h](../ini.h) | Bundled third-party inih INI parser |
|
||||
|
||||
|
|
@ -30,9 +31,10 @@ Per-file reference for the refactored tree, plus the shared data structures.
|
|||
| File | Interface | Shared structs |
|
||||
|------|-----------|----------------|
|
||||
| [include/fgc/IMotorController.h](../include/fgc/IMotorController.h) | `IMotorController` | `MotorTelemetry` |
|
||||
| [include/fgc/IControlChannel.h](../include/fgc/IControlChannel.h) | `IControlChannel` | `ControlCommand`, `CamEvent` |
|
||||
| [include/fgc/IControlChannel.h](../include/fgc/IControlChannel.h) | `IControlChannel` | `ControlCommand`, `CamEvent`, `EnvEvent` |
|
||||
| [include/fgc/ICameraSource.h](../include/fgc/ICameraSource.h) | `ICameraSource` | `Frame` |
|
||||
| [include/fgc/IImuSource.h](../include/fgc/IImuSource.h) | `IImuSource` (incl. `config()`, `refreshConfig()`, `noRotation()`, `headingReset()`, `setFilterProfile()`) | `ImuSample` (from `MtiProtocol.h`) |
|
||||
| [include/fgc/IEnvSensor.h](../include/fgc/IEnvSensor.h) | `IEnvSensor` (`connected()`, `sample()`, `name()`) | `EnvSample` |
|
||||
| [include/fgc/ui/IUserInterface.h](../include/fgc/ui/IUserInterface.h) | `IUserInterface` | `UiSnapshot` |
|
||||
|
||||
## Real implementations (SDK-gated)
|
||||
|
|
@ -41,6 +43,8 @@ Per-file reference for the refactored tree, plus the shared data structures.
|
|||
|------|-----------|-----------|
|
||||
| [src/serial/SerialMotorController.cpp](../src/serial/SerialMotorController.cpp) | `IMotorController` over Boost.Asio serial (pImpl) | always |
|
||||
| [src/serial/MtiImuSource.cpp](../src/serial/MtiImuSource.cpp) | `IImuSource` over Boost.Asio serial: configures the MTi to Euler+calibrated, reads back its config (`config()` → `ImuDeviceConfig`), then frames the MTData stream | always |
|
||||
| [src/sensors/I2cBus.cpp](../src/sensors/I2cBus.cpp) | Thin `/dev/i2c-N` wrapper (open/close, `write`, `writeRead` via `I2C_SLAVE` ioctl) | always |
|
||||
| [src/sensors/Sht41EnvSensor.cpp](../src/sensors/Sht41EnvSensor.cpp) | `IEnvSensor` over I2C (pImpl): soft-reset, poll thread at `[Env] period_ms`, decode via `Sht41Protocol`, staleness = no valid sample within 2× the period | always |
|
||||
| [src/mqtt/MqttControlChannel.cpp](../src/mqtt/MqttControlChannel.cpp) | `IControlChannel` over Eclipse Paho | `WITH_MQTT` |
|
||||
| [src/ui/TuiUi.cpp](../src/ui/TuiUi.cpp) | `IUserInterface` over FTXUI: panels, key bar, log pane | `WITH_TUI` |
|
||||
| [src/camera/VimbaCameraSource.cpp](../src/camera/VimbaCameraSource.cpp) | `ICameraSource` over Vimba X (pImpl) | `WITH_VIMBA` |
|
||||
|
|
@ -55,6 +59,7 @@ Per-file reference for the refactored tree, plus the shared data structures.
|
|||
| [include/fgc/mock/NullControlChannel.h](../include/fgc/mock/NullControlChannel.h) | No-op channel; auto-sweep |
|
||||
| [include/fgc/mock/MockCameraSource.h](../include/fgc/mock/MockCameraSource.h) | Synthetic gradient frames |
|
||||
| [include/fgc/mock/MockImuSource.h](../include/fgc/mock/MockImuSource.h) | Synthetic IMU (sinusoidal orientation, gravity on accZ) |
|
||||
| [include/fgc/mock/MockEnvSensor.h](../include/fgc/mock/MockEnvSensor.h) | Synthetic ambient sensor (slow sinusoidal temp/humidity, never stale); `--mock-env` |
|
||||
|
||||
## Entry point & scripts
|
||||
|
||||
|
|
@ -80,6 +85,16 @@ firmware `ST Y:...[ P:...]` line; degrees are derived via `Geometry`.
|
|||
`tower`, `camera` (RGB/ACR/NIR), `heading_decideg` (yaw×10), `pitch_decideg` (pitch×10), `timestamp_ms`.
|
||||
Serialized to the CamEvent JSON payload (see [mqtt-api.md](mqtt-api.md)).
|
||||
|
||||
### `EnvEvent` ([IControlChannel.h](../include/fgc/IControlChannel.h))
|
||||
`tower`, `temp_c`, `humidity_pct`, `timestamp_ms`. Published once per **fresh** sample (deduplicated
|
||||
on `timestamp_ms`, not per control-loop tick) to the `Env` topic — see [mqtt-api.md](mqtt-api.md).
|
||||
|
||||
### `EnvSample` ([IEnvSensor.h](../include/fgc/IEnvSensor.h))
|
||||
One ambient reading: `valid`, `temp_c` (°C), `humidity_pct` (0..100), `timestamp_ms` (epoch ms).
|
||||
`IEnvSensor::sample()` returns `nullopt` rather than a stale sample once nothing valid has arrived
|
||||
within 2× the configured poll period, so a silently dead sensor reads as absent, not as a frozen
|
||||
value. Surfaced as `EnvView` in the TUI (`i` view) and as `SensorsView::env` in the compact panel.
|
||||
|
||||
### `Frame` ([ICameraSource.h](../include/fgc/ICameraSource.h))
|
||||
Owned pixel buffer + `width`, `height`, `channels` (1 or 3), `timestamp_ms`, `cam_id`.
|
||||
|
||||
|
|
|
|||
|
|
@ -7,13 +7,17 @@ apply unchanged). **Status: planned — blocked on component.** When a component
|
|||
lands, promote its entry into [test-command.md](test-command.md) and the taxonomy
|
||||
table.
|
||||
|
||||
## 1. `env / *` — environmental sensing — *blocked on: SHT41 hardware bring-up*
|
||||
## 1. `env / *` — environmental sensing — *unblocked: ready to implement*
|
||||
|
||||
The ambient sensor is now an SHT41 on the LattePanda's **own I2C bus** (not the Arduino) — see
|
||||
The ambient sensor is an SHT41 on the LattePanda's **own I2C bus** (not the Arduino) — see
|
||||
[configuration.md](configuration.md) `[Env]`. The software side has landed: `IEnvSensor` /
|
||||
`Sht41EnvSensor` / `MockEnvSensor`, config-gated, wired into the Sensors panel and the MQTT `Env`
|
||||
topic. What's still blocking this self-test leaf is validating the real backend against physical
|
||||
hardware (bus/address confirmation, a run with `mock_env = false`).
|
||||
`Sht41EnvSensor` / `MockEnvSensor`, config-gated, wired into the Sensors panel, the expanded `i`
|
||||
view and the MQTT `Env` topic; the wire protocol is pure and unit-tested
|
||||
([Sht41Protocol](../include/fgc/sensors/Sht41Protocol.h), `tests/test_sht41.cpp`). The real backend
|
||||
has been **validated against the physical sensor on the LattePanda**, so this leaf is no longer
|
||||
blocked — only unimplemented. Note the two distinct absence states it should tell apart:
|
||||
`pending` (driver never constructed — `enable_env` off) vs `no fix` (enabled but no valid sample
|
||||
within 2× `period_ms`).
|
||||
|
||||
- **`env / sht41`** — _Healthy:_ sensor responds every poll (`period_ms`); temperature and humidity
|
||||
in plausible range; values update (not stuck); CRC-8 failures stay rare. _Checks:_ read the sensor
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ struct RuntimeOptions {
|
|||
std::optional<bool> use_mqtt;
|
||||
std::optional<bool> mock_camera;
|
||||
std::optional<bool> mock_serial;
|
||||
std::optional<bool> mock_env; // implies [Features] enable_env
|
||||
std::optional<bool> use_tui; // --tui / --no-tui; unset => [UI] enable_tui
|
||||
|
||||
std::string log_level; // empty => default
|
||||
|
|
|
|||
|
|
@ -0,0 +1,47 @@
|
|||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <optional>
|
||||
#include <vector>
|
||||
|
||||
namespace fgc {
|
||||
|
||||
// Sensirion SHT4x (SHT41) I2C protocol helpers: the command bytes, the CRC-8
|
||||
// the sensor appends to each 16-bit word, and the decode from a raw 6-byte
|
||||
// measurement response to physical units. Kept pure (no I/O) so it is
|
||||
// unit-testable and lives in fgc_core — mirrors MtiProtocol / TelemetryParser.
|
||||
// The I/O half (bus, poll thread, staleness) stays in Sht41EnvSensor.
|
||||
//
|
||||
// Measurement response layout, big-endian:
|
||||
// [0..1] temperature raw [2] CRC of bytes 0..1
|
||||
// [3..4] humidity raw [5] CRC of bytes 3..4
|
||||
|
||||
// Soft reset; the datasheet asks for ~1 ms to settle afterwards.
|
||||
inline constexpr uint8_t kSht41CmdSoftReset = 0x94;
|
||||
// Measure temperature + RH, high precision; ~10 ms conversion time.
|
||||
inline constexpr uint8_t kSht41CmdMeasureHighPrec = 0xFD;
|
||||
|
||||
// Bytes in a measurement response.
|
||||
inline constexpr size_t kSht41ResponseBytes = 6;
|
||||
|
||||
// SHT4x CRC-8: polynomial 0x31, init 0xFF, no reflection, no final XOR.
|
||||
// Datasheet test vector: {0xBE, 0xEF} -> 0x92.
|
||||
uint8_t sht41Crc8(const uint8_t* data, size_t len);
|
||||
|
||||
// One decoded measurement in physical units.
|
||||
struct Sht41Reading {
|
||||
float temp_c = 0.0f;
|
||||
float humidity_pct = 0.0f;
|
||||
};
|
||||
|
||||
// Decode a measurement response. Returns nullopt if the response is not
|
||||
// kSht41ResponseBytes long or either word fails its CRC — a corrupt frame must
|
||||
// be discarded rather than reported as a reading, since a garbled word is
|
||||
// indistinguishable from a plausible temperature once converted.
|
||||
//
|
||||
// Conversions (datasheet): T[°C] = -45 + 175 * raw/65535,
|
||||
// RH[%] = -6 + 125 * raw/65535, with RH clamped to 0..100 (the raw formula
|
||||
// slightly overshoots both ends by design).
|
||||
std::optional<Sht41Reading> decodeSht41Measurement(const std::vector<uint8_t>& rx);
|
||||
|
||||
} // namespace fgc
|
||||
|
|
@ -76,12 +76,14 @@ struct SensorGroup {
|
|||
|
||||
// The Sensors panel, split by source so it is clear which parameters come from
|
||||
// which device. Each group is filled with pending placeholders until its driver
|
||||
// lands. NOTE: the MTi's Temp is the device's *internal* temperature; the env
|
||||
// sensor's Temp (separate group) is *ambient* — deliberately kept apart. The
|
||||
// env group's title/backing sensor is swappable (currently SHT41 over I2C; see
|
||||
// IEnvSensor) without touching this struct.
|
||||
// lands. NOTE: the only temperature here is the env sensor's *ambient* one — the
|
||||
// MTi's *internal* device temperature is diagnostic detail and lives solely in
|
||||
// the expanded view (ImuView::temp_c), so the compact panel never shows two
|
||||
// temperatures the operator has to tell apart. The env group's title/backing
|
||||
// sensor is swappable (currently SHT41 over I2C; see IEnvSensor) without
|
||||
// touching this struct.
|
||||
struct SensorsView {
|
||||
SensorGroup imu; // Xsens MTi: Roll/Pitch/Yaw + internal temperature
|
||||
SensorGroup imu; // Xsens MTi: Roll/Pitch/Yaw
|
||||
SensorGroup env; // ambient temperature + humidity (SHT41)
|
||||
};
|
||||
|
||||
|
|
@ -206,6 +208,21 @@ struct ImuView {
|
|||
ImuConfigView config;
|
||||
};
|
||||
|
||||
// Full ambient-sensor reading for the expanded Sensors view. This temperature is
|
||||
// *ambient*, as distinct from ImuView::temp_c (the MTi's device-internal temp);
|
||||
// the expanded view labels both so they are never confused.
|
||||
struct EnvView {
|
||||
bool enabled = false; // driver constructed (enable_env / --mock-env)
|
||||
bool present = false; // a fresh (non-stale) sample is available
|
||||
bool mock = false; // MockEnvSensor: the I2C bus config is meaningless
|
||||
std::string name; // IEnvSensor::name() — "SHT41" / "SHT41 (mock)"
|
||||
float temp_c = 0, humidity_pct = 0;
|
||||
long long timestamp_ms = 0; // epoch ms, for formatTimeAgo()
|
||||
std::string i2c_device; // from EnvConfig, for the bus row
|
||||
unsigned i2c_addr = 0;
|
||||
int period_ms = 0;
|
||||
};
|
||||
|
||||
// Status of the currently-running special operation (calibration, diagnostics,
|
||||
// homing, capture) plus the last completed result, for the activity strip below
|
||||
// the log. The result block persists until replaced so it never scrolls away.
|
||||
|
|
@ -271,6 +288,7 @@ struct UiSnapshot {
|
|||
std::vector<LogLine> log;
|
||||
DumpView dump;
|
||||
ImuView imu;
|
||||
EnvView env;
|
||||
ActivityView activity;
|
||||
CalibResultView calib;
|
||||
DiagResultView diag;
|
||||
|
|
|
|||
3
main.cpp
3
main.cpp
|
|
@ -21,6 +21,8 @@ int main(int argc, char* argv[]) {
|
|||
("no-mqtt", po::bool_switch(), "disable MQTT (use a null control channel)")
|
||||
("mock-camera", po::bool_switch(), "use a simulated camera (no hardware)")
|
||||
("mock-serial", po::bool_switch(), "use a simulated motor controller (no hardware)")
|
||||
("mock-env", po::bool_switch(),
|
||||
"use a simulated ambient temp/humidity sensor (implies enable_env)")
|
||||
("tui", po::bool_switch(), "show the full-screen terminal dashboard")
|
||||
("no-tui", po::bool_switch(), "force the headless line console (overrides config)")
|
||||
("log-level", po::value<std::string>(), "trace|debug|info|warn|error|off")
|
||||
|
|
@ -66,6 +68,7 @@ int main(int argc, char* argv[]) {
|
|||
if (vm["no-mqtt"].as<bool>()) opts.use_mqtt = false;
|
||||
if (vm["mock-camera"].as<bool>()) opts.mock_camera = true;
|
||||
if (vm["mock-serial"].as<bool>()) opts.mock_serial = true;
|
||||
if (vm["mock-env"].as<bool>()) opts.mock_env = true;
|
||||
if (vm["tui"].as<bool>()) opts.use_tui = true;
|
||||
if (vm["no-tui"].as<bool>()) opts.use_tui = false; // --no-tui wins
|
||||
if (vm.count("log-level")) opts.log_level = vm["log-level"].as<std::string>();
|
||||
|
|
|
|||
|
|
@ -267,8 +267,12 @@ struct Application::Impl {
|
|||
}
|
||||
|
||||
std::unique_ptr<IEnvSensor> makeEnv() {
|
||||
if (!cfg.features.enable_env) return nullptr; // sensors panel stays "pending"
|
||||
if (cfg.features.mock_env) return std::make_unique<MockEnvSensor>();
|
||||
// --mock-env implies enable_env: the sensor is off by default, so without
|
||||
// that the flag would silently do nothing.
|
||||
const bool force_mock = opts.mock_env.value_or(false);
|
||||
if (!cfg.features.enable_env && !force_mock)
|
||||
return nullptr; // sensors panel stays "pending"
|
||||
if (force_mock || cfg.features.mock_env) return std::make_unique<MockEnvSensor>();
|
||||
if (cfg.env.i2c_device.empty()) {
|
||||
LOG_WARN << "Env sensor enabled but [Env] i2c_device is empty; disabling";
|
||||
return nullptr;
|
||||
|
|
@ -403,15 +407,16 @@ struct Application::Impl {
|
|||
}
|
||||
s.imu.temp_c = m->temp_c;
|
||||
s.imu.sample_counter = m->sample_counter;
|
||||
// Compact MTi subsection: Roll/Pitch/Yaw + the device's internal temp.
|
||||
// Compact MTi subsection: Roll/Pitch/Yaw only. The internal temp
|
||||
// stays in s.imu (expanded view) so the main window's single
|
||||
// temperature is unambiguously the SHT41's ambient one.
|
||||
auto& g = s.sensors.imu;
|
||||
g.present = true;
|
||||
g.status = "live";
|
||||
if (g.fields.size() >= 4) {
|
||||
if (g.fields.size() >= 3) {
|
||||
setField(g.fields[0], fmt1(m->roll_deg));
|
||||
setField(g.fields[1], fmt1(m->pitch_deg));
|
||||
setField(g.fields[2], fmt1(m->yaw_deg));
|
||||
setField(g.fields[3], fmt1(m->temp_c)); // MTi internal temp
|
||||
}
|
||||
} else {
|
||||
s.sensors.imu.status = "no fix";
|
||||
|
|
@ -428,7 +433,21 @@ struct Application::Impl {
|
|||
f.value = v;
|
||||
f.present = true;
|
||||
};
|
||||
// Identity and bus config are set whether or not a sample is available,
|
||||
// so the expanded view can still say what the sensor is and where it
|
||||
// should be when it goes quiet.
|
||||
s.env.enabled = true;
|
||||
s.env.mock = opts.mock_env.value_or(cfg.features.mock_env);
|
||||
s.env.name = env->name();
|
||||
s.env.i2c_device = cfg.env.i2c_device;
|
||||
s.env.i2c_addr = cfg.env.i2c_addr;
|
||||
s.env.period_ms = cfg.env.period_ms;
|
||||
if (auto m = env->sample()) {
|
||||
s.env.present = true;
|
||||
s.env.temp_c = m->temp_c;
|
||||
s.env.humidity_pct = m->humidity_pct;
|
||||
s.env.timestamp_ms = m->timestamp_ms;
|
||||
|
||||
auto& g = s.sensors.env;
|
||||
g.present = true;
|
||||
g.status = "live";
|
||||
|
|
|
|||
|
|
@ -34,6 +34,27 @@ int getInt(const std::map<std::string, std::string>& kv, const std::string& key,
|
|||
}
|
||||
}
|
||||
|
||||
// Like getInt, but accepts an "0x"-prefixed value too. Only for I2C addresses,
|
||||
// which every datasheet, `i2cdetect` and our own docs write in hex: plain
|
||||
// std::stoi() stops at the 'x' and silently yields 0, so `i2c_addr = 0x44`
|
||||
// would configure address 0x00 and the sensor would never answer. Kept separate
|
||||
// from getInt so no other key gains surprise octal ("010" -> 8) parsing.
|
||||
int getIntAutoBase(const std::map<std::string, std::string>& kv, const std::string& key,
|
||||
int fallback) {
|
||||
auto it = kv.find(key);
|
||||
if (it == kv.end() || it->second.empty()) return fallback;
|
||||
try {
|
||||
size_t consumed = 0;
|
||||
const std::string& v = it->second;
|
||||
int out = std::stoi(v, &consumed, v.rfind("0x", 0) == 0 || v.rfind("0X", 0) == 0 ? 16 : 10);
|
||||
if (consumed != v.size()) throw std::invalid_argument("trailing characters");
|
||||
return out;
|
||||
} catch (const std::exception&) {
|
||||
throw std::runtime_error("Config key '" + key + "' must be an integer (decimal or 0x hex)"
|
||||
", got '" + it->second + "'");
|
||||
}
|
||||
}
|
||||
|
||||
double getDouble(const std::map<std::string, std::string>& kv, const std::string& key,
|
||||
double fallback) {
|
||||
auto it = kv.find(key);
|
||||
|
|
@ -188,7 +209,8 @@ AppConfig ConfigLoader::fromMap(const std::map<std::string, std::string>& kv) {
|
|||
cfg.imu.baud = static_cast<unsigned>(getInt(kv, "IMU.baud", cfg.imu.baud));
|
||||
|
||||
cfg.env.i2c_device = get(kv, "Env.i2c_device", cfg.env.i2c_device);
|
||||
cfg.env.i2c_addr = static_cast<unsigned>(getInt(kv, "Env.i2c_addr", cfg.env.i2c_addr));
|
||||
cfg.env.i2c_addr = static_cast<unsigned>(
|
||||
getIntAutoBase(kv, "Env.i2c_addr", static_cast<int>(cfg.env.i2c_addr)));
|
||||
cfg.env.period_ms = getInt(kv, "Env.period_ms", cfg.env.period_ms);
|
||||
|
||||
// [Test] + [TestProfile.<name>]: discover profiles by scanning the flattened
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "fgc/Logger.h"
|
||||
#include "fgc/sensors/I2cBus.h"
|
||||
#include "fgc/sensors/Sht41Protocol.h"
|
||||
|
||||
#include <atomic>
|
||||
#include <chrono>
|
||||
|
|
@ -12,22 +13,11 @@ namespace fgc {
|
|||
|
||||
namespace {
|
||||
|
||||
constexpr uint8_t kCmdSoftReset = 0x94;
|
||||
constexpr uint8_t kCmdMeasureHighPrec = 0xFD;
|
||||
constexpr auto kConversionDelay = std::chrono::milliseconds(10);
|
||||
constexpr auto kSoftResetSettle = std::chrono::milliseconds(1);
|
||||
|
||||
// SHT4x CRC-8: poly 0x31, init 0xFF. Datasheet test vector: 0xBE 0xEF -> 0x92.
|
||||
uint8_t crc8Sht41(const uint8_t* data, size_t len) {
|
||||
uint8_t crc = 0xFF;
|
||||
for (size_t i = 0; i < len; ++i) {
|
||||
crc ^= data[i];
|
||||
for (int b = 0; b < 8; ++b)
|
||||
crc = (crc & 0x80) ? static_cast<uint8_t>((crc << 1) ^ 0x31)
|
||||
: static_cast<uint8_t>(crc << 1);
|
||||
}
|
||||
return crc;
|
||||
}
|
||||
// The command bytes and the frame decode (CRC + raw->physical) live in
|
||||
// Sht41Protocol, which is pure and unit-tested; this file owns only the I/O:
|
||||
// bus access, poll timing, and the staleness rule.
|
||||
constexpr auto kConversionDelay = std::chrono::milliseconds(10);
|
||||
constexpr auto kSoftResetSettle = std::chrono::milliseconds(1);
|
||||
|
||||
} // namespace
|
||||
|
||||
|
|
@ -47,27 +37,21 @@ struct Sht41EnvSensor::Impl {
|
|||
clock::time_point last_ok{};
|
||||
|
||||
void readOnce() {
|
||||
if (!bus.write({kCmdMeasureHighPrec})) return;
|
||||
if (!bus.write({kSht41CmdMeasureHighPrec})) return;
|
||||
std::this_thread::sleep_for(kConversionDelay);
|
||||
std::vector<uint8_t> rx(6);
|
||||
std::vector<uint8_t> rx(kSht41ResponseBytes);
|
||||
if (!bus.writeRead({}, rx)) return;
|
||||
|
||||
if (crc8Sht41(rx.data(), 2) != rx[2] || crc8Sht41(rx.data() + 3, 2) != rx[5]) {
|
||||
auto reading = decodeSht41Measurement(rx);
|
||||
if (!reading) {
|
||||
LOG_WARN << "SHT41: CRC mismatch, discarding sample";
|
||||
return;
|
||||
}
|
||||
|
||||
const uint16_t traw = static_cast<uint16_t>((rx[0] << 8) | rx[1]);
|
||||
const uint16_t rhraw = static_cast<uint16_t>((rx[3] << 8) | rx[4]);
|
||||
float temp_c = -45.0f + 175.0f * (static_cast<float>(traw) / 65535.0f);
|
||||
float rh_pct = -6.0f + 125.0f * (static_cast<float>(rhraw) / 65535.0f);
|
||||
if (rh_pct < 0.0f) rh_pct = 0.0f;
|
||||
if (rh_pct > 100.0f) rh_pct = 100.0f;
|
||||
|
||||
std::lock_guard<std::mutex> lock(mutex);
|
||||
latest.valid = true;
|
||||
latest.temp_c = temp_c;
|
||||
latest.humidity_pct = rh_pct;
|
||||
latest.temp_c = reading->temp_c;
|
||||
latest.humidity_pct = reading->humidity_pct;
|
||||
latest.timestamp_ms = std::chrono::duration_cast<std::chrono::milliseconds>(
|
||||
std::chrono::system_clock::now().time_since_epoch())
|
||||
.count();
|
||||
|
|
@ -93,7 +77,7 @@ void Sht41EnvSensor::start() {
|
|||
LOG_ERROR << "SHT41: failed to open I2C bus; sensor disabled";
|
||||
return;
|
||||
}
|
||||
impl_->bus.write({kCmdSoftReset});
|
||||
impl_->bus.write({kSht41CmdSoftReset});
|
||||
std::this_thread::sleep_for(kSoftResetSettle);
|
||||
impl_->running = true;
|
||||
impl_->worker = std::thread([this] { impl_->run(); });
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
#include "fgc/sensors/Sht41Protocol.h"
|
||||
|
||||
namespace fgc {
|
||||
|
||||
uint8_t sht41Crc8(const uint8_t* data, size_t len) {
|
||||
uint8_t crc = 0xFF;
|
||||
for (size_t i = 0; i < len; ++i) {
|
||||
crc ^= data[i];
|
||||
for (int b = 0; b < 8; ++b)
|
||||
crc = (crc & 0x80) ? static_cast<uint8_t>((crc << 1) ^ 0x31)
|
||||
: static_cast<uint8_t>(crc << 1);
|
||||
}
|
||||
return crc;
|
||||
}
|
||||
|
||||
std::optional<Sht41Reading> decodeSht41Measurement(const std::vector<uint8_t>& rx) {
|
||||
if (rx.size() != kSht41ResponseBytes) return std::nullopt;
|
||||
if (sht41Crc8(rx.data(), 2) != rx[2] || sht41Crc8(rx.data() + 3, 2) != rx[5])
|
||||
return std::nullopt;
|
||||
|
||||
const uint16_t traw = static_cast<uint16_t>((rx[0] << 8) | rx[1]);
|
||||
const uint16_t rhraw = static_cast<uint16_t>((rx[3] << 8) | rx[4]);
|
||||
|
||||
Sht41Reading out;
|
||||
out.temp_c = -45.0f + 175.0f * (static_cast<float>(traw) / 65535.0f);
|
||||
out.humidity_pct = -6.0f + 125.0f * (static_cast<float>(rhraw) / 65535.0f);
|
||||
if (out.humidity_pct < 0.0f) out.humidity_pct = 0.0f;
|
||||
if (out.humidity_pct > 100.0f) out.humidity_pct = 100.0f;
|
||||
return out;
|
||||
}
|
||||
|
||||
} // namespace fgc
|
||||
|
|
@ -561,8 +561,11 @@ Element gimbalDetailPanel(const GimbalView& g, const DumpView& dump, const Calib
|
|||
vbox({header, separator(), hbox(std::move(cols)) | flex}));
|
||||
}
|
||||
|
||||
// Full-screen IMU view (toggled with 'i'): every MTi channel with units.
|
||||
Element imuDetailPanel(const ImuView& v) {
|
||||
// Full-screen Sensors view (toggled with 'i'): every MTi channel with units,
|
||||
// then the ambient sensor. The two devices get their own headed sections, and
|
||||
// each temperature is labelled with its provenance ("internal" vs "ambient"),
|
||||
// so the reading the main window shows is never confused with the MTi's.
|
||||
Element sensorsDetailPanel(const ImuView& v, const EnvView& e) {
|
||||
// Fixed-width, right-aligned to 2 decimals. The constant width keeps the sign
|
||||
// column and decimal point from jumping as values cross zero or change digit
|
||||
// count, so the readout stays steady instead of flickering. The width is kept
|
||||
|
|
@ -592,6 +595,8 @@ Element imuDetailPanel(const ImuView& v) {
|
|||
const float ori[3] = {v.roll_deg, v.pitch_deg, v.yaw_deg};
|
||||
|
||||
std::vector<Element> body;
|
||||
body.push_back(text("MTi \xE2\x80\x94 orientation & device-internal temperature") | bold
|
||||
| color(Color::Magenta));
|
||||
if (!v.present) {
|
||||
body.push_back(text("(no IMU data)") | color(Color::Red) | bold);
|
||||
body.push_back(text("check [Features] enable_imu and [IMU] device, or --mock-imu") | dim);
|
||||
|
|
@ -611,12 +616,59 @@ Element imuDetailPanel(const ImuView& v) {
|
|||
body.push_back(vecRow("MAG FIELD", "a.u.", v.mag, Color::Cyan));
|
||||
body.push_back(separator());
|
||||
body.push_back(hbox({
|
||||
text("TEMP") | dim | size(WIDTH, EQUAL, 14),
|
||||
text("TEMP (internal)") | dim | size(WIDTH, EQUAL, 16),
|
||||
text(f2(v.temp_c, 6) + " \xC2\xB0""C") | bold | size(WIDTH, EQUAL, 18),
|
||||
text("sample #" + std::to_string(v.sample_counter)) | dim,
|
||||
}));
|
||||
}
|
||||
|
||||
// AMBIENT section: the SHT41 (or whatever IEnvSensor backs it — the name comes
|
||||
// from the driver, so a mock announces itself). This is the temperature the
|
||||
// main window shows. It sits directly under the MTi's live rows and ABOVE the
|
||||
// static IMU CONFIG block: on an 80x24 terminal the body overflows once the
|
||||
// MTi reports its configuration, and the live readings from both sensors are
|
||||
// what must stay on screen — the never-changing device config is what gives way
|
||||
// (and is still reachable by scrolling).
|
||||
{
|
||||
auto envRow = [](const std::string& k, Element val) {
|
||||
return hbox({text(k) | dim | size(WIDTH, EQUAL, 16), std::move(val)});
|
||||
};
|
||||
auto f1 = [](float x) {
|
||||
char b[24];
|
||||
std::snprintf(b, sizeof(b), "%.1f", x);
|
||||
return std::string(b);
|
||||
};
|
||||
body.push_back(separator());
|
||||
body.push_back(text((e.name.empty() ? std::string("SHT41") : e.name) +
|
||||
" \xE2\x80\x94 ambient (I2C)") | bold | color(Color::Magenta));
|
||||
if (!e.enabled) {
|
||||
body.push_back(text("(env sensor disabled)") | dim);
|
||||
body.push_back(
|
||||
text("enable with [Features] enable_env and [Env] i2c_device, or --mock-env")
|
||||
| dim);
|
||||
} else if (!e.present) {
|
||||
body.push_back(text("(no reading)") | color(Color::Red) | bold);
|
||||
// Kept short enough to fit an 80-column terminal without truncating.
|
||||
body.push_back(text("no sample within 2x the " + std::to_string(e.period_ms) +
|
||||
" ms poll period \xE2\x80\x94 check wiring/bus") | dim);
|
||||
} else {
|
||||
long long now = std::chrono::duration_cast<std::chrono::milliseconds>(
|
||||
std::chrono::system_clock::now().time_since_epoch()).count();
|
||||
body.push_back(envRow("TEMP (ambient)",
|
||||
text(f2(e.temp_c, 6) + " \xC2\xB0""C") | bold));
|
||||
body.push_back(envRow("HUMIDITY", text(f1(e.humidity_pct) + " %RH") | bold));
|
||||
body.push_back(envRow("Last sample", text(formatTimeAgo(now, e.timestamp_ms)) | dim));
|
||||
}
|
||||
// The configured bus is meaningless for the mock, so only show it for real
|
||||
// hardware — where it is exactly what you need to debug a missing reading.
|
||||
if (e.enabled && !e.mock) {
|
||||
char addr[16];
|
||||
std::snprintf(addr, sizeof(addr), "0x%02X", e.i2c_addr);
|
||||
body.push_back(envRow("Bus", text(e.i2c_device + " @ " + addr + ", every " +
|
||||
std::to_string(e.period_ms) + " ms") | dim));
|
||||
}
|
||||
}
|
||||
|
||||
// IMU CONFIG section (device configuration read back at startup). Shown
|
||||
// whenever it is known, even if the live stream is offline.
|
||||
const auto& c = v.config;
|
||||
|
|
@ -653,11 +705,20 @@ Element imuDetailPanel(const ImuView& v) {
|
|||
}
|
||||
}
|
||||
|
||||
Element status = v.present ? (text(" MTi live ") | color(Color::Green) | bold)
|
||||
: (text(" MTi offline ") | color(Color::Red) | bold);
|
||||
return window(text(" IMU (i/Esc:close r:refresh config) ") | bold | color(Color::Magenta),
|
||||
vbox({hbox({status, filler()}), separator(),
|
||||
vbox(std::move(body)) | flex}));
|
||||
Element imu_status = v.present ? (text(" MTi live ") | color(Color::Green) | bold)
|
||||
: (text(" MTi offline ") | color(Color::Red) | bold);
|
||||
const std::string env_name = e.name.empty() ? "SHT41" : e.name;
|
||||
Element env_status = !e.enabled
|
||||
? (text(" " + env_name + " disabled ") | dim)
|
||||
: (e.present
|
||||
? (text(" " + env_name + " live ") | color(Color::Green) | bold)
|
||||
: (text(" " + env_name + " no reading ") | color(Color::Red) |
|
||||
bold));
|
||||
// yframe so a long body (MTi channels + config + ambient) stays reachable on a
|
||||
// short terminal instead of being silently cut off, as the camera view does.
|
||||
return window(text(" SENSORS (i/Esc:close r:refresh config) ") | bold | color(Color::Magenta),
|
||||
vbox({hbox({imu_status, text(" "), env_status, filler()}), separator(),
|
||||
vbox(std::move(body)) | yframe | flex}));
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
|
@ -751,7 +812,7 @@ void TuiUi::uiLoop() {
|
|||
} else {
|
||||
bottom = hbox({
|
||||
keyHint("s", "Start"), keyHint("x", "Stop"), keyHint("h", "Home"),
|
||||
keyHint("g", "Gimbal"), keyHint("i", "IMU"), keyHint("c", "Scan"),
|
||||
keyHint("g", "Gimbal"), keyHint("i", "Sensors"), keyHint("c", "Scan"),
|
||||
keyHint("p", "Pause"), keyHint("r", "Refresh"),
|
||||
keyHint("\xE2\x86\x90\xE2\x86\x92\xE2\x86\x91\xE2\x86\x93", "Nudge"),
|
||||
keyHint(":", "Cmd"), keyHint("?", "Help"), filler(), keyHint("q", "Quit"),
|
||||
|
|
@ -768,7 +829,8 @@ void TuiUi::uiLoop() {
|
|||
return vbox({header, separator(),
|
||||
gimbalDetailPanel(s.gimbal, s.dump, s.calib, s.diag) | flex, bottom});
|
||||
case Overlay::Sensors:
|
||||
return vbox({header, separator(), imuDetailPanel(s.imu) | flex, bottom});
|
||||
return vbox({header, separator(),
|
||||
sensorsDetailPanel(s.imu, s.env) | flex, bottom});
|
||||
case Overlay::Cameras:
|
||||
return vbox({header, separator(), cameraDetailPanel(s.capture) | flex, bottom});
|
||||
default: {
|
||||
|
|
|
|||
|
|
@ -49,13 +49,15 @@ std::string formatTimeAgo(long long now_ms, long long then_ms) {
|
|||
|
||||
SensorsView pendingSensorsView() {
|
||||
SensorsView v;
|
||||
// Xsens MTi-28 AHRS: drift-free Euler orientation + device internal temp.
|
||||
// Xsens MTi-28 AHRS: drift-free Euler orientation. The device's internal
|
||||
// temperature is deliberately NOT here — it is diagnostic detail shown only
|
||||
// in the expanded view, so the sole temperature on the main window is the
|
||||
// SHT41's ambient one below.
|
||||
v.imu.title = "MTi (orientation)";
|
||||
v.imu.status = "pending";
|
||||
v.imu.fields.push_back({"Roll", "--.-", "\xC2\xB0", false});
|
||||
v.imu.fields.push_back({"Pitch", "--.-", "\xC2\xB0", false});
|
||||
v.imu.fields.push_back({"Yaw", "--.-", "\xC2\xB0", false});
|
||||
v.imu.fields.push_back({"Temp", "--.-", "\xC2\xB0""C", false}); // MTi internal
|
||||
// SHT41 temperature & humidity (Adafruit, I2C on the LattePanda's own bus):
|
||||
// ±0.2 °C, ±1.8 %RH (ambient).
|
||||
v.env.title = "SHT41 (ambient)";
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ add_executable(fgc_tests
|
|||
test_scangrid.cpp
|
||||
test_uisnapshot.cpp
|
||||
test_mtiprotocol.cpp
|
||||
test_sht41.cpp
|
||||
test_dumpparser.cpp
|
||||
test_helptext.cpp
|
||||
test_diagparser.cpp
|
||||
|
|
|
|||
|
|
@ -60,6 +60,17 @@ TEST_CASE("ConfigLoader maps [Env]/env feature flags") {
|
|||
CHECK(c.env.period_ms == 5000);
|
||||
}
|
||||
|
||||
TEST_CASE("Env.i2c_addr accepts the hex form every datasheet uses") {
|
||||
// Plain std::stoi() stops at the 'x' and returns 0, which would silently
|
||||
// configure address 0x00 — the sensor would then never answer.
|
||||
CHECK(ConfigLoader::fromMap({{"Env.i2c_addr", "0x44"}}).env.i2c_addr == 0x44);
|
||||
CHECK(ConfigLoader::fromMap({{"Env.i2c_addr", "0X44"}}).env.i2c_addr == 0x44);
|
||||
CHECK(ConfigLoader::fromMap({{"Env.i2c_addr", "68"}}).env.i2c_addr == 68);
|
||||
// Decimal stays decimal: no surprise octal for a leading zero.
|
||||
CHECK(ConfigLoader::fromMap({{"Env.i2c_addr", "010"}}).env.i2c_addr == 10);
|
||||
CHECK_THROWS(ConfigLoader::fromMap({{"Env.i2c_addr", "0x4g"}}));
|
||||
}
|
||||
|
||||
TEST_CASE("environment overrides file credentials") {
|
||||
setenv("FGC_MQTT_USER", "envuser", 1);
|
||||
AppConfig c = ConfigLoader::fromMap({{"Network.mqtt_user", "fileuser"}});
|
||||
|
|
|
|||
|
|
@ -0,0 +1,100 @@
|
|||
#include <doctest/doctest.h>
|
||||
|
||||
#include "fgc/mock/MockEnvSensor.h"
|
||||
#include "fgc/sensors/Sht41Protocol.h"
|
||||
|
||||
using namespace fgc;
|
||||
|
||||
namespace {
|
||||
|
||||
// Build a measurement response with correct CRCs for both words.
|
||||
std::vector<uint8_t> frame(uint8_t t_msb, uint8_t t_lsb, uint8_t h_msb, uint8_t h_lsb) {
|
||||
std::vector<uint8_t> rx = {t_msb, t_lsb, 0, h_msb, h_lsb, 0};
|
||||
rx[2] = sht41Crc8(rx.data(), 2);
|
||||
rx[5] = sht41Crc8(rx.data() + 3, 2);
|
||||
return rx;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
TEST_CASE("sht41Crc8 matches the datasheet test vector") {
|
||||
// Sensirion's published check value — pins polynomial (0x31), init (0xFF)
|
||||
// and the no-reflection/no-final-XOR choices all at once.
|
||||
const uint8_t v[] = {0xBE, 0xEF};
|
||||
CHECK(sht41Crc8(v, 2) == 0x92);
|
||||
|
||||
// CRCs computed independently for the frames used below; a byte-order or
|
||||
// polynomial regression breaks these even if the datasheet vector survives.
|
||||
const uint8_t a[] = {0x66, 0x66};
|
||||
CHECK(sht41Crc8(a, 2) == 0x93);
|
||||
const uint8_t zero[] = {0x00, 0x00};
|
||||
CHECK(sht41Crc8(zero, 2) == 0x81);
|
||||
const uint8_t full[] = {0xFF, 0xFF};
|
||||
CHECK(sht41Crc8(full, 2) == 0xAC);
|
||||
}
|
||||
|
||||
TEST_CASE("decodeSht41Measurement converts raw words to physical units") {
|
||||
// 0x6666 is exactly 25 °C under T = -45 + 175 * raw/65535.
|
||||
auto r = decodeSht41Measurement(frame(0x66, 0x66, 0x80, 0x00));
|
||||
REQUIRE(r.has_value());
|
||||
CHECK(r->temp_c == doctest::Approx(25.0).epsilon(0.001));
|
||||
CHECK(r->humidity_pct == doctest::Approx(56.501).epsilon(0.001));
|
||||
}
|
||||
|
||||
TEST_CASE("decodeSht41Measurement clamps humidity to 0..100") {
|
||||
// The datasheet RH formula overshoots both ends by design: raw 0 yields
|
||||
// -6 %RH and raw 65535 yields 119 %RH. Temperature is NOT clamped — its
|
||||
// full -45..130 °C range is real.
|
||||
auto lo = decodeSht41Measurement(frame(0x00, 0x00, 0x00, 0x00));
|
||||
REQUIRE(lo.has_value());
|
||||
CHECK(lo->temp_c == doctest::Approx(-45.0).epsilon(0.001));
|
||||
CHECK(lo->humidity_pct == doctest::Approx(0.0));
|
||||
|
||||
auto hi = decodeSht41Measurement(frame(0xFF, 0xFF, 0xFF, 0xFF));
|
||||
REQUIRE(hi.has_value());
|
||||
CHECK(hi->temp_c == doctest::Approx(130.0).epsilon(0.001));
|
||||
CHECK(hi->humidity_pct == doctest::Approx(100.0));
|
||||
}
|
||||
|
||||
TEST_CASE("decodeSht41Measurement rejects corrupt frames instead of reporting them") {
|
||||
// A garbled word converts to a perfectly plausible temperature, so the CRC
|
||||
// is the only thing standing between line noise and a believed reading.
|
||||
std::vector<uint8_t> bad_temp_crc = frame(0x66, 0x66, 0x80, 0x00);
|
||||
bad_temp_crc[2] ^= 0xFF;
|
||||
CHECK_FALSE(decodeSht41Measurement(bad_temp_crc).has_value());
|
||||
|
||||
std::vector<uint8_t> bad_rh_crc = frame(0x66, 0x66, 0x80, 0x00);
|
||||
bad_rh_crc[5] ^= 0xFF;
|
||||
CHECK_FALSE(decodeSht41Measurement(bad_rh_crc).has_value());
|
||||
|
||||
// A flipped data bit invalidates the word its CRC covers.
|
||||
std::vector<uint8_t> flipped = frame(0x66, 0x66, 0x80, 0x00);
|
||||
flipped[1] ^= 0x01;
|
||||
CHECK_FALSE(decodeSht41Measurement(flipped).has_value());
|
||||
|
||||
// Short/absent reads (a bus hiccup) must not be indexed into.
|
||||
CHECK_FALSE(decodeSht41Measurement({}).has_value());
|
||||
CHECK_FALSE(decodeSht41Measurement({0x66, 0x66, 0x93}).has_value());
|
||||
std::vector<uint8_t> too_long = frame(0x66, 0x66, 0x80, 0x00);
|
||||
too_long.push_back(0x00);
|
||||
CHECK_FALSE(decodeSht41Measurement(too_long).has_value());
|
||||
}
|
||||
|
||||
TEST_CASE("MockEnvSensor reports plausible, varying ambient readings") {
|
||||
MockEnvSensor env;
|
||||
env.start();
|
||||
CHECK(env.connected());
|
||||
CHECK(env.name().find("SHT41") != std::string::npos);
|
||||
|
||||
auto s = env.sample();
|
||||
REQUIRE(s.has_value());
|
||||
CHECK(s->valid);
|
||||
CHECK(s->timestamp_ms > 0);
|
||||
// Indoor-plausible, and within the ranges the real decode can produce.
|
||||
CHECK(s->temp_c > -45.0f);
|
||||
CHECK(s->temp_c < 130.0f);
|
||||
CHECK(s->humidity_pct >= 0.0f);
|
||||
CHECK(s->humidity_pct <= 100.0f);
|
||||
|
||||
env.stop();
|
||||
}
|
||||
|
|
@ -64,7 +64,7 @@ TEST_CASE("pendingSensorsView: grouped by sensor, all absent until drivers land"
|
|||
CHECK_FALSE(v.env.present);
|
||||
CHECK_FALSE(v.imu.title.empty());
|
||||
CHECK_FALSE(v.env.title.empty());
|
||||
CHECK(v.imu.fields.size() >= 3); // roll/pitch/yaw (+ device temp)
|
||||
CHECK(v.imu.fields.size() >= 3); // roll/pitch/yaw
|
||||
CHECK(v.env.fields.size() >= 2); // ambient temp + humidity
|
||||
for (const auto* g : {&v.imu, &v.env}) {
|
||||
for (const auto& f : g->fields) {
|
||||
|
|
@ -73,3 +73,31 @@ TEST_CASE("pendingSensorsView: grouped by sensor, all absent until drivers land"
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("compact sensors panel shows exactly one temperature, the ambient one") {
|
||||
SensorsView v = pendingSensorsView();
|
||||
|
||||
// The MTi's internal temperature is expanded-view-only, so the main window
|
||||
// never shows two temperatures the operator has to attribute.
|
||||
for (const auto& f : v.imu.fields) CHECK(f.label != "Temp");
|
||||
|
||||
auto findField = [](const SensorGroup& g, const std::string& label) -> const SensorField* {
|
||||
for (const auto& f : g.fields)
|
||||
if (f.label == label) return &f;
|
||||
return nullptr;
|
||||
};
|
||||
const SensorField* temp = findField(v.env, "Temp");
|
||||
const SensorField* humid = findField(v.env, "Humid");
|
||||
REQUIRE(temp != nullptr);
|
||||
REQUIRE(humid != nullptr);
|
||||
CHECK(temp->unit == "\xC2\xB0""C");
|
||||
CHECK(humid->unit == "%RH");
|
||||
}
|
||||
|
||||
TEST_CASE("EnvView defaults to disabled with no reading") {
|
||||
EnvView e;
|
||||
CHECK_FALSE(e.enabled);
|
||||
CHECK_FALSE(e.present);
|
||||
CHECK_FALSE(e.mock);
|
||||
CHECK(e.timestamp_ms == 0);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue