add boosted flag (int) to the experiment pipeline

This commit is contained in:
Niklas Halle 2025-06-16 14:52:39 +02:00
parent 5b60f1b821
commit 23c3cd5ceb
4 changed files with 87 additions and 11 deletions

View file

@ -11,14 +11,15 @@ LOCAL_PROJECT_DIR="/home/niklas/ROS-Dynamic-Executor-Experiments"
# --------------------------------------
usage() {
echo "Usage: $0 <ros|edf|sem> <single|multi> <timed|direct> [time_in_seconds] [no_rebuild]"
echo "Usage: $0 <ros|edf|sem> <single|multi> <timed|direct> [boosted] [time_in_seconds] [no_rebuild]"
echo "Example: $0 ros multi timed 10"
echo "This script builds the full_topology package, runs a trace, and copies the results to a remote server."
echo "Parameters:"
echo " <ros|edf|sem> : Scheduler type (ros, edf, sem)"
echo " <single|multi> : Threading type (single, multi)"
echo " <timed|direct> : Fusion type (timed, direct)"
echo " <time_in_seconds> : Length of the trace (default: 10)"
echo " [boosted] : Optional flag to enable boosted mode (default: 1000, equals to disabled)"
echo " [time_in_seconds] : Length of the trace (default: 10)"
echo " [no_rebuild] : Optional flag to skip rebuilding the package (true/false, default: false)"
exit 1
}
@ -30,19 +31,29 @@ fi
SCHEDULER_TYPE="$1"
THREADING_TYPE="$2"
FUSION_TYPE="$3"
TRACE_LENGTH="${4:-10}"
NO_REBUILD="${5:-false}"
BOOSTED="${4:-1000}" # Default to 1000 if not provided
TRACE_LENGTH="${5:-10}"
NO_REBUILD="${6:-false}"
# When boosted is not set to 1000, we assume it is enabled
if [[ "$BOOSTED" != "1000" ]]; then
BOOSTED_FLAG="_boosted_${BOOSTED}"
else
BOOSTED_ENABLED=""
fi
# Determine defines based on parameters
CMAKE_ARGS=()
[[ "$SCHEDULER_TYPE" == "ros" ]] && CMAKE_ARGS+=("-DROS_DEFAULT_EXECUTOR=ON")
[[ "$SCHEDULER_TYPE" == "edf" ]] && CMAKE_ARGS+=("-DEDF_PRIORITY_EXECUTOR=ON")
[[ "$SCHEDULER_TYPE" == "sem" ]] && CMAKE_ARGS+=("-DSEMANTIC_EXECUTOR=ON")
[[ "$SCHEDULER_TYPE" == "sem" ]] && CMAKE_ARGS+=("-DEDF_PRIORITY_EXECUTOR=ON") && CMAKE_ARGS+=("-DSEMANTIC_EXECUTOR=ON")
[[ "$THREADING_TYPE" == "multi" ]] && CMAKE_ARGS+=("-DMULTI_THREADED=ON")
[[ "$FUSION_TYPE" == "timed" ]] && CMAKE_ARGS+=("-DUSE_TIMER_IN_FUSION_NODES=ON")
# We always hand the boosted value down
CMAKE_ARGS+=("-DBOOSTED=$BOOSTED")
TRACE_NAME="${SCHEDULER_TYPE}_${THREADING_TYPE}_${FUSION_TYPE}_${TRACE_LENGTH}"
TRACE_NAME="${SCHEDULER_TYPE}_${THREADING_TYPE}_${FUSION_TYPE}_${TRACE_LENGTH}${BOOSTED_FLAG}"
cd "$LOCAL_PROJECT_DIR"