Git Product home page Git Product logo

can4eve's People

Contributors

wolfgangfahl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

can4eve's Issues

restart button

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.

Create simple vehicle report

The system should

  1. try to connect to the vehicle via the specified OBDII device connection
  2. try to read the VIN according to the specified vehicle group
  3. create a report according to the specified OBD-II parametes of the the vehicle group e.g. ODO, SOC, Battery Capacity readable with a calculation program (csv format)

Night/Dark mode

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:

  • e.g. by using the cars sensor for darkness
  • e.g. by comparing the current time to the sunset/sunrise time and switching approapriately.

Since both options need some configuration the mode will be available on the push of a button for the time being.

On Raspberry PI with official touch allow setting brightness and use in dark mode

#!/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

fix potential memory leak

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)

Vehicle independent open source in-car/remote application for electric vehicles

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

  • closed source
  • limited to their vehicles

can4eve intends to offer a solution that is

  • open source
  • open for different vehicles

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.

autorestart when fps drops to zero

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).

remember selected tab

When the can4eve is started the tab should be shown that was active when it was last switched off.

Installation and Display on Raspian Buster

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

Still the display is not showing correctly
grafik

Help with usage

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 :)

Read and show Battery capacity

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.