Giter Site home page Giter Site logo

whitfijs-jw / volvo240-digitaldash Goto Github PK

View Code? Open in Web Editor NEW
37.0 4.0 5.0 231.33 MB

Volvo 240 Digital Dash Project. It's not much, but its honest work.

License: MIT License

Makefile 63.14% Arc 0.06% Shell 5.87% Tcl 0.19% Batchfile 0.31% Forth 0.03% HTML 5.53% CSS 0.13% JavaScript 0.06% M4 0.06% Lua 0.23% C 7.70% C++ 6.74% Dockerfile 0.03% Perl 0.81% Lex 0.11% Yacc 0.29% CMake 0.07% Python 8.58% Java 0.05%
volvo raspberry-pi qtquick embedded-linux buildroot

volvo240-digitaldash's People

Contributors

volumetrix avatar whitfijs-jw avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

volvo240-digitaldash's Issues

Pi Zero Support

Work on Pi Zero/Zero 2 support for a linux image along with the Pi3 and Pi4 images that are currently setup

Late 70's/Early 80's 240 dash connector support

Late 70's/Early 80's dash connectors are physically similar to the late 80's connectors for which this was designed to support. There should at least be some documentation on how a patch harness should be wired to work with the existing connections on the board.

As a part of this effort it's probably worthwhile to make an untested/unconfirmed section of the readme:

  • VSS passthrough to the ECU on LH2.4/3.1 cars
  • Anything to do with ABS/SRS on early 90's 2.4/3.1 cars
  • Manual or automatic OD indicators (only tested with an M47)
  • Probably a lot more

Eigen moved or deleted

Describe the bug
The folder declared for eigen pointer has either been moved or deleted, needed to manually download eigen package and put into that folder

Should be an easy fix

Buildroot qt5 fails to build with gcc-11

gcc-11 and a I'm assuming 12 fail to build qt5. Immediate alternative is to use gcc-10 or below. Will need to look into the buildroot upstream to see how this is being handled.

ADC voltage calculation incorrect

In adc.h:

/* 5V inputs go through voltage divider for 3.3V ADC inputs -- not quite 100% */
static constexpr double REFERENCE_VOLTAGE_DIVIDER = (15.0e3 / (15.0e3 + 8.2e3));
static constexpr double INPUT_VOLTAGE_DIVIDER = (15.0e3 / (15.0e3 + 8.2e3));
static constexpr double VOLTAGE_CONVERSION_CORRECTION_FACTOR = 3.3 / (INPUT_VOLTAGE_DIVIDER * 5.0); 

farther down:

    /**
     * @brief Read scaled ADC value
     * @param channel: adc channel to read
     * @return current measured voltage
     */
    double readValue(int channel, double vRef = -1) {
        double volts = ((double)readRawValue(channel) / (double)mMaxVal);

        if (vRef < 0) {
            updateReference();
            return volts * mVref * VOLTAGE_CONVERSION_CORRECTION_FACTOR;
        } else {
            return volts * vRef;
        }
    }

Not sure what happened but the multiplication by mVref and division by 5.0 are superfluous and introduce a small error.

Input power protection is missing + 12V dash light input protection is suspect

Switched 12V from VSS connector to power supply is unprotected from reverse polarity and load dump.
Options:
- Big (5-7kW) unidirectional TVS diode to to cover both situations. Main goal is to limit load dump voltage spike to be within the voltage range of the power and other inputs. (https://www.littelfuse.com/~/media/electronics/datasheets/tvs_diodes/littelfuse_tvs_diode_sld8s_datasheet.pdf.pdf)
- Bidirectional TVS diode for load dump and schottky diode for reverse voltage protection.

12V input protection is a little more open ended.

Multiple screens + touch screen control (for smaller side screen)

Replace the cap-touch board with a 5" capacitive touch screen -- would only work with dual HDMI output rpi4.

todo:

  • get EGLFS up and running on multiple screens (json?)
  • create new layouts for accessory screen
  • add support for side screen touch controller
  • add touch controls to side screen for main display (left, right, reset trip, etc)
  • (nice to have) possibly change accessory gauge style based on current main display style

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.