Skip to content

Commit

Permalink
Merge branch 'main'
Browse files Browse the repository at this point in the history
Signed-off-by: Masayuki Murata <[email protected]>
  • Loading branch information
muratams committed Feb 17, 2025
2 parents d5f57f5 + 34cb33b commit 443e14a
Show file tree
Hide file tree
Showing 7 changed files with 107 additions and 66 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.env
cabot-base
cabot-common
cabot-description
11 changes: 11 additions & 0 deletions dependency-override.repos
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#
# this file is used by -o option of setup-dependency.repos (alternative option of deprecated -s option)
# it is intended to use only for multi-repos dependency updates
# developer can commit this file, but it may cause conflict during merge
#

repositories:
cabot-common:
type: git
url: https://github.com/CMU-cabot/cabot-common
version: daisukes/separate-common-and-base
13 changes: 13 additions & 0 deletions dependency-release.repos
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
repositories:
cabot-common:
type: git
url: https://github.com/CMU-cabot/cabot-common
version: a5f2524ef5ff3537aa1ce63f2c04f98f309fae15
cabot-description:
type: git
url: https://github.com/CMU-cabot/cabot-description
version: 12e472d5c70b6e6149b962cf52e084e1f1f379a2
docker/driver/ros_odrive:
type: git
url: https://github.com/CMU-cabot/ros_odrive.git
version: 0a3cc6e8e94388eeebb7b80841df6f9e70ceaffd
1 change: 0 additions & 1 deletion docker-compose-base.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ services:
# code from dependencies
- ./cabot-common/cabot_common:/home/developer/driver_ws/src/cabot_common
- ./cabot-common/cabot_msgs:/home/developer/driver_ws/src/cabot_msgs
- ./cabot-common/docker/humble-custom/people:/home/developer/driver_ws/src/people
- ./cabot-description/cabot_description:/home/developer/driver_ws/src/cabot_description
# code
- ./cabot_base:/home/developer/driver_ws/src/cabot_base
Expand Down
1 change: 0 additions & 1 deletion docker/driver/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,6 @@ USER $USERNAME

COPY --from=src ./cabot-common/cabot_common $HOME/driver_ws/src/cabot_common
COPY --from=src ./cabot-common/cabot_msgs $HOME/driver_ws/src/cabot_msgs
COPY --from=src ./cabot-common/docker/humble-custom/people $HOME/driver_ws/src/people
COPY --from=src ./cabot-description/cabot_description $HOME/driver_ws/src/cabot_description
COPY --from=src ./cabot_base $HOME/driver_ws/src/cabot_base
COPY --from=src ./cabot_serial $HOME/driver_ws/src/cabot_serial
Expand Down
20 changes: 8 additions & 12 deletions power_controller/power_controller_kx/src/power_controller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,10 @@ class PowerController : public rclcpp::Node
// number of batteries
this->declare_parameter<int>("number_of_batteries", 4);
this->declare_parameter<std::string>("can_interface", "can0");
this->declare_parameter<int>("low_temperature", 25);
this->declare_parameter<int>("high_temperature", 50);
this->declare_parameter<int>("max_fan", 100);
this->declare_parameter<int>("min_fan", 10);
this->declare_parameter<float>("temperature_to_fan", (20 / 11.0));
this->declare_parameter<float>("low_temperature", 25.0);
this->declare_parameter<float>("high_temperature", 50.0);
this->declare_parameter<float>("max_fan", 100.0);
this->declare_parameter<float>("min_fan", 40.0);
// service
service_server_24v_odrive_ = this->create_service<std_srvs::srv::SetBool>(
"set_24v_power_odrive",
Expand Down Expand Up @@ -315,7 +314,6 @@ class PowerController : public rclcpp::Node
id_ = CanId::fan_id;
double d_pwm = data_ * DUTY;
uint8_t pwm = static_cast<uint8_t>(std::round(d_pwm));
RCLCPP_WARN(this->get_logger(), ANSI_COLOR_CYAN "pwm is %d", pwm);
std::memcpy(&send_can_value_, &pwm, sizeof(bool));
send_can_value_list_.push_back({id_, send_can_value_});
mtx_.unlock();
Expand All @@ -324,10 +322,7 @@ class PowerController : public rclcpp::Node
{
std_msgs::msg::UInt8 fan_msg;
double framos_temperature = temp_msg.temperature;
RCLCPP_WARN(this->get_logger(), ANSI_COLOR_CYAN "temperature is %f", framos_temperature);
int HIGHTEMPERATURE, LOWTEMPERATURE, MINFAN, MAXFAN;
float TEMPERATURETOFAN;
this->get_parameter("temperature_to_fan", TEMPERATURETOFAN);
float TEMPERATURETOFAN, HIGHTEMPERATURE, LOWTEMPERATURE, MINFAN, MAXFAN;
this->get_parameter("high_temperature", HIGHTEMPERATURE);
this->get_parameter("low_temperature", LOWTEMPERATURE);
this->get_parameter("min_fan", MINFAN);
Expand All @@ -337,7 +332,9 @@ class PowerController : public rclcpp::Node
} else if (framos_temperature <= LOWTEMPERATURE) {
fan_msg.data = MINFAN;
} else {
fan_msg.data = framos_temperature * TEMPERATURETOFAN;
float slope = (MAXFAN - MINFAN) / (HIGHTEMPERATURE - LOWTEMPERATURE);
float intercept = MAXFAN - (HIGHTEMPERATURE * slope);
fan_msg.data = framos_temperature * slope + intercept;
}
fan_publisher_->publish(fan_msg);
}
Expand All @@ -360,7 +357,6 @@ class PowerController : public rclcpp::Node
}
send_can_value_list_.pop_front();
mtx_.unlock();
RCLCPP_WARN(this->get_logger(), ANSI_COLOR_CYAN "send data");
}
float convertUnit(uint16_t data, bool temperature_flag = false)
{
Expand Down
126 changes: 74 additions & 52 deletions setup-dependency.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,39 +26,61 @@ function blue {
echo -en "\033[0m" ## reset color
}


function help {
echo "Usage: $0 <option>"
echo ""
echo "-h show this help"
echo "-c clean (rm -rf) dependency repositories"
echo "-n <count> max count for recursive check (default=2)"
echo "-n <count> max count for recursive check (default=3)"
echo "-r update depedency-release.repos"
echo "-s <sed cmd> apply sed to dependency.repos file with the command"
echo "-d use dependency.repos and dependency-dev.repos not dependency-release.repos"
echo "-o use dependency-override.repos"
echo "-s **DEPRECATED** use -o option instead"
echo ""
echo "# dependency.repos # refer sub repos by mainly branches, cyclic"
echo "# dependency-override.repos # override dependency.repos for dev branches (you can commit)"
echo "# dependency-release.repose # freezed one, including all sub-sub repos, non-cyclic"
echo ""
echo "example"
echo "$0 # most common"
echo "$0 -d # for development"
echo ""
echo "edit dependency-override.repos # override reuqired repos branches"
echo "$0 -d -o # use dependency.repos overwritten by dependency-override.repos"
}

clean=0
count=3
release=0
sed_cmd=
development=0
override=0

while getopts "hcn:rs:" arg; do
while getopts "hcdn:or" arg; do
case $arg in
h)
help
exit
;;
c)
clean=1
;;
n)
count=$OPTARG
;;
r)
release=1
;;
s)
sed_cmd=$OPTARG
;;
h)
help
exit
;;
c)
clean=1
;;
d)
development=1
;;
n)
count=$OPTARG
;;
o)
override=1
;;
r)
release=1
;;
*)
help
exit
;;
esac
done

Expand All @@ -72,23 +94,25 @@ fi


if [[ $clean -eq 1 ]]; then
pwd=$(pwd)
pwd=$(pwd)
find * -name ".git" | while read -r line; do
pushd $line/../
if git diff --quiet && ! git ls-files --others --exclude-standard | grep -q .; then
echo "rm -rf $pwd/$(dirname $line)"
#rm -rf $pwd/$(dirname $line)
else
blue "There are unstaged/untracked changes in $line"
fi
popd
if [[ -d $line/../ ]]; then
pushd $line/../
if git diff --quiet && ! git ls-files --others --exclude-standard | grep -q .; then
echo "rm -rf $pwd/$(dirname $line)"
rm -rf $pwd/$(dirname $line)
else
blue "There are unstaged/untracked changes in $line"
fi
popd
fi
done
exit
fi


## for release
if [[ -e dependency-release.repos ]]; then
if [[ -e dependency-release.repos ]] && [[ $development -eq 0 ]]; then
echo "setup dependency from release"
vcs import < dependency-release.repos
exit
Expand All @@ -100,32 +124,30 @@ declare -A visited

for (( i=1; i<=count; i++ ))
do
files=$(find . -name "dependency.repos")
files=$(find . -name "dependency.repos" | awk '{print length, $0}' | sort -n | cut -d' ' -f2-)

flag=0
for line in ${files[@]}; do
if [[ -z ${visited[$line]} ]]; then
flag=1
visited[$line]=1

temp_file=$(mktemp)
echo "Temporary file created: $temp_file"
cat $line > $temp_file
if [[ ! -z $sed_cmd ]]; then
com="sed -i '$sed_cmd' $temp_file"
echo $com
eval $com
if [[ $? -ne 0 ]]; then
exit 1
fi
fi
blue "$(dirname $line)/ vcs import < $temp_file"
pushd $(dirname $line)
vcs import < $temp_file
popd
fi
if [[ -z ${visited[$line]} ]]; then
flag=1
visited[$line]=1

temp_file=$(mktemp)
echo "Temporary file created: $temp_file"
cat $line > $temp_file
if [[ $override -eq 1 ]]; then
override_file=${line/.repos/-override.repos}
if [[ -e $override_file ]]; then
cat $override_file | sed s/repositories:// >> $temp_file
fi
fi
blue "$(dirname $line)/ vcs import < $temp_file"
pushd $(dirname $line)
vcs import < $temp_file
popd
fi
done
if [[ $flag -eq 0 ]]; then
break
break
fi
done

0 comments on commit 443e14a

Please sign in to comment.