mirror of
https://github.com/SHC-ASTRA/rover-ros2.git
synced 2026-04-20 03:41:17 -05:00
Compare commits
2 Commits
c814f34ca6
...
7a3c4af1ce
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7a3c4af1ce | ||
|
|
5e5a52438d |
1
.envrc
1
.envrc
@@ -1,2 +1 @@
|
||||
use flake
|
||||
[[ -d install ]] && source install/setup.$(echo $0 | grep -oE '[^/]+$')
|
||||
|
||||
23
flake.lock
generated
23
flake.lock
generated
@@ -60,7 +60,8 @@
|
||||
"nixpkgs": [
|
||||
"nix-ros-overlay",
|
||||
"nixpkgs"
|
||||
]
|
||||
],
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
@@ -77,6 +78,26 @@
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1773297127,
|
||||
"narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "71b125cd05fbfd78cab3e070b73544abe24c5016",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
||||
16
flake.nix
16
flake.nix
@@ -4,6 +4,11 @@
|
||||
inputs = {
|
||||
nix-ros-overlay.url = "github:lopsided98/nix-ros-overlay/develop";
|
||||
nixpkgs.follows = "nix-ros-overlay/nixpkgs"; # IMPORTANT!!!
|
||||
|
||||
treefmt-nix = {
|
||||
url = "github:numtide/treefmt-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
@@ -11,7 +16,8 @@
|
||||
self,
|
||||
nix-ros-overlay,
|
||||
nixpkgs,
|
||||
}:
|
||||
...
|
||||
}@inputs:
|
||||
nix-ros-overlay.inputs.flake-utils.lib.eachDefaultSystem (
|
||||
system:
|
||||
let
|
||||
@@ -28,7 +34,7 @@
|
||||
(python313.withPackages (
|
||||
p: with p; [
|
||||
pyserial
|
||||
python-can
|
||||
python-can
|
||||
pygame
|
||||
scipy
|
||||
crccheck
|
||||
@@ -62,7 +68,7 @@
|
||||
moveit-msgs
|
||||
moveit-ros-planning
|
||||
moveit-ros-planning-interface
|
||||
moveit-ros-visualization
|
||||
moveit-ros-visualization
|
||||
moveit-configs-utils
|
||||
moveit-ros-move-group
|
||||
moveit-servo
|
||||
@@ -73,7 +79,7 @@
|
||||
ompl
|
||||
joy
|
||||
ros2-controllers
|
||||
chomp-motion-planner
|
||||
chomp-motion-planner
|
||||
];
|
||||
}
|
||||
)
|
||||
@@ -84,6 +90,8 @@
|
||||
export QT_X11_NO_MITSHM=1
|
||||
'';
|
||||
};
|
||||
|
||||
formatter = (inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix).config.build.wrapper;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@@ -318,7 +318,9 @@ class CANConnector(Connector):
|
||||
}
|
||||
|
||||
if mcu_name not in mcu_key_map:
|
||||
self.logger.error(f"unknown VicCAN mcu_name '{msg.mcu_name}' for CAN frame; dropping message")
|
||||
self.logger.error(
|
||||
f"unknown VicCAN mcu_name '{msg.mcu_name}' for CAN frame; dropping message"
|
||||
)
|
||||
return
|
||||
|
||||
mcu_key = mcu_key_map[mcu_name] & 0b111
|
||||
@@ -352,7 +354,9 @@ class CANConnector(Connector):
|
||||
)
|
||||
command &= 0x3F
|
||||
|
||||
arbitration_id = ((mcu_key & 0b111) << 8) | ((data_type_key & 0b11) << 6) | (command & 0x3F)
|
||||
arbitration_id = (
|
||||
((mcu_key & 0b111) << 8) | ((data_type_key & 0b11) << 6) | (command & 0x3F)
|
||||
)
|
||||
|
||||
# Map VicCAN.data (floats) to up to 8 CAN data bytes.
|
||||
raw_bytes: list[int] = []
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from astra_msgs.msg import VicCAN
|
||||
from rclpy.impl.rcutils_logger import RcutilsLogger
|
||||
|
||||
|
||||
def string_to_viccan(msg: str, mcu_name: str, logger: RcutilsLogger):
|
||||
"""
|
||||
Converts the serial string VicCAN format to a ROS2 VicCAN message.
|
||||
@@ -27,9 +28,7 @@ def string_to_viccan(msg: str, mcu_name: str, logger: RcutilsLogger):
|
||||
logger.debug(f"got non-CAN data from {mcu_name}: {msg}")
|
||||
return None
|
||||
elif len(parts) < 3:
|
||||
logger.debug(
|
||||
f"got garbage (not enough parts) CAN data from {mcu_name}: {msg}"
|
||||
)
|
||||
logger.debug(f"got garbage (not enough parts) CAN data from {mcu_name}: {msg}")
|
||||
return None
|
||||
elif len(parts) > 7:
|
||||
logger.debug(f"got garbage (too many parts) CAN data from {mcu_name}: {msg}")
|
||||
|
||||
8
treefmt.nix
Normal file
8
treefmt.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
projectRootFile = "flake.nix";
|
||||
programs = {
|
||||
nixfmt.enable = true;
|
||||
black.enable = true;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user