bitplan / can4eve Goto Github PK
View Code? Open in Web Editor NEWCAN OBDII analysis for electric vehicles
Home Page: http://can4eve.bitplan.com
License: Apache License 2.0
CAN OBDII analysis for electric vehicles
Home Page: http://can4eve.bitplan.com
License: Apache License 2.0
Hello
I'm trying to use this software to get a report about my i-Miew.
According to the docs and reading some of the code, I thought this syntax should be correct:
java -jar can4eve.jar --conn /dev/ttyUSB0 --baud 500000 --report report.csv
but i get the output
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/event/EventHandler at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:473) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:473) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at com.bitplan.obdii.OBDMain.work(OBDMain.java:391) at com.bitplan.javafx.Main.maininstance(Main.java:144) at com.bitplan.obdii.OBDMain.main(OBDMain.java:439) Caused by: java.lang.ClassNotFoundException: javafx.event.EventHandler at java.net.URLClassLoader.findClass(URLClassLoader.java:387) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ... 27 more
(I'm not that familiar with Java.)
Just running
java -jar can4eve.jar -h
works fine, I get the help text.
My environment is Ubuntu 22.04, openjdk-8-jdk and an OBDLink SX.
I suspect I just got the parameters wrong.
Please let me know if you have any tips or answers :)
For #2 this is described in http://www.myoutlanderphev.com/forum/viewtopic.php?f=10&t=1796
example:
ATZ
OK
ATH1
OK
ATSP6
OK
ATFCSH761
OK
ATFCSD300000
OK
ATFCSM1
OK
ATFCSH761
OK
ATSH761
OK
2101
762 10 2E 61 01 D2 D2 01 90
762 21 00 01 8F 4A 0C D0 4E
75A 03 E8 03 E8 64 64 46 45
762 22 02 4B 0C 01 5E 01 5D
762 23 01 2C 00 FA 00 FA 10
762 24 0F 0F 01 BF 01 BF 28
762 25 FE 00 00 01 8F 78 7C
762 26 64 00 01 00 00 00 00
75A 03 E8 03 E8 64 64 46 45
Electric vehicles will hopefully have a major market share in the near future.
As of today quite a few of the electric vehicles on the market have no or inadequate in-car applications. Remote functionality is more often than not limited or lacking.
To get the most ouf of their cars users have to resort to third party software that might be
can4eve intends to offer a solution that is
The functionality of the project shall be driven by the user needs and not so much by technical aspects. You are invited to raise your voice by adding issues to this project.
On Raspbian Buster OpenJDK 11 is installed by default.
Even after installing Open JDK 8
the message :
WARNING: Error java.lang.RuntimeException:java.lang.UnsatisfiedLinkError: com.sun.glass.ui.gtk.GtkApplication._isDisplayValid()Z
appears in the log.
https://stackoverflow.com/questions/53744923/java-lang-unsatisfiedlinkerror-com-sun-glass-ui-gtk-gtkapplication-isdisplayva discusses this issue.
A workaround is to uninstall libopenfjx-jni
sudo apt-get remove libopenjfx-jni
Exception in thread "JavaFX Application Thread" java.lang.OutOfMemoryError: Java heap space
at java.util.HashMap.newNode(HashMap.java:1734)
at java.util.HashMap.putVal(HashMap.java:630)
at java.util.HashMap.put(HashMap.java:611)
at java.util.HashSet.add(HashSet.java:219)
at java.util.AbstractCollection.addAll(AbstractCollection.java:344)
at java.util.HashSet.<init>(HashSet.java:119)
at javafx.scene.chart.XYChart$Series$1.onChanged(XYChart.java:1457)
The system should
in preparation of #9 allow to manually restart the OBD connection (essentially combining the OBD/halt and OBD start with log menu clicks. Count the number of restarts and display it.
Can4eve shall have support for the triple group of cars that share a common set of OBDII-Pids.
This group of cars does not have an in-car software supplied by the manufacturer.
The OBDII pids as outlined in http://cantriplet.bitplan.com/ shall be supported.
More often than not the frames per second rate will drop to zero due to some communication issue with the OBD adapter.
In this case manually restarting the connection often helps.
An enhancement would be to automate this but keep track of the number of restarts (see tracking the number of buffer overruns).
#!/bin/bash
sudo chmod 0664 /sys/class/backlight/rpi_backlight/brightness
sudo chown root.pi /sys/class/backlight/rpi_backlight/brightness
if [ $# != 1 ]; then
echo "USAGE: $0 brightness_level (0 to 255)"
exit 1
fi
level=$1
#echo "level given is $level"
if [[ $level -ge 0 && $level -le 255 ]]; then
#echo "level given is $level"
echo $level > /sys/class/backlight/rpi_backlight/brightness
echo "Screen brightness set to $level."
exit 0
else
echo "Brightness level $level is out of range! (0 to 255 only)"
exit 1
fi
It should be possible to switch the screen to "night mode" - making sure that the display is not being to bright.
see e.g.
https://stackoverflow.com/questions/49159286/make-a-dark-mode-with-javafx
It would be nice to switch on this mode when it get dark:
Since both options need some configuration the mode will be available on the push of a button for the time being.
When the can4eve is started the tab should be shown that was active when it was last switched off.
Hey,
I tried your code obdtest.py
But I get the error above.
screen /dev/rfcomm0
and manual input everything works but somehow your code throws this error.
Anyone the same problem?
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.