New saltybot_thermal package with thermal_node: reads all /sys/class/thermal/thermal_zone* sysfs entries (millidegrees→°C), publishes /saltybot/thermal JSON at 1 Hz with zones[], max_temp_c, warn, and throttled flags. Logs ROS2 WARN at ≥75°C, ERROR at ≥85°C. thermal_root param allows sysfs override for offline testing. 50/50 tests passing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
28 lines
844 B
Python
28 lines
844 B
Python
from setuptools import setup
|
|
|
|
package_name = "saltybot_thermal"
|
|
|
|
setup(
|
|
name=package_name,
|
|
version="0.1.0",
|
|
packages=[package_name],
|
|
data_files=[
|
|
("share/ament_index/resource_index/packages", [f"resource/{package_name}"]),
|
|
(f"share/{package_name}", ["package.xml"]),
|
|
(f"share/{package_name}/launch", ["launch/thermal.launch.py"]),
|
|
(f"share/{package_name}/config", ["config/thermal_params.yaml"]),
|
|
],
|
|
install_requires=["setuptools"],
|
|
zip_safe=True,
|
|
maintainer="sl-jetson",
|
|
maintainer_email="sl-jetson@saltylab.local",
|
|
description="Jetson thermal monitor — /saltybot/thermal JSON at 1 Hz",
|
|
license="MIT",
|
|
tests_require=["pytest"],
|
|
entry_points={
|
|
"console_scripts": [
|
|
"thermal_node = saltybot_thermal.thermal_node:main",
|
|
],
|
|
},
|
|
)
|