But while importing the PCANBasic, using
Code: Select all
from PCANBasic import *
Is this related to some directory issue? Should I copy the API files to some location? I have python 2.7 on my system.
Code: Select all
from PCANBasic import *
Code: Select all
*------------- PEAK-System CAN interfaces (www.peak-system.com) -------------
*------------- Release_20190412_n (8.8.0) May 7 2019 23:31:42 --------------
*------------- [mod] [isa] [pci] [pec] [dng] [par] [usb] [pcc] --------------
*--------------------- 1 interfaces @ major 236 found -----------------------
*n -type- -ndev- --base-- irq --btr- --read-- --write- --irqs-- -errors- status
32 usb -NA- ffffffff 030 0x001c 0000000b 00000019 0000452c 0000683e 0x0080
Code: Select all
~/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic$ make clean
make[1]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/pcanbasic'
Considering PCANBasic library with FD support (PCAN driver >= 8.0)
rm -f src/*~ src/*.o *~ *.so.* *.so libpcanfd.o
make[1]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/pcanbasic'
make[1]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/pcaninfo'
rm -f src/*~ src/*.o ../pcanbasic/src/*~ ../pcanbasic/src/*.o *~ *.so.* *.so pcaninfo.1.0.2 pcaninfo
make[1]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/pcaninfo'
make[1]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples'
make[2]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/python'
rm -f *.pyc
make[2]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/python'
make[2]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/c++'
rm -f src/*~ src/*.o *~ pcanwrite pcanread pcaneventread pcaneventwrite
make[2]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/c++'
make[1]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples'
Code: Select all
~/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic$ make
make[1]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/pcanbasic'
Considering PCANBasic library with FD support (PCAN driver >= 8.0)
***
*** Making PCANBasic library with FD support (PCAN driver >= 8.0)
***
*** target=libpcanbasic
*** version=4.3.1
*** PCAN_ROOT=src/pcan
*** gcc version=7
***
gcc -fPIC -shared -O2 -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -DNO_RT -Isrc/pcan/driver -Isrc/pcan/lib -c src/libpcanbasic.c -o src/libpcanbasic.o
gcc -fPIC -shared -O2 -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -DNO_RT -Isrc/pcan/driver -Isrc/pcan/lib -c src/pcaninfo.c -o src/pcaninfo.o
gcc -fPIC -shared -O2 -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -DNO_RT -Isrc/pcan/driver -Isrc/pcan/lib -c src/pcanlog.c -o src/pcanlog.o
gcc -fPIC -shared -O2 -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -DNO_RT -Isrc/pcan/driver -Isrc/pcan/lib -c src/pcbcore.c -o src/pcbcore.o
gcc -fPIC -shared -O2 -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -DNO_RT -Isrc/pcan/driver -Isrc/pcan/lib -c src/pcblog.c -o src/pcblog.o
gcc -fPIC -shared -O2 -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -DNO_RT -Isrc/pcan/driver -Isrc/pcan/lib -c src/pcbtrace.c -o src/pcbtrace.o
gcc -fPIC -shared -O2 -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -DNO_RT -Isrc/pcan/driver -Isrc/pcan/lib -c src/pcan/lib/src/libpcanfd.c -o src/libpcanfd.o
gcc -shared -Wl,-soname,libpcanbasic.so -o libpcanbasic.so.4.3.1 src/libpcanbasic.o src/pcaninfo.o src/pcanlog.o src/pcbcore.o src/pcblog.o src/pcbtrace.o src/libpcanfd.o -lm
ln -sf libpcanbasic.so.4.3.1 libpcanbasic.so
make[1]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/pcanbasic'
make[1]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/pcaninfo'
*** Making PCANINFO
***
*** target=pcaninfo
*** version=1.0.2
*** PCAN_ROOT=../pcanbasic/src/pcan
*** gcc version=7
***
gcc src/main.c ../pcanbasic/src/pcanlog.c ../pcanbasic/src/pcblog.c ../pcanbasic/src/pcbtrace.c ../pcanbasic/src/pcbcore.c ../pcanbasic/src/pcaninfo.c ../pcanbasic/src/pcan/lib/src/libpcanfd.c -O2 -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -DNO_RT -I../pcanbasic/src -I../pcanbasic/src/pcan/driver -I../pcanbasic/src/pcan/lib -lm -o pcaninfo.1.0.2
ln -sf pcaninfo.1.0.2 pcaninfo
make[1]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/pcaninfo'
make[1]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples'
make[2]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/python'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/python'
make[2]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/c++'
***
*** Making PCANBasic C++ examples
***
*** target=pcanwrite pcanread pcaneventread pcaneventwrite
*** g++ version=7
*** PCANBASIC_ROOT=../../pcanbasic
***
g++ -I../../pcanbasic -I../../pcanbasic/src/pcan/driver -DNO_RT src/pcanwrite.cpp -L../../pcanbasic -Wl,-rpath ../../pcanbasic -lpcanbasic -o pcanwrite
g++ -I../../pcanbasic -I../../pcanbasic/src/pcan/driver -DNO_RT src/pcanread.cpp -L../../pcanbasic -Wl,-rpath ../../pcanbasic -lpcanbasic -o pcanread
g++ -I../../pcanbasic -I../../pcanbasic/src/pcan/driver -DNO_RT src/pcaneventread.cpp -L../../pcanbasic -Wl,-rpath ../../pcanbasic -lpcanbasic -o pcaneventread
g++ -I../../pcanbasic -I../../pcanbasic/src/pcan/driver -DNO_RT src/pcaneventwrite.cpp -L../../pcanbasic -Wl,-rpath ../../pcanbasic -lpcanbasic -o pcaneventwrite
make[2]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/c++'
make[1]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples'
Code: Select all
~/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic$ sudo make install
[sudo] password for akash:
make[1]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/pcanbasic'
Considering PCANBasic library with FD support (PCAN driver >= 8.0)
cp libpcanbasic.so.4.3.1 /usr/lib/libpcanbasic.so.4.3.1
ln -sf /usr/lib/libpcanbasic.so.4.3.1 /usr/lib/libpcanbasic.so.4
ln -sf /usr/lib/libpcanbasic.so.4.3.1 /usr/lib/libpcanbasic.so.0
ln -sf /usr/lib/libpcanbasic.so.4 /usr/lib/libpcanbasic.so
cp PCANBasic.h /usr/include/PCANBasic.h
chmod 644 /usr/include/PCANBasic.h
/sbin/ldconfig
make[1]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/pcanbasic'
make[1]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/pcaninfo'
cp pcaninfo.1.0.2 /usr/local/bin/pcaninfo
chmod 755 /usr/local/bin/pcaninfo
make[1]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/pcaninfo'
make[1]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples'
make[2]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/python'
make[2]: Nothing to be done for 'install'.
make[2]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/python'
make[2]: Entering directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/c++'
#cp pcanwrite pcanread pcaneventread pcaneventwrite /usr/local/bin
make[2]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/c++'
make[1]: Leaving directory '/home/akash/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples'
Code: Select all
$ /usr/local/bin/receivetest -f=/dev/pcan32 -e
receivetest Version "Release_20150611_n" (www.peak-system.com)
------- Copyright (C) 2004-2009 PEAK System-Technik GmbH ------
receivetest comes with ABSOLUTELY NO WARRANTY. This is free
software and you are welcome to redistribute it under certain
conditions. For details see attached COPYING file.
receivetest: device node="/dev/pcan32"
Extended frames are accepted, init with 500 kbit/sec.
receivetest: driver version = Release_20190412_n
2928728910.987 receivetest: x - 0x00000001 4 00 00 00 00
receivetest: pending CAN status 0x0020 read.
^Creceivetest: type = usb
Serial Number = 0xffffffff
Device Number = 30
count of reads = 1
count of writes = 0
count of errors = 0
count of irqs = 26
last CAN status = 0x0000
last error = 0
open paths = 1
driver version = Release_20190412_n
receivetest: finished (0): 1 message(s) received
Code: Select all
# moves to the PCANBasic python example directory
cd ~/PCAN/PCAN-Basic_Linux-4.3.1/
cd libpcanbasic/examples/python/
# fetches the name of the PCANBasic library that is loaded by python
grep -e '__m_dllBasic = cdll.LoadLibrary(".*")' PCANBasic.py
# asserts the above library exists in the filesystem
ls -al /usr/lib/`grep -e '__m_dllBasic = cdll.LoadLibrary(".*")' PCANBasic.py | sed 's:^.*"\(.*\)".*$:\1:'`
Code: Select all
lrwxrwxrwx 1 root root 26 13 mai 10:12 /usr/lib/libpcanbasic.so -> /usr/lib/libpcanbasic.so.4
Code: Select all
python2.7
>>> from PCANBasic import *
Code: Select all
from PCANBasic import *
ImportError: No module named PCANBasic
Code: Select all
~/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/python$ grep -e '__m_dllBasic = cdll.LoadLibrary(".*")' PCANBasic.py
self.__m_dllBasic = cdll.LoadLibrary("libpcanbasic.so")
Code: Select all
~/PCAN/PCAN-Basic_Linux-4.3.1/libpcanbasic/examples/python$ ls -al /usr/lib/`grep -e '__m_dllBasic = cdll.LoadLibrary(".*")' PCANBasic.py | sed 's:^.*"\(.*\)".*$:\1:'`
lrwxrwxrwx 1 root root 26 maj 13 02:35 /usr/lib/libpcanbasic.so -> /usr/lib/libpcanbasic.so.4
But this behavior has still not changed.!!MrSingh wrote:I tried running the receivetest, and got the following output.Does this mean driver has not been correctly installed?Code: Select all
$ /usr/local/bin/receivetest -f=/dev/pcan32 -e receivetest Version "Release_20150611_n" (www.peak-system.com) ------- Copyright (C) 2004-2009 PEAK System-Technik GmbH ------ receivetest comes with ABSOLUTELY NO WARRANTY. This is free software and you are welcome to redistribute it under certain conditions. For details see attached COPYING file. receivetest: device node="/dev/pcan32" Extended frames are accepted, init with 500 kbit/sec. receivetest: driver version = Release_20190412_n 2928728910.987 receivetest: x - 0x00000001 4 00 00 00 00 receivetest: pending CAN status 0x0020 read. ^Creceivetest: type = usb Serial Number = 0xffffffff Device Number = 30 count of reads = 1 count of writes = 0 count of errors = 0 count of irqs = 26 last CAN status = 0x0000 last error = 0 open paths = 1 driver version = Release_20190412_n receivetest: finished (0): 1 message(s) received