.. _program_listing_file_README.md: Program Listing for File README.md ================================== |exhale_lsh| :ref:`Return to documentation for file ` (``README.md``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: md # whill_driver ## About The "whill_driver" is a ROS2 package for WHILL Model CR2 controller. ## Package Structure ```mermaid classDiagram namespace whill_driver { class WhillNode{ -publiser -subscriber -server } class Whill{ +SendCommand() +ReceiveDataset() } class Parser{ +Parse() +Checksum() } class SerialPort{ +Open() +Close() +Send() +Receive() } } namespace rclcpp { class Node{ } class Publisher{ } class Subscription{ } class Service{ } } namespace whill_msgs { class WhillModelCMsg{ } class SpeedProfileMsg{ } class SetPowerSrv{ } class SetSpeedProfileSrv{ } class SetBatterySavingSrv{ } } namespace c { class unistd{ +open() +close() +write() +read() } } WhillNode --|> Node WhillNode -- Publisher WhillNode -- Subscription WhillNode -- Service WhillNode "1" *-- "1" Whill Whill "1" *-- "1" Parser Whill "1" *-- "1" SerialPort SerialPort -- unistd Whill -- WhillModelCMsg Whill -- SpeedProfileMsg Whill -- SetPowerSrv Whill -- SetSpeedProfileSrv Whill -- SetBatterySavingSrv ``` | Class name | Explanation | |:---|:---| | WhillNode | This class provides ROS2 Node, and has responsible for RCLCPP abstraction. | | Whill | This class has WHILL Model CR2 domain. So, this class can understand control commands and WHILL state datasets. | | Parser | This class has the ability to parse packets from WHILL. | | SerialPort | This class provides serial port driver, and has responsible for hardware abstraction. | **Note:** [whill_msgs](https://github.com/WHILL/ros2_whill_interfaces) is not provided by this repository. ## License Copyright (c) 2024 WHILL, Inc. Released under the [MIT license](https://opensource.org/licenses/mit-license.php)