diff --git a/CMakeLists.txt b/CMakeLists.txt index 5b9c2c6..3600565 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,3 +29,19 @@ add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS} ) + +install(DIRECTORY launch/ + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch +) +catkin_install_python(PROGRAMS script/add_rule + DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) +install(FILES script/99-imu-3dm-gx4.rules script/README.md + DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) + +install(TARGETS ${PROJECT_NAME} + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) diff --git a/script/99-imu-3dm-gx4.rules b/script/99-imu-3dm-gx4.rules new file mode 100755 index 0000000..ce27589 --- /dev/null +++ b/script/99-imu-3dm-gx4.rules @@ -0,0 +1 @@ +SUBSYSTEMS=="usb", ATTRS{manufacturer}=="Lord Microstrain",ATTRS{product}=="Lord Inertial Sensor", MODE="0777", GROUP="imu", SYMLINK+="lord_imu" diff --git a/script/add_rule b/script/add_rule index b15da6a..a0386cd 100755 --- a/script/add_rule +++ b/script/add_rule @@ -1,23 +1,17 @@ #!/bin/bash - -if [[ $UID != 0 ]]; then - echo "Please start the script as root or sudo!" - exit 1 -fi - -read -p "This will add $SUDO_USER to group imu are you sure? y/n: " -n 1 -r +read -p "This will add $USER to group imu are you sure? y/n: " -n 1 -r echo #newline if [[ $REPLY =~ ^[Yy]$ ]] then # add group and user - groupadd imu - adduser $SUDO_USER imu + sudo groupadd imu + sudo adduser $USER imu # addudev rule DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # get directory where this script is stored - cp $DIR/imu_3dm_gx4.rules /etc/udev/rules.d/ + sudo cp $DIR/99-imu-3dm-gx4.rules /etc/udev/rules.d/ #reload udev - udevadm control --reload-rules + sudo udevadm control --reload-rules fi diff --git a/script/imu_3dm_gx4.rules b/script/imu_3dm_gx4.rules deleted file mode 100644 index 4daf61c..0000000 --- a/script/imu_3dm_gx4.rules +++ /dev/null @@ -1 +0,0 @@ -SUBSYSTEMS=="usb", ATTRS{manufacturer}=="Lord Microstrain",ATTRS{product}=="Lord Inertial Sensor", MODE="0777", GROUP="imu" diff --git a/src/imu_3dm_gx4.cpp b/src/imu_3dm_gx4.cpp index bc99f04..19a0fcc 100644 --- a/src/imu_3dm_gx4.cpp +++ b/src/imu_3dm_gx4.cpp @@ -164,7 +164,7 @@ int main(int argc, char **argv) { bool verbose; // load parameters from launch file - nh.param("device", device, "/dev/ttyACM0"); + nh.param("device", device, "/dev/lord_imu"); nh.param("baudrate", baudrate, 115200); nh.param("frame_id", frameId, std::string("imu")); nh.param("imu_rate", requestedImuRate, 100);