genivi / candevstudio Goto Github PK
View Code? Open in Web Editor NEWDevelopment tool for CAN bus simulation
License: Mozilla Public License 2.0
Development tool for CAN bus simulation
License: Mozilla Public License 2.0
do you think NodeEditor is the best node based editor framework open source project you ever seen?
Add possibility to save log in CanRawVIew. Resulting file should match filtering and order of frames currently visible in a component.
Currently, remote frames are received and displayed as normal data frames while a remote flag should identify such remote frames.
Sending remote frames is not yet possible.
Port CanSignalEncoder from signals to master branch.
CanSignalEncoder enables to encode signals into resulting CAN frame
I'm running 0.3 @ 4cf77f6 on Arch Linux. After adding a CanRawFilter element, I can't edit it : I can add, delete lines; change between "Accept" and "Drop", but impossible to change the ID and Payload fields. Tried clicking, pressing enter, space, backspace, numbers, arrows, no effect.
Qt-5.12 on Arch linux. Let me know if you need more information.
Hints ?
Hi ,
Step 1] I am able to load .dbc file under CanSignaldata and using CanSignalSender sending messages and same observed on virtual bus till it is working fine. (Using standalone version)
Step 2] ]Next step is I need to use QML executor block. I just take QML executor block and triying to load .qml file but its not working .
I don't know how to use it pls share any suggestion/guidance/ or any helpful design document dam stuck here
Pls find below Image that I did sample project..
https://user-images.githubusercontent.com/122876509/212884486-71a91aac-64f5-4c80-b520-f62f8e1ebcaa.png
Note -: This is not an issue this is query I have raised under this tab.
After successfull compilation using custom Qt SDK path:
cmake .. -DCMAKE_PREFIX_PATH=/opt/Qt/5.x/5.15.2/gcc_64
Application fails to run with message:
/usr/local/bin/CANdevStudio: symbol lookup error: /usr/local/bin/CANdevStudio: undefined symbol: _ZdlPvm, version Qt_5
Different compiler used during build?
gcc --version
gcc (Debian 10.2.0-19) 10.2.0
Also exported CC and CXX vars before build without luck..
ldd /usr/local/bin/CANdevStudio
linux-vdso.so.1 (0x00007ffe1ebcd000)
libQt5SerialBus.so.5 => /usr/lib/x86_64-linux-gnu/libQt5SerialBus.so.5 (0x00007f2be511e000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2be50fc000)
libQt5Svg.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5 (0x00007f2be50a5000)
libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007f2be4a1c000)
libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007f2be435a000)
libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007f2be3e13000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f2be3c44000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2be3b00000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f2be3ae6000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2be3921000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2be587a000)
libQt5Network.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Network.so.5 (0x00007f2be3799000)
libQt5SerialPort.so.5 => /usr/lib/x86_64-linux-gnu/libQt5SerialPort.so.5 (0x00007f2be3782000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f2be3763000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007f2be36dc000)
libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f2be36a2000)
libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f2be359d000)
libmd4c.so.0 => /usr/lib/x86_64-linux-gnu/libmd4c.so.0 (0x00007f2be358b000)
libdouble-conversion.so.3 => /usr/lib/x86_64-linux-gnu/libdouble-conversion.so.3 (0x00007f2be3572000)
libicui18n.so.67 => /usr/lib/x86_64-linux-gnu/libicui18n.so.67 (0x00007f2be326d000)
libicuuc.so.67 => /usr/lib/x86_64-linux-gnu/libicuuc.so.67 (0x00007f2be3085000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2be307f000)
libpcre2-16.so.0 => /usr/lib/x86_64-linux-gnu/libpcre2-16.so.0 (0x00007f2be2ff5000)
libzstd.so.1 => /usr/lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f2be2f25000)
libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f2be2df6000)
libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f2be2da1000)
libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f2be2d79000)
libGLdispatch.so.0 => /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f2be2cc1000)
libGLX.so.0 => /usr/lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f2be2c8d000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f2be2bca000)
libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f2be2b9c000)
libicudata.so.67 => /usr/lib/x86_64-linux-gnu/libicudata.so.67 (0x00007f2be1083000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f2be1010000)
libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f2be0f36000)
libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f2be0f06000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f2be0efe000)
libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f2be0eef000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f2be0dac000)
libbrotlidec.so.1 => /usr/lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f2be0d9e000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f2be0d97000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f2be0d7b000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f2be0d51000)
libbrotlicommon.so.1 => /usr/lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f2be0d2e000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f2be0b2a000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f2be0924000)
libbsd.so.0 => /usr/lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f2be0908000)
Add a CanStatistic component or extend the current CanLoad component to display CAN Statistics:
Create component that will enable to manipulate data using Python scripts. Required features:
Signal decoder does not parse signals when they are big-endian. There are two problems I observed.
//bit++;
if(littleEndian) bit++;
if(!littleEndian) bit--;
DBC I used is this one: toyota_rav4h_2017_mod.dbc
Add a block for visualization. This should be like a QML component that is associated with a block and the user can define the visual appearance in a qml file and create the bindings with CAN information.
This should be like the panels in CANoe - useful to create dasboards and control panels.
Hello everyone.
OS: Manjaro, 5.14.10-arch1
Shell: GNOME Shell 40.5
When trying to open any existing project I'm always getting following error:
(process:124920): Gtk-CRITICAL **: 23:40:09.187: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
(process:124920): Gtk-CRITICAL **: 23:40:09.187: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
(process:124920): Gtk-CRITICAL **: 23:40:09.187: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
zsh: segmentation fault (core dumped) CANdevStudio
App crashes, creating new project and working on it is fine
Hello,
Thanks for this awesome software. I can not run any qml script. For example using the examples I get :
simple_timer.qml:13:5: Timer is not a type
Timer {
Any idea where I went wrong ?
BTW :using official 1.2.2 release on ubuntu 20.04
Thanks
Jacques
Ubuntu 16.04 SavvyCAN work good, candump work perfect. But in CanDevStudio when selecting socketcan, appear error Cannot load library socketcan
Only on Windows (32/64bits), when selecting the backend: passthrucan
, it should be easier to select the proper CAN adapter by providing the list (as a drop-down list) of all available CAN adapters accessible as documented here:
https://github.com/qt/qtserialbus/blob/670f912fbc08002ac063504755fc7705931e0d6e/src/serialbus/doc/src/passthrucan.qdoc#L66-L76
For my previous tests, I had no other choice than to look for the actual CAN adapter name in the Windows registry myself.
When I import a dbc file from a proprietary dB or opendbc I get two messages.
TAG BS Not implemented
Parser log 103:1 syntax error
Failed to load CAN DB from "path"
I tried with three differentsdbc files
I'm still using the brand new : CANdevStudio v0.4.0 win32-standalone
Example of CAN message id 2047d (0x7FF) :
Can be sent as '0x7FF' only for SFF
Can be sent as '0x000007FF' for EFF
Maybe adding a dedicated checkbox:
I'm trying to use the latest Win32 Prebuilt package from Bintray :
CANdevStudio-0.3.875ac1f-win32-standalone (https://bintray.com/rkollataj/CANdevStudio/download_file?file_path=CANdevStudio-0.3.875ac1f-win32-standalone.7z)
OS : Windows 10 x64 Version 1703 (15063.1563)
CAN Hardware : PeakCAN PCAN-USB (Drivers: 4.1.4.16279 KMDF 1.9, x64, Desktop)
How can I configure the actual PCAN-USB bitrate in CANdevStudio ? Using a 'plugin.json' file or somewhere in the GUI ?
Thank you for your support
Port CanSignalViewer from signals to master branch.
CanSignalViewer enables to view CAN signals.
trying to build from the AUR:
[ 63%] Linking CXX static library libcansignalviewer.a
[ 63%] Built target cansignalviewer
[ 64%] Building CXX object src/components/cansignaldecoder/CMakeFiles/cansignaldecoder_test.dir/cansignaldecoder_test_autogen/mocs_compilation.cpp.o
[ 64%] Building CXX object src/components/cansignaldecoder/CMakeFiles/cansignaldecoder_test.dir/tests/cansignaldecoder_test.cpp.o
c++: fatal error: Terminated signal terminated program cc1plus
compilation terminated.
make[2]: *** [src/components/canrawsender/CMakeFiles/canrawsender_test.dir/build.make:90: src/components/canrawsender/CMakeFiles/canrawsender_test.dir/tests/canrawsender_test.cpp.o] Error 1
make[2]: *** Deleting file 'src/components/canrawsender/CMakeFiles/canrawsender_test.dir/tests/canrawsender_test.cpp.o'
make[2]: *** Waiting for unfinished jobs....
{standard input}: Assembler messages:
{standard input}:240597: Warning: end of file not at end of a line; newline inserted
[ 64%] Building CXX object src/components/cansignalencoder/CMakeFiles/cansignalencodermodel_test.dir/cansignalencodermodel_test_autogen/mocs_compilation.cpp.o
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
[ 64%] Building CXX object src/components/cansignalencoder/CMakeFiles/cansignalencodermodel_test.dir/tests/cansignalencodermodel_test.cpp.o
c++: fatal error: Terminated signal terminated program cc1plus
compilation terminated.
make[2]: *** [src/components/canload/CMakeFiles/canloadmodel_test.dir/build.make:90: src/components/canload/CMakeFiles/canloadmodel_test.dir/tests/canloadmodel_test.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1463: src/components/canload/CMakeFiles/canloadmodel_test.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
{standard input}: Assembler messages:
{standard input}:642426: Warning: end of file not at end of a line; newline inserted
{standard input}:643900: Error: unknown pseudo-op: `.lbi'
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
{standard input}: Assembler messages:
{standard input}:634114: Warning: end of file not at end of a line; newline inserted
c++: fatal error: Terminated signal terminated program cc1plus
compilation terminated.
make[2]: *** [src/components/canrawlogger/CMakeFiles/canrawlogger_test.dir/build.make:90: src/components/canrawlogger/CMakeFiles/canrawlogger_test.dir/tests/canrawlogger_test.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1797: src/components/canrawlogger/CMakeFiles/canrawlogger_test.dir/all] Error 2
c++: fatal error: Terminated signal terminated program cc1plus
compilation terminated.
make[2]: *** [src/components/canload/CMakeFiles/canload_test.dir/build.make:90: src/components/canload/CMakeFiles/canload_test.dir/tests/canload_test.cpp.o] Error 1
make[2]: *** Deleting file 'src/components/canload/CMakeFiles/canload_test.dir/tests/canload_test.cpp.o'
make[1]: *** [CMakeFiles/Makefile2:1493: src/components/canload/CMakeFiles/canload_test.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:2131: src/components/canrawsender/CMakeFiles/canrawsender_test.dir/all] Error 2
[ 65%] Linking CXX executable canrawloggermodel_test
[ 65%] Built target canrawloggermodel_test
[ 65%] Linking CXX executable canrawsendermodel_test
[ 65%] Built target canrawsendermodel_test
[ 66%] Linking CXX executable cansignaldatamodel_test
[ 67%] Linking CXX executable cansignaldecodermodel_test
[ 67%] Built target cansignaldatamodel_test
[ 67%] Built target cansignaldecodermodel_test
[ 67%] Linking CXX executable cansignaldecoder_test
[ 67%] Linking CXX executable cansignaldata_test
[ 67%] Built target cansignaldata_test
[ 67%] Built target cansignaldecoder_test
[ 68%] Linking CXX executable cansignalencodermodel_test
[ 68%] Built target cansignalencodermodel_test
make: *** [Makefile:166: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
error: failed to build 'candevstudio-git-r269.fe417bd3-1':
error: packages failed to buid: candevstudio-git-r269.fe417bd3-1
Port CanSignalSender from signals to master branch.
CanSignalSender enables to send CAN signals.
Add block for scripting (maybe javascript as it is integrated whit QT, evntl. QML would be very interesting). This should offer timers and advanced features like CAPL in CANoe.
If the CanDevice configuration BitRateKey value is defined, then set the default CanLoad bitrate property to same value, so it is always consistent.
On 0.3 @ 4cf77f6 : I can't drag and drop elements onto canvas; I need to right-click on the canvas and select the elements. See screenshot of attempt at dragging elements.
Qt-5.12 on Arch linux. Let me know if you need more information.
Would you mind please adding support for the latest Qt 5.12 Serial Bus Module ?
I would like to try and use my J2534 Pass-Thru VCI(s).
http://doc.qt.io/qt-5/whatsnew511.html#qt-serial-bus-module
Qt Serial Bus Module
Add support for slcan protocol with serial device without slcand for Windows.
I reprogrammed the open hardware device CanDybug to support the slcan protocol and I would like to use it on Windows.
Maybe I will find the time in the next few weeks, then I can implement it if the request is accepted.
Port CanSignalDecoder from signals to master branch.
CanSignalDecoder enables to decode CAN frames to CAN signals.
Installation on system: Windows 10 Prof
I cannot find a redistributable vs2019 or similar that matches this requirement at microsoft. All I find is something that is labeled 2015-2022 with a version 14.34.31931. MS describes that this should now be some "fit for all" package (https://learn.microsoft.com/de-DE/cpp/windows/latest-supported-vc-redist?view=msvc-170)
At cmake there is a similar issue from 2021 but left without solution.
In the file CMakeOutput.log it is written:
"The system is: Windows - 10.0.19044 - AMD64"
True, but doesn't help to come any step further.
Any idea how this can be built on windows 10?
When using Qt5.14.0 SVG is rendered in wrong position for all CAN signals components. The bug is filed in Qt system: https://bugreports.qt.io/browse/QTBUG-80969
Hi,
I'm updating the PKGBUILD for Arch, and I noticed that since a231e8e , "make install" copies a lot of gmock and gtest files which I think are really not necessary for the typical user.
So I tried to invoke cmake with "-DWITH_TESTS=OFF", but it looks like that option isn't forwarded to 3rdParty/CANdb (I think that is the submodule responsible for those gtest files).
Any ideas / did I forget an option ?
Thanks!
Hi!
Is there any plan to roll-out support for D-bus interface to be able to more easily communicate with CANdevStudio instance, in a similar way that's made between CANoe and Python, using COM objects on Windows? It would help with automation of some tests using CANdevStudio
I got to understand from the documentation that the signals branch has DBC support .
I managed to compile it and run it .
I am able to see CAN messages , but not able to decode it with .dbc file , can someone please tell me the steps to set it up .
Also , the list down menu while selecting CAN interface , can interface type etc is not appearing .
(I had to manually type in!)
Any pointers as to where to start would be much appreciated .
I am very happy with the tool , i hope this could be a good opensource alternative to expensive closed source softwares such as vector db++ .(Used widely in the automotive industry )
Though some fixing and additional tools would be necessary .
I see the lack of a good GUI CAN tool kind of hindering progress in the Automotive sector , especially since ROS came into picture .
Precondition:
CanDeviceModel::hasSeparateThread() true
Steps to reproduce:
Result:
[2019-10-25 08:30:27.993] [cds-qt] [warning] [@0] QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread
[2019-10-25 08:30:48.407] [cds-qt] [warning] [@0] QSocketNotifier: Invalid socket 26 and type 'Read', disabling...
[2019-10-25 08:30:48.407] [cds-qt] [info] [@0] Server [0x7fffcd8fd380] client disconnected.
[2019-10-25 08:30:48.407] [cds-qt] [warning] [@0] QSocketNotifier: Invalid socket 26 and type 'Read', disabling...
Quick fixes:
delete _device;
_device.deleteLater();
I will prepare pull request when I finish testing.
On a test with using Peak-CAN & SocketCAN driver on linux, the CANRawView shows nothing when CAN-FD messages received.
CAN-FD messages need to be supprted
Only on Windows (32/64bits), it should be easier to select the proper CAN bus plugin/backend by providing a drop-down list of all available CAN bus plugins/backends.
IP address passed to cannelloni app should be address of remote machine (192.168.0.2):
cannelloni -I can0 -R 192.168.0.1 -r 30000 -l 20000
Also CANdevStudio configuration should use socket can as backend and con0 for interface.
Below is patch with those changes:
0001-Fix-Cannelloni-configuration-instruction.patch.tar.gz
Hi,
Thank you for the great work on this tool!
Maybe it is a minor one, but I thought is good to let you know. As the title says, when I load a dbc file that has special symbols like "°C", the tool is not able to load the dbc file.
It took me quite some time to pin point where the issue was. I had special symbols only in the Unit column, so I am not sure about other places like Comment filelds. Once I replaced with "degC" it worked. Maybe, you guys can check why it does that.
I did create a dbc parser/reader myself in .NET you can find it here and I didn't have this issue. But this tool could be different.
I'm using the brand new : CANdevStudio v0.4.0 win32-standalone
Exemple of CAN message id 2047d (0x7FF) :
To be displayed as '0x7FF' only for SFF
To be displayed as '0x000007FF' for EFF
I am using a VM with ubuntu 18 image. I've cloned and rebuilt the latest commit in master branch. I tested with CANraws and CANsignals module. The issue happens when I left the application running through for more than 1 hour, and other apps which are running are hanged as well. The issue only disappears when I close all the apps and restart them.
Hi,
I have CDS 1.0.0. installed on W10, I have problem parsing some .DBC files - I downloaded "ford_cgea1_2_bodycan_2011.dbc" and "ford_cgea1_2_ptcan_2011.dbc" from opendbc https://github.com/commaai/opendbc/ . I can open first file without problem, second one is not parsed and no messages are shown in CanSignalData
Building this on a Pi (Stretch with Qt 5.12.3) seems to complete fine, but executing files/./CANdevStudio.sh it reports:
./CANdevStudio.sh: 15: ./CANdevStudio.sh: /home/pi/CANdevStudio/files/./CANdevStudio: not found
Is there a known compatibility issue between CanDevStudio and the Pi Zero (using a CAN hat)?
Steps to reproduce:
The CanRawSender will now send frames with Id 111 and not Id 112, until "Send" is set to off and then on again.
I had a quick look at the code, and it looks like only NewLineManager::SetSendButtonState() is called on changes to Id, Data etc, but the actual set up of the frame is only done in NewLineManager::SendButtonPressed().
Have a block for triggering UDS commands. Python can be used toghether with https://github.com/pylessard/python-udsoncan
It should be helpful to add to the CanRawFilter component an additional "inverted" output for frames unmatched by any filter.
It could be marked as : ¬x (NOT x, Nx or !x)
`
| case 0:
| // Little endian
| littleEndian = true;
| break;
|
| case 1:
| // Big endian
| littleEndian = false;
| break;
|
| default:
| cds_error("byte order {} not suppoerted", sig.byteOrder);
| continue;
| }
`
here, Intel is Little endian, and byteOrder is 1, Motorola is Big endian and byteOrder is 0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.