Add laser, killswitch, and LED hardware interfaces#22
Add laser, killswitch, and LED hardware interfaces#22IshanDutta11 merged 3 commits intoumdloop:mainfrom
Conversation
dwarakeshbaraneetharan
commented
Jan 6, 2026
IshanDutta11
left a comment
There was a problem hiding this comment.
Address some of the minor issues I have. Again, I don't expect this to be in a functioning state yet, I just want them to exist and be testable without failing instantly at a software level.
One other issue is that there are no spawners for the gpio controllers in your launch files. This means that although the hardware interfaces are loaded, the command interfaces remain unclaimed. You cannot test them in this state (I tried candump for example and nothing for your new hwis appeared).
For the laser, you can keep the GPIO controller and we can test with that, but another thing we will need for competition is a service to be exposed allowing us to turn it on and off in Henry's manual controller. I am unsure if he has made anything for the laser, so cooperate with him on this.
Keep in mind, for competition, I would prefer to make our own controller which has services for the gpio functionality instead of publishers. I think this will be a lot easier honestly. I think the only case where I don't really like that is if we want continuous color control for the LEDs and maybe even the Laser. Don't worry about that for now, we will address it in the next pull request, I would just like to hear your thoughts.
Overall, this is probably the most impressive thing I have seen on integration thus far. Very well done, some of the things I expected you to forget like one-and-done sending you got. Fix these small issues, try them on the rover, and I will approve the request.
src/description/ros2_control/drive/drive.killswitch.ros2_control.xacro
Outdated
Show resolved
Hide resolved
src/description/ros2_control/science/science.laser.ros2_control.xacro
Outdated
Show resolved
Hide resolved
Address team lead feedback: Laser and Killswitch now use CAN protocol instead of GPIO. LED stays GPIO. All use gpio tags and gpio_command_controller. LED and Killswitch moved from science to drive subsystem. Added simulation fallback for development.
40e5a90 to
8a08e5d
Compare
IshanDutta11
left a comment
There was a problem hiding this comment.
Excellent work! I was able to test everything and will send the commands I used for people to use. It seems like can was also responding to its corresponding hwis. Now, we will add this for now because it is a more completed version of the setup, but we will need another pull request after all of these are properly tested. I don't know how to test the gpios without the actual jetson, so we will need to work through that process eventually.