From 442cce10d54469151034a9fb165c82f3c09e68ff Mon Sep 17 00:00:00 2001 From: H1rono Date: Sat, 29 Jun 2024 15:20:42 +0900 Subject: [PATCH 1/3] Add ruff configuration --- .ruff.toml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .ruff.toml diff --git a/.ruff.toml b/.ruff.toml new file mode 100644 index 0000000..439e1cd --- /dev/null +++ b/.ruff.toml @@ -0,0 +1,23 @@ +line-length = 90 +indent-width = 4 +target-version = "py310" + +[lint] +# https://docs.astral.sh/ruff/rules/ +# F: Pyflakes +# E, W: pycodestyle +# I: isort +# A: flake8-builtins +# COM: flake8-commas +# SLF, flake8-self +# SIM: flake8-simplify +# RUF: Ruff-specific rules +select = ["F", "E", "W", "I", "A", "COM", "SLF", "SIM", "RUF"] +ignore = [] + +fixable = ["ALL"] + +[format] +quote-style = "double" +indent-style = "space" + From fcf2b12382ec1989afb43d6c949e8af894c4cdc4 Mon Sep 17 00:00:00 2001 From: H1rono Date: Sat, 29 Jun 2024 15:35:01 +0900 Subject: [PATCH 2/3] Fix ruff errors --- app/imshow/imshow/imshow.py | 26 ++++---- app/imshow/launch/imshow_launch.py | 18 +++--- app/imshow/setup.py | 29 +++++---- app/power_map/launch/launch.py | 22 ++++--- app/simple_joy_app/launch/app_launch.py | 18 +++--- device/camera_reader/camera_reader/camera.py | 28 ++++---- .../launch/camera_reader_launch.py | 17 +++-- device/camera_reader/setup.py | 31 +++++---- device/joystick/launch/joystick_launch.py | 8 ++- device/joystick/setup.py | 30 +++++---- .../launch/channel_launch.py | 2 +- .../launch/receiver_launch.py | 2 +- .../launch/sender_launch.py | 2 +- .../nucleo_communicate_py/channel.py | 14 ++-- .../nucleo_communicate_py/main.py | 2 +- .../nucleo_communicate_py/receiver.py | 14 +++- .../nucleo_communicate_py/sender.py | 64 ++++++++++--------- device/nucleo_communicate_py/setup.py | 30 +++++---- device/pi_i2c/launch/all_launch.py | 2 +- device/pi_i2c/launch/depth_launch.py | 2 +- device/pi_i2c/launch/imu_launch.py | 2 +- device/pi_i2c/pi_i2c/all.py | 2 +- device/pi_i2c/setup.py | 31 ++++----- 23 files changed, 219 insertions(+), 177 deletions(-) diff --git a/app/imshow/imshow/imshow.py b/app/imshow/imshow/imshow.py index 8553241..6ee1871 100644 --- a/app/imshow/imshow/imshow.py +++ b/app/imshow/imshow/imshow.py @@ -1,27 +1,31 @@ +import cv2 import rclpy +from cv_bridge import CvBridge from rclpy.node import Node from sensor_msgs.msg import Image -from cv_bridge import CvBridge -import cv2 class Imshow(Node): def __init__(self): - super().__init__('imshow') - self.subscription=self.create_subscription(Image, 'camera_image', self.listener_callback, 10) - self.bridge=CvBridge() - + super().__init__("imshow") + self.subscription = self.create_subscription( + Image, "camera_image", self.listener_callback, 10, + ) + self.bridge = CvBridge() + def listener_callback(self, msg): - frame=self.bridge.imgmsg_to_cv2(msg, "bgr8") - cv2.imshow('Camera', frame) + frame = self.bridge.imgmsg_to_cv2(msg, "bgr8") + cv2.imshow("Camera", frame) cv2.waitKey(1) + def main(args=None): rclpy.init(args=args) - imshow=Imshow() + imshow = Imshow() rclpy.spin(imshow) imshow.destroy_node() rclpy.shutdown() -if __name__=='__main__': - main() \ No newline at end of file + +if __name__ == "__main__": + main() diff --git a/app/imshow/launch/imshow_launch.py b/app/imshow/launch/imshow_launch.py index 57ee33a..16b1a0d 100644 --- a/app/imshow/launch/imshow_launch.py +++ b/app/imshow/launch/imshow_launch.py @@ -3,11 +3,13 @@ def generate_launch_description(): - return LaunchDescription([ - Node( - package="imshow", - executable="imshow", - namespace="app", - remappings=[("/app/camera/image", "/packet/camera/image")] - ) - ]) + return LaunchDescription( + [ + Node( + package="imshow", + executable="imshow", + namespace="app", + remappings=[("/app/camera/image", "/packet/camera/image")], + ), + ], + ) diff --git a/app/imshow/setup.py b/app/imshow/setup.py index b5371bf..a904120 100644 --- a/app/imshow/setup.py +++ b/app/imshow/setup.py @@ -1,29 +1,32 @@ import os from glob import glob -from setuptools import find_packages, setup +from setuptools import setup -package_name = 'imshow' +package_name = "imshow" setup( name=package_name, - version='0.0.0', + version="0.0.0", packages=[package_name], data_files=[ - ('share/ament_index/resource_index/packages',['resource/' + package_name]), - ('share/' + package_name,['package.xml']), - (os.path.join('share',package_name,'launch'),glob(os.path.join('launch','*'))) + ("share/ament_index/resource_index/packages", ["resource/" + package_name]), + ("share/" + package_name, ["package.xml"]), + ( + os.path.join("share", package_name, "launch"), + glob(os.path.join("launch", "*")), + ), ], - install_requires=['setuptools'], + install_requires=["setuptools"], zip_safe=True, - maintainer='hiro', - maintainer_email='yoshikawa.h.ah@m.titech.ac.jp', - description='Image display for ROS2', - license='MIT License', + maintainer="hiro", + maintainer_email="yoshikawa.h.ah@m.titech.ac.jp", + description="Image display for ROS2", + license="MIT License", tests_require=[], entry_points={ - 'console_scripts': [ - 'imshow = imshow.imshow:main', + "console_scripts": [ + "imshow = imshow.imshow:main", ], }, ) diff --git a/app/power_map/launch/launch.py b/app/power_map/launch/launch.py index b2af21b..c49944f 100644 --- a/app/power_map/launch/launch.py +++ b/app/power_map/launch/launch.py @@ -9,14 +9,16 @@ def generate_launch_description(): config = os.path.join( get_package_share_directory("power_map"), "config", - "default_param.yml" + "default_param.yml", + ) + return LaunchDescription( + [ + Node( + package="power_map", + executable="power-map", + namespace="app", + parameters=[config], + remappings=[("/app/power", "/device/order/power")], + ), + ], ) - return LaunchDescription([ - Node( - package="power_map", - executable="power-map", - namespace="app", - parameters=[config], - remappings=[("/app/power", "/device/order/power")] - ) - ]) diff --git a/app/simple_joy_app/launch/app_launch.py b/app/simple_joy_app/launch/app_launch.py index 900495a..01e9e98 100644 --- a/app/simple_joy_app/launch/app_launch.py +++ b/app/simple_joy_app/launch/app_launch.py @@ -3,11 +3,13 @@ def generate_launch_description(): - return LaunchDescription([ - Node( - package="simple_joy_app", - executable="app", - namespace="app", - remappings=[("/app/joystick", "/device/joystick")] - ) - ]) + return LaunchDescription( + [ + Node( + package="simple_joy_app", + executable="app", + namespace="app", + remappings=[("/app/joystick", "/device/joystick")], + ), + ], + ) diff --git a/device/camera_reader/camera_reader/camera.py b/device/camera_reader/camera_reader/camera.py index 66d1397..27b9d4d 100644 --- a/device/camera_reader/camera_reader/camera.py +++ b/device/camera_reader/camera_reader/camera.py @@ -1,35 +1,37 @@ +import cv2 import rclpy +from cv_bridge import CvBridge from rclpy.node import Node from sensor_msgs.msg import Image -import cv2 -from cv_bridge import CvBridge class Camera(Node): def __init__(self): - super().__init__('camera') - self.publisher_=self.create_publisher(Image, 'camera_image', 10) - self.timer=self.create_timer(0.1, self.timer_callback) - self.cap=cv2.VideoCapture(0) - self.bridge=CvBridge() + super().__init__("camera") + self.publisher_ = self.create_publisher(Image, "camera_image", 10) + self.timer = self.create_timer(0.1, self.timer_callback) + self.cap = cv2.VideoCapture(0) + self.bridge = CvBridge() if not self.cap.isOpened(): - self.get_logger().error('Failed to open camera') + self.get_logger().error("Failed to open camera") rclpy.shutdown() def timer_callback(self): - ret,frame=self.cap.read() + ret, frame = self.cap.read() if ret: - msg=self.bridge.cv2_to_imgmsg(frame, "bgr8") + msg = self.bridge.cv2_to_imgmsg(frame, "bgr8") self.publisher_.publish(msg) else: - self.get_logger().error('Failed to capture image') + self.get_logger().error("Failed to capture image") + def main(args=None): rclpy.init(args=args) - camera=Camera() + camera = Camera() rclpy.spin(camera) camera.destroy_node() rclpy.shutdown() -if __name__=="__main__": + +if __name__ == "__main__": main() diff --git a/device/camera_reader/launch/camera_reader_launch.py b/device/camera_reader/launch/camera_reader_launch.py index 9cfc58f..0c7f8ab 100644 --- a/device/camera_reader/launch/camera_reader_launch.py +++ b/device/camera_reader/launch/camera_reader_launch.py @@ -3,10 +3,13 @@ def generate_launch_description(): - return LaunchDescription([ - Node( - package="camera_reader", - executable="camera_reader", - namespace="device", - remappings=[("/device/camera/image", "/packet/camera/image")]) - ]) + return LaunchDescription( + [ + Node( + package="camera_reader", + executable="camera_reader", + namespace="device", + remappings=[("/device/camera/image", "/packet/camera/image")], + ), + ], + ) diff --git a/device/camera_reader/setup.py b/device/camera_reader/setup.py index c7dc50c..ee23552 100644 --- a/device/camera_reader/setup.py +++ b/device/camera_reader/setup.py @@ -1,29 +1,32 @@ import os from glob import glob -from setuptools import find_packages, setup +from setuptools import setup -package_name = 'camera_reader' +package_name = "camera_reader" setup( name=package_name, - version='0.0.0', + version="0.0.0", packages=[package_name], data_files=[ - ('share/ament_index/resource_index/packages',['resource/' + package_name]), - ('share/' + package_name,['package.xml']), - (os.path.join('share','package_name','launch'),glob(os.path.join('launch','*'))) + ("share/ament_index/resource_index/packages", ["resource/" + package_name]), + ("share/" + package_name, ["package.xml"]), + ( + os.path.join("share", "package_name", "launch"), + glob(os.path.join("launch", "*")), + ), ], - install_requires=['setuptools'], + install_requires=["setuptools"], zip_safe=True, - maintainer='hiro', - maintainer_email='yoshikawa.h.ah@m.titech.ac.jp', - description='Camera for ROS2', - license='MIT license', + maintainer="hiro", + maintainer_email="yoshikawa.h.ah@m.titech.ac.jp", + description="Camera for ROS2", + license="MIT license", tests_require=[], entry_points={ - 'console_scripts': [ - 'camera=camera_reader.camera:main', + "console_scripts": [ + "camera=camera_reader.camera:main", ], }, -) \ No newline at end of file +) diff --git a/device/joystick/launch/joystick_launch.py b/device/joystick/launch/joystick_launch.py index 202a02e..6fd21d2 100644 --- a/device/joystick/launch/joystick_launch.py +++ b/device/joystick/launch/joystick_launch.py @@ -3,6 +3,8 @@ def generate_launch_description(): - return LaunchDescription([ - Node(package="joystick", executable="joystick", namespace="device") - ]) + return LaunchDescription( + [ + Node(package="joystick", executable="joystick", namespace="device"), + ], + ) diff --git a/device/joystick/setup.py b/device/joystick/setup.py index 7ee5834..def6396 100644 --- a/device/joystick/setup.py +++ b/device/joystick/setup.py @@ -3,28 +3,30 @@ from setuptools import find_packages, setup -package_name = 'joystick' +package_name = "joystick" setup( name=package_name, - version='0.1.0', - packages=find_packages(exclude=['test']), + version="0.1.0", + packages=find_packages(exclude=["test"]), data_files=[ - ('share/ament_index/resource_index/packages', - ['resource/' + package_name]), - ('share/' + package_name, ['package.xml']), - (os.path.join('share', package_name, 'launch'), glob(os.path.join('launch', '*'))) + ("share/ament_index/resource_index/packages", ["resource/" + package_name]), + ("share/" + package_name, ["package.xml"]), + ( + os.path.join("share", package_name, "launch"), + glob(os.path.join("launch", "*")), + ), ], - install_requires=['setuptools'], + install_requires=["setuptools"], zip_safe=True, - maintainer='h1rono', - maintainer_email='hronok66@gmail.com', - description='ゲームコントローラー', - license='MIT', + maintainer="h1rono", + maintainer_email="hronok66@gmail.com", + description="ゲームコントローラー", + license="MIT", tests_require=[], entry_points={ - 'console_scripts': [ - "joystick = joystick.joystick:main" + "console_scripts": [ + "joystick = joystick.joystick:main", ], }, ) diff --git a/device/nucleo_communicate_py/launch/channel_launch.py b/device/nucleo_communicate_py/launch/channel_launch.py index 60a8a28..9a666b8 100644 --- a/device/nucleo_communicate_py/launch/channel_launch.py +++ b/device/nucleo_communicate_py/launch/channel_launch.py @@ -6,6 +6,6 @@ def generate_launch_description() -> LaunchDescription: main = Node( package="nucleo_communicate_py", executable="channel", - namespace="device" + namespace="device", ) return LaunchDescription([main]) diff --git a/device/nucleo_communicate_py/launch/receiver_launch.py b/device/nucleo_communicate_py/launch/receiver_launch.py index aa42246..6748f7c 100644 --- a/device/nucleo_communicate_py/launch/receiver_launch.py +++ b/device/nucleo_communicate_py/launch/receiver_launch.py @@ -6,6 +6,6 @@ def generate_launch_description() -> LaunchDescription: receiver = Node( package="nucleo_communicate_py", executable="receiver", - namespace="device" + namespace="device", ) return LaunchDescription([receiver]) diff --git a/device/nucleo_communicate_py/launch/sender_launch.py b/device/nucleo_communicate_py/launch/sender_launch.py index 851ca1d..7d93ee3 100644 --- a/device/nucleo_communicate_py/launch/sender_launch.py +++ b/device/nucleo_communicate_py/launch/sender_launch.py @@ -6,6 +6,6 @@ def generate_launch_description() -> LaunchDescription: sender = Node( package="nucleo_communicate_py", executable="sender", - namespace="device" + namespace="device", ) return LaunchDescription([sender]) diff --git a/device/nucleo_communicate_py/nucleo_communicate_py/channel.py b/device/nucleo_communicate_py/nucleo_communicate_py/channel.py index 7df5c52..237f4d0 100644 --- a/device/nucleo_communicate_py/nucleo_communicate_py/channel.py +++ b/device/nucleo_communicate_py/nucleo_communicate_py/channel.py @@ -4,7 +4,7 @@ import sys import rclpy -from packet_interfaces.msg import Current, Flex, Voltage, Power +from packet_interfaces.msg import Current, Flex, Power, Voltage from rclpy.node import Node from std_msgs.msg import Empty @@ -21,13 +21,13 @@ def __init__(self, mutex_serial: MutexSerial): Empty, "quit", self._quit_callback, - 10 + 10, ) self._order_subscription = self.create_subscription( Power, "order/power", self._order_callback, - 10 + 10, ) self._sender = Sndr(mutex_serial) # Receiver.__init__ @@ -43,8 +43,12 @@ def __init__(self, mutex_serial: MutexSerial): def _recv_callback(self): self.get_logger().debug("tick") flex1, flex2, current, voltage = self._recv.receive_raw() - self.get_logger().info(f"received from nucleo: {flex1=}, {flex2=}, {current=}, {voltage=}") - flex1, flex2, current, voltage = self._recv.map_values(flex1, flex2, current, voltage) + self.get_logger().info( + f"received from nucleo: {flex1=}, {flex2=}, {current=}, {voltage=}", + ) + flex1, flex2, current, voltage = self._recv.map_values( + flex1, flex2, current, voltage, + ) self._flex1_publisher.publish(Flex(value=flex1)) self._flex2_publisher.publish(Flex(value=flex2)) # TODO: データのマッピングはnucleo側と相談 diff --git a/device/nucleo_communicate_py/nucleo_communicate_py/main.py b/device/nucleo_communicate_py/nucleo_communicate_py/main.py index 59835b4..611d113 100644 --- a/device/nucleo_communicate_py/nucleo_communicate_py/main.py +++ b/device/nucleo_communicate_py/nucleo_communicate_py/main.py @@ -4,7 +4,7 @@ import sys import rclpy -from rclpy.executors import MultiThreadedExecutor, ExternalShutdownException +from rclpy.executors import ExternalShutdownException, MultiThreadedExecutor from .mutex_serial import MutexSerial from .receiver import Receiver diff --git a/device/nucleo_communicate_py/nucleo_communicate_py/receiver.py b/device/nucleo_communicate_py/nucleo_communicate_py/receiver.py index 7223e5a..57dc5c1 100644 --- a/device/nucleo_communicate_py/nucleo_communicate_py/receiver.py +++ b/device/nucleo_communicate_py/nucleo_communicate_py/receiver.py @@ -29,7 +29,11 @@ def receive_raw(self) -> tuple[int, int, int, int]: return (flex1, flex2, current, voltage) def map_values( - self, flex1: int, flex2: int, current: int, voltage: int + self, + flex1: int, + flex2: int, + current: int, + voltage: int, ) -> tuple[int, int, float, float]: # TODO: current, voltageの計算はnucleo側と要相談 return (flex1, flex2, current / 0xFFFF, voltage / 0xFFFF) @@ -53,8 +57,12 @@ def __init__(self, mutex_serial: MutexSerial) -> None: def _timer_callback(self) -> None: self.get_logger().debug("tick") flex1, flex2, current, voltage = self._recv.receive_raw() - self.get_logger().info(f"received from nucleo: {flex1=}, {flex2=}, {current=}, {voltage=}") - flex1, flex2, current, voltage = self._recv.map_values(flex1, flex2, current, voltage) + self.get_logger().info( + f"received from nucleo: {flex1=}, {flex2=}, {current=}, {voltage=}", + ) + flex1, flex2, current, voltage = self._recv.map_values( + flex1, flex2, current, voltage, + ) self._flex1_publisher.publish(Flex(value=flex1)) self._flex2_publisher.publish(Flex(value=flex2)) # TODO: データのマッピングはnucleo側と相談 diff --git a/device/nucleo_communicate_py/nucleo_communicate_py/sender.py b/device/nucleo_communicate_py/nucleo_communicate_py/sender.py index 5d13034..7444283 100644 --- a/device/nucleo_communicate_py/nucleo_communicate_py/sender.py +++ b/device/nucleo_communicate_py/nucleo_communicate_py/sender.py @@ -1,10 +1,10 @@ import sys import rclpy +from packet_interfaces.msg import Power from rclpy.node import Node from serial import Serial from std_msgs.msg import Empty -from packet_interfaces.msg import Power from .mutex_serial import MutexSerial @@ -14,34 +14,36 @@ def __init__(self, mutex_serial: MutexSerial) -> None: self._mutex_serial = mutex_serial def send_power(self, power: Power) -> int: - buf = bytes([ - # Sending nodification - 0x00, - # BLDC 1 - (power.bldc[0] >> 0) & 0xFF, - (power.bldc[0] >> 8) & 0xFF, - # BLDC 2 - (power.bldc[1] >> 0) & 0xFF, - (power.bldc[1] >> 8) & 0xFF, - # BLDC 3 - (power.bldc[2] >> 0) & 0xFF, - (power.bldc[2] >> 8) & 0xFF, - # BLDC 4 - (power.bldc[3] >> 0) & 0xFF, - (power.bldc[3] >> 8) & 0xFF, - # Servo 1 - (power.servo[0] >> 0) & 0xFF, - (power.servo[0] >> 8) & 0xFF, - # Servo 2 - (power.servo[1] >> 0) & 0xFF, - (power.servo[1] >> 8) & 0xFF, - # Servo 3 - (power.servo[2] >> 0) & 0xFF, - (power.servo[2] >> 8) & 0xFF, - # Servo 4 - (power.servo[3] >> 0) & 0xFF, - (power.servo[3] >> 8) & 0xFF, - ]) + buf = bytes( + [ + # Sending nodification + 0x00, + # BLDC 1 + (power.bldc[0] >> 0) & 0xFF, + (power.bldc[0] >> 8) & 0xFF, + # BLDC 2 + (power.bldc[1] >> 0) & 0xFF, + (power.bldc[1] >> 8) & 0xFF, + # BLDC 3 + (power.bldc[2] >> 0) & 0xFF, + (power.bldc[2] >> 8) & 0xFF, + # BLDC 4 + (power.bldc[3] >> 0) & 0xFF, + (power.bldc[3] >> 8) & 0xFF, + # Servo 1 + (power.servo[0] >> 0) & 0xFF, + (power.servo[0] >> 8) & 0xFF, + # Servo 2 + (power.servo[1] >> 0) & 0xFF, + (power.servo[1] >> 8) & 0xFF, + # Servo 3 + (power.servo[2] >> 0) & 0xFF, + (power.servo[2] >> 8) & 0xFF, + # Servo 4 + (power.servo[3] >> 0) & 0xFF, + (power.servo[3] >> 8) & 0xFF, + ], + ) with self._mutex_serial.lock() as serial: assert isinstance(serial, Serial) return serial.write(buf) @@ -60,13 +62,13 @@ def __init__(self, mutex_serial: MutexSerial) -> None: Empty, "quit", self._quit_callback, - 10 + 10, ) self._order_subscription = self.create_subscription( Power, "order/power", self._order_callback, - 10 + 10, ) self._sender = Sndr(mutex_serial) diff --git a/device/nucleo_communicate_py/setup.py b/device/nucleo_communicate_py/setup.py index e346fa6..95815ec 100644 --- a/device/nucleo_communicate_py/setup.py +++ b/device/nucleo_communicate_py/setup.py @@ -3,30 +3,32 @@ from setuptools import find_packages, setup -package_name = 'nucleo_communicate_py' +package_name = "nucleo_communicate_py" setup( name=package_name, - version='0.1.0', - packages=find_packages(exclude=['test']), + version="0.1.0", + packages=find_packages(exclude=["test"]), data_files=[ - ('share/ament_index/resource_index/packages', - ['resource/' + package_name]), - ('share/' + package_name, ['package.xml']), - (os.path.join('share', package_name, 'launch'), glob(os.path.join('launch', '*'))) + ("share/ament_index/resource_index/packages", ["resource/" + package_name]), + ("share/" + package_name, ["package.xml"]), + ( + os.path.join("share", package_name, "launch"), + glob(os.path.join("launch", "*")), + ), ], - install_requires=['setuptools'], + install_requires=["setuptools"], zip_safe=True, - maintainer='h1rono', - maintainer_email='hronok66@gmail.com', - description='Nucleoとの通信周り', - license='MIT', + maintainer="h1rono", + maintainer_email="hronok66@gmail.com", + description="Nucleoとの通信周り", + license="MIT", tests_require=[], entry_points={ - 'console_scripts': [ + "console_scripts": [ "sender = nucleo_communicate_py.sender:main", "receiver = nucleo_communicate_py.receiver:main", - "channel = nucleo_communicate_py.channel:main" + "channel = nucleo_communicate_py.channel:main", ], }, ) diff --git a/device/pi_i2c/launch/all_launch.py b/device/pi_i2c/launch/all_launch.py index 213fc56..721a2f2 100644 --- a/device/pi_i2c/launch/all_launch.py +++ b/device/pi_i2c/launch/all_launch.py @@ -6,6 +6,6 @@ def generate_launch_description() -> LaunchDescription: all_exec = Node( package="pi_i2c", executable="all", - namespace="device" + namespace="device", ) return LaunchDescription([all_exec]) diff --git a/device/pi_i2c/launch/depth_launch.py b/device/pi_i2c/launch/depth_launch.py index 51d1c56..f37f542 100644 --- a/device/pi_i2c/launch/depth_launch.py +++ b/device/pi_i2c/launch/depth_launch.py @@ -6,6 +6,6 @@ def generate_launch_description() -> LaunchDescription: depth = Node( package="pi_i2c", executable="depth", - namespace="device" + namespace="device", ) return LaunchDescription([depth]) diff --git a/device/pi_i2c/launch/imu_launch.py b/device/pi_i2c/launch/imu_launch.py index 54f129a..2a0ca57 100644 --- a/device/pi_i2c/launch/imu_launch.py +++ b/device/pi_i2c/launch/imu_launch.py @@ -6,6 +6,6 @@ def generate_launch_description() -> LaunchDescription: imu = Node( package="pi_i2c", executable="imu", - namespace="device" + namespace="device", ) return LaunchDescription([imu]) diff --git a/device/pi_i2c/pi_i2c/all.py b/device/pi_i2c/pi_i2c/all.py index cf3adfd..7ed43c8 100644 --- a/device/pi_i2c/pi_i2c/all.py +++ b/device/pi_i2c/pi_i2c/all.py @@ -1,7 +1,7 @@ import sys import rclpy -from rclpy.executors import MultiThreadedExecutor, ExternalShutdownException +from rclpy.executors import ExternalShutdownException, MultiThreadedExecutor from .depth import Depth from .imu import Imu diff --git a/device/pi_i2c/setup.py b/device/pi_i2c/setup.py index f530acc..45e229c 100644 --- a/device/pi_i2c/setup.py +++ b/device/pi_i2c/setup.py @@ -3,31 +3,32 @@ from setuptools import find_packages, setup - -package_name = 'pi_i2c' +package_name = "pi_i2c" setup( name=package_name, - version='0.1.0', - packages=find_packages(exclude=['test']), + version="0.1.0", + packages=find_packages(exclude=["test"]), data_files=[ - ('share/ament_index/resource_index/packages', - ['resource/' + package_name]), - ('share/' + package_name, ['package.xml']), - (os.path.join('share', package_name, 'launch'), glob(os.path.join('launch', '*'))) + ("share/ament_index/resource_index/packages", ["resource/" + package_name]), + ("share/" + package_name, ["package.xml"]), + ( + os.path.join("share", package_name, "launch"), + glob(os.path.join("launch", "*")), + ), ], - install_requires=['setuptools'], + install_requires=["setuptools"], zip_safe=True, - maintainer='h1rono', - maintainer_email='hronok66@gmail.com', - description='Raspberry PiのI2C接続', - license='MIT', + maintainer="h1rono", + maintainer_email="hronok66@gmail.com", + description="Raspberry PiのI2C接続", + license="MIT", tests_require=[], entry_points={ - 'console_scripts': [ + "console_scripts": [ "depth = pi_i2c.depth:main", "imu = pi_i2c.imu:main", - "all = pi_i2c.all:main" + "all = pi_i2c.all:main", ], }, ) From aae0f1d84a33eb3fd42ce229c930a4b4835d2f0d Mon Sep 17 00:00:00 2001 From: H1rono Date: Sat, 29 Jun 2024 16:43:08 +0900 Subject: [PATCH 3/3] Check ruff in GitHub Actions --- .github/workflows/build.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 554a597..4900b95 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,9 +19,14 @@ jobs: - uses: actions/checkout@v4 with: path: src/2024_cavolinia - - run: sudo apt update + - run: | + sudo apt update + sudo apt install python3 python3-pip - run: | . /opt/ros/iron/setup.bash rosdep update rosdep install -i --from-paths src --rosdistro iron -y colcon build + - run: python3 -m pip install ruff + - run: python3 -m ruff check +