Skip to content

Commit 59c9aac

Browse files
committed
Major changes; shell script to create virtual ethernet port & set up can0; press spacebar to pause and play; CAN data recorded in record mode if CAN connection is available; one of the packet_handler function gets data from eth10 which is a virtual port that receives data from send_eth.cpp
1 parent eb1ad98 commit 59c9aac

11 files changed

+2145
-1
lines changed

Makefile

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Makefile
2+
3+
CXX = g++
4+
OFLAG = -O3
5+
6+
CFLAGS = `pkg-config --cflags opencv`
7+
LDFLAGS = `pkg-config --libs opencv`
8+
9+
all: main
10+
11+
main:
12+
$(CXX) -std=c++11 -o main main.cpp $(OFLAG) \
13+
-I. -I/usr/include/pcap/ -I/usr/include/pcl-1.7 -I/usr/include/eigen3 \
14+
-I/usr/include/vtk-5.8 \
15+
-I/usr/lib/x86_64-linux-gnu/ \
16+
$(CFLAGS) $(LDFLAGS) \
17+
-rdynamic -lboost_system -lboost_filesystem -lboost_thread -lboost_date_time -lboost_iostreams \
18+
-lboost_serialization -lboost_chrono -lpthread -lpcl_common -Wl,-Bstatic -lflann_cpp_s -Wl,-Bdynamic \
19+
-lpcl_kdtree -lpcl_octree -lpcl_search -lqhull -lpcl_surface -lpcl_sample_consensus -lOpenNI -lOpenNI2 \
20+
-lpcl_io -lpcl_filters -lpcl_features -lpcl_keypoints -lpcl_registration -lpcl_segmentation -lpcl_recognition \
21+
-lpcl_visualization -lpcl_people -lpcl_outofcore -lpcl_tracking -lpcl_apps -lboost_system -lboost_filesystem \
22+
-lboost_thread -lboost_date_time -lboost_iostreams -lboost_serialization -lboost_chrono -lpthread -lqhull \
23+
-lOpenNI -lOpenNI2 -Wl,-Bstatic -lflann_cpp_s -Wl,-Bdynamic -lpcap \
24+
/usr/local/lib/libopencv_viz.so.3.1.0 /usr/local/lib/libopencv_videostab.so.3.1.0 \
25+
/usr/local/lib/libopencv_superres.so.3.1.0 /usr/local/lib/libopencv_stitching.so.3.1.0 \
26+
/usr/local/lib/libopencv_shape.so.3.1.0 /usr/local/lib/libopencv_photo.so.3.1.0 \
27+
/usr/local/lib/libopencv_objdetect.so.3.1.0 /usr/local/lib/libopencv_calib3d.so.3.1.0 \
28+
-lpthread -lpcl_common -lpcl_kdtree -lpcl_octree -lpcl_search -lpcl_surface -lpcl_sample_consensus \
29+
-lpcl_io -lpcl_filters -lpcl_features -lpcl_keypoints -lpcl_registration -lpcl_segmentation \
30+
-lpcl_recognition -lpcl_visualization -lpcl_people -lpcl_outofcore -lpcl_tracking -lpcl_apps -lpcap -lpthread \
31+
/usr/lib/libvtkGenericFiltering.so.5.8.0 /usr/lib/libvtkGeovis.so.5.8.0 /usr/lib/libvtkCharts.so.5.8.0 \
32+
/usr/lib/libvtkViews.so.5.8.0 /usr/lib/libvtkInfovis.so.5.8.0 /usr/lib/libvtkWidgets.so.5.8.0 \
33+
/usr/lib/libvtkVolumeRendering.so.5.8.0 /usr/lib/libvtkHybrid.so.5.8.0 /usr/lib/libvtkParallel.so.5.8.0 \
34+
/usr/lib/libvtkRendering.so.5.8.0 /usr/lib/libvtkImaging.so.5.8.0 /usr/lib/libvtkGraphics.so.5.8.0 \
35+
/usr/lib/libvtkIO.so.5.8.0 /usr/lib/libvtkFiltering.so.5.8.0 /usr/lib/libvtkCommon.so.5.8.0 \
36+
-lm /usr/lib/libvtksys.so.5.8.0 -ldl /usr/local/lib/libopencv_features2d.so.3.1.0 \
37+
/usr/local/lib/libopencv_ml.so.3.1.0 /usr/local/lib/libopencv_highgui.so.3.1.0 \
38+
/usr/local/lib/libopencv_videoio.so.3.1.0 /usr/local/lib/libopencv_imgcodecs.so.3.1.0 \
39+
/usr/local/lib/libopencv_flann.so.3.1.0 /usr/local/lib/libopencv_video.so.3.1.0 \
40+
/usr/local/lib/libopencv_imgproc.so.3.1.0 /usr/local/lib/libopencv_core.so.3.1.0 -Wl,-rpath,/usr/local/lib
41+
42+
#candump: lib
43+
# g++ -O2 -Wall -Wno-parentheses -fno-strict-aliasing -Iinclude -D_FILE_OFFSET_BITS=64 -DSO_RXQ_OVFL=40 -DPF_CAN=29 -DAF_CAN=PF_CAN -c -o candump.o candump.cpp
44+
45+
#lib:
46+
# cc -O2 -Wall -Wno-parentheses -fno-strict-aliasing -Iinclude -D_FILE_OFFSET_BITS=64 -DSO_RXQ_OVFL=40 -DPF_CAN=29 -DAF_CAN=PF_CAN -c -o lib.o lib.c
47+
48+
clean:
49+
rm -f main
50+
rm -f *.o

build.sh

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/bin/bash
2+
3+
4+
5+
#export portName="eth10"
6+
virtual_ethernet()
7+
{
8+
echo "setting virtual ethernet port"
9+
sudo modprobe dummy
10+
lsmod | grep dummy
11+
12+
if (sudo ip link set name eth10 dev dummy0 2> /dev/null); then
13+
echo "succesfully created a virtual ethernet"
14+
sudo ifconfig eth10 up
15+
else
16+
echo "error in creating vitual ethernet port"
17+
echo -n "Do you want to clean up existing eth10 [Y/n]"
18+
sudo ifconfig eth10 up
19+
read character
20+
case $character in
21+
Y)
22+
echo "cleaning up existing device"
23+
sudo ip link delete eth10 type dummy
24+
sudo rmmod dummy
25+
;;
26+
n)
27+
exit 1
28+
;;
29+
esac
30+
fi
31+
}
32+
33+
34+
LSUSBINFO="$(lsusb | grep PEAK | cut -d' ' -f 6)"
35+
36+
sudo slcand -o -c -s0 /dev/$LSUSBINFO can0
37+
(sudo ifconfig can0 up) 2> /dev/null
38+
if [ "$?" = "0" ]; then
39+
echo "CAN device is connected"
40+
else
41+
echo "CAN device is not connected"
42+
fi
43+
44+
virtual_ethernet

0 commit comments

Comments
 (0)