5 existing_idvendor_list = []
6 existing_idproduct_list = []
8 new_idproduct_list = []
11 return (list(list(set(list1)-set(list2)) + list(set(list2)-set(list1))))
15 if(len(product_id)==3):
16 return (
'0'+product_id)
17 elif(len(product_id)==2):
18 return (
'00'+product_id)
19 elif(len(product_id)==1):
20 return (
'000'+product_id)
24 raw_input(
"Unplug all the USB devices from the system and press 'Enter'" +
'\n')
25 dev = usb.core.find(find_all=
True)
27 existing_idvendor_list.append(str(cfg.idVendor))
28 existing_idproduct_list.append(str(cfg.idProduct))
31 raw_input(
"Plug MCU board and press 'Enter'")
32 dev = usb.core.find(find_all=
True)
34 new_idvendor_list.append(str(cfg.idVendor))
35 new_idproduct_list.append(str(cfg.idProduct))
37 MCU_idvendor =
''.join(
Diff(new_idvendor_list, existing_idvendor_list))
38 existing_idvendor_list.append(MCU_idvendor)
39 if(MCU_idvendor ==
""):
43 MCU_idproduct =
''.join(
Diff(new_idproduct_list, existing_idproduct_list))
44 existing_idproduct_list.append(MCU_idproduct)
45 if(MCU_idproduct ==
""):
49 if (MCU_idvendor ==
'0' or MCU_idproduct ==
'0'):
50 print (
"Not binding MCU" +
'\n')
52 print(
"MCU_idvendor : " + MCU_idvendor +
"," +
" MCU_idproduct : " + MCU_idproduct +
'\n')
55 raw_input(
"Plug rplidar and press 'Enter'")
56 dev = usb.core.find(find_all=
True)
58 new_idvendor_list.append(str(cfg.idVendor))
59 new_idproduct_list.append(str(cfg.idProduct))
61 rplidar_idvendor =
''.join(
Diff(new_idvendor_list, existing_idvendor_list))
62 existing_idvendor_list.append(rplidar_idvendor)
63 if(rplidar_idvendor ==
""):
67 rplidar_idproduct =
''.join(
Diff(new_idproduct_list, existing_idproduct_list))
68 existing_idproduct_list.append(rplidar_idproduct)
69 if(rplidar_idproduct ==
""):
73 if (rplidar_idvendor ==
'0' or rplidar_idproduct ==
'0'):
74 print (
"Not binding rplidar" +
'\n')
76 print(
"rplidar_idvendor : " + rplidar_idvendor +
"," +
" rplidar_idproduct : " + rplidar_idproduct +
'\n')
79 raw_input(
"plug imu sensor and press 'Enter'")
80 dev = usb.core.find(find_all=
True)
82 new_idvendor_list.append(str(cfg.idVendor))
83 new_idproduct_list.append(str(cfg.idProduct))
85 imu_idvendor =
''.join(
Diff(new_idvendor_list, existing_idvendor_list))
86 existing_idvendor_list.append(imu_idvendor)
87 if(imu_idvendor ==
""):
91 imu_idproduct =
''.join(
Diff(new_idproduct_list, existing_idproduct_list))
92 existing_idproduct_list.append(imu_idproduct)
93 if(imu_idproduct ==
""):
97 if (imu_idvendor ==
'0' or imu_idproduct ==
'0'):
98 print (
"Not binding IMU" +
'\n')
100 print(
"imu_idvendor : " + imu_idvendor +
"," +
" imu_idproduct : " + imu_idproduct +
'\n')
103 raw_input(
"plug camera and press 'Enter'")
104 dev = usb.core.find(find_all=
True)
106 new_idvendor_list.append(str(cfg.idVendor))
107 new_idproduct_list.append(str(cfg.idProduct))
109 camera_idvendor =
''.join(
Diff(new_idvendor_list, existing_idvendor_list))
110 existing_idvendor_list.append(camera_idvendor)
111 if(camera_idvendor ==
""):
115 camera_idproduct =
''.join(
Diff(new_idproduct_list, existing_idproduct_list))
116 existing_idproduct_list.append(camera_idproduct)
117 if(camera_idproduct ==
""):
121 if (camera_idvendor ==
'0' or camera_idproduct ==
'0'):
122 print (
"Not binding camera" +
'\n')
124 print(
"camera_idvendor : " + camera_idvendor +
"," +
" camera_idproduct : " + camera_idproduct +
'\n')
127 print(
"MCU_idvendor : " + MCU_idvendor +
"," +
" MCU_idproduct : " + MCU_idproduct)
128 print(
"rplidar_idvendor : " + rplidar_idvendor +
"," +
" rplidar_idproduct : " + rplidar_idproduct)
129 print(
"imu_idvendor : " + imu_idvendor +
"," +
" imu_idproduct : " + imu_idproduct)
130 print(
"camera_idvendor : " + camera_idvendor +
"," +
" camera_idproduct : " + camera_idproduct)
133 rospack = rospkg.RosPack()
134 path = rospack.get_path(
'volta_rules')
135 f= open(path +
"/udev_rules.rules",
"w+")
136 f.write(
'KERNEL=="ttyUSB*", ATTRS{idVendor}=="'+MCU_idvendor+
'", ATTRS{idProduct}=="'+MCU_idproduct+
'", MODE:="0777", SYMLINK+="mcu"'+
'\n')
139 f.write(
'KERNEL=="ttyUSB*", ATTRS{idVendor}=="'+rplidar_idvendor+
'", ATTRS{idProduct}=="'+rplidar_idproduct+
'", MODE:="0777", SYMLINK+="rplidar"'+
'\n')
142 f.write(
'KERNEL=="ttyUSB*", ATTRS{idVendor}=="'+imu_idvendor+
'", ATTRS{idProduct}=="'+imu_idproduct+
'", MODE:="0777", SYMLINK+="imu"'+
'\n')
145 f.write(
'KERNEL=="ttyUSB*", ATTRS{idVendor}=="'+camera_idvendor+
'", ATTRS{idProduct}=="'+camera_idproduct+
'", MODE:="0777", SYMLINK+="camera"')
def add_leading_zeros(product_id)