Awesome, you seems to have a lot of cool cars too! And now some cool gauges to use in them :)
Awesome, you seems to have a lot of cool cars too! And now some cool gauges to use in them :)
Any updates? I am real interested in this project.
J.B.
I've been working on this is my spare time, which I don't have that much these days with ALDLdroid and stuff. I still made decent progress.
Here is a break down and descriptions of the classes used in the project.
1. Alarms: https://bitbucket.org/SebGiroux/diye....cpp?at=master
At the beginning of this file, you can see an alarm definition for an "AFR Safety". You can see the structure definition of an alarm here: https://bitbucket.org/SebGiroux/diye...ta.h?at=master
Each alarm can show a warning on screen, trigger the buzzer and start data logging.
I like the way the alarms are defined and think it make it easy to read. Eventually, everything will be moved to a software to configure those alarms at run time.
2. Data logging: https://bitbucket.org/SebGiroux/diye....cpp?at=master
The data logging is working well now. It uses the RTC (real time clock) for proper file timestamp. The ECU signature is fetched over the CAN bus and added to the file.
3. Displayable items: https://bitbucket.org/SebGiroux/diye....cpp?at=master
This is the name I gave to the stuff that can be displayed on screen. This will make the configuration of what is displayed on the screen pretty easy. You just can give it some label and the definition of a displayable item tells it how it should be rendered. For example, AFR error is not calculated by the MS. So I need to calculate it on the fly with the AFR and AFR target. I use a callback function that can do that kind of thing.
4. ECU: https://bitbucket.org/SebGiroux/diye....cpp?at=master
Main ECU communications class. For now, this is MS CAN but I might rename the class to say that's what it is and then more class could be defined (ex: ALDL8192Baud, etc.)
5. GPS: https://bitbucket.org/SebGiroux/diye....cpp?at=master
Just a simple GPS class to fetch data from the GPS module
6. Pins: https://bitbucket.org/SebGiroux/diye...ns.h?at=master
Pins definition in a central header file to make it easy to change the hardware
7. Settings: https://bitbucket.org/SebGiroux/diye....cpp?at=master
Helper class to read / write settings to EEPROM. Under construction.
Got some work done this week end. I've working on the PC side of things and now I can fetch the datalogs on the SD card of the Arduino over the USB port. I can also delete them and download them (the hardest part). It's a bit slow right now but increasing the baud rate and some other optimizations should improve that. There is no error checking mechanism as well for now... But it's good progress, I wanted to do that for a while.
Again, the code for all this is committed on bitbucket so feel free to have a look (or even use in your own project ? :)). Hopefully someone is interested by this and I'm not wasting my time writing post on here :D
I don't think you're wasting your time at all. I think when word of this gets round you could actually make some money on this.
1300 views and only 64 posts!
Your not wasting your time and there's loads of interest. But the subject requires a lot of knowledge most of us GearHeads don't have, so how do we converse back?
When you start building? I'll take one for myself!
1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
-= =-
We'll see if I end up finding someone interested to build proper hardware for this thing but this is not something I enjoy doing so it looks like I'm stuck the hardware I have. In the bright side, that hardware works perfect, its just not super pretty in the case, but until I open it, I don't see it :P Otherwise the hardware can be DIY with the current list I have pretty easily. It's really not that hard. After that, the firmware can be used as is, you just need to write a class to talk to whatever ECU you're running, really not that hard either!
Any specific technical questions about the project guys, just ask :)
Wish I could think clearly right now and I'd be all over this! But the health situation really slows me down.
I do promise you a sticky in the writeup section when done so others who are intrested will have the information we all need!
So no! Your not wasting time at all! This is way cool stuff!
1990 Chevy Suburban 5.7L Auto ECM 1227747 $42!
1998 Chevy Silverado 5.7L Vortec 0411 Swap to RoadRunner!
-= =-
Might as well add the option for histogram page, that will display an histogram of whatever value you want. It's a pretty basic one but it scroll very smoothly, looks pretty decent.
Histogram class is here: https://bitbucket.org/SebGiroux/diye....cpp?at=master
I'm not sure I'd actually use a histogram on my dash, but it's cool.
Last edited by Six_Shooter; 01-19-2014 at 01:27 AM.
The man who says something is impossible, is usually interrupted by the man doing it.
I agree that its mostly useless. I think I might use it when tuning idle, to see how stable AFR is... or maybe RPM ? We'll see. It might turns out being totally useless. Cool factor is at least one thing :P
But in the end it doesn't really matter, everything can be configured so I can replace that histogram by just 3 basic read out values... or a 1/4 mile widget or whatever else :D I'm mostly just coding all the idea I have in mind for pages.
3400tZ,
You need to check out this new $20 piece of hardware:
http://www.indiegogo.com/projects/na...-gnss-receiver
TECHNICAL SPECIFICATION:
GENERAL SPECS
· Support Arduino IDE (custom integration of Wiring libraries, Windows platform)
· GPS on board
· Breadboard compatible
· 38mm x 18mm size
HARDWARE SPECS
· 100MHz 32bit LEON3 Sparc-V8 + IEEE-754 Compliant FPU
· 1024KB Flash Memory + 212KB RAM
· ~80uA/MHz @ 3.3V
· Powered and programmed by mini USB connector
· 1 full duplex asynchronous UART
· 1 asynchronous UART transmit
· 2 SPI with master/slave mode configurable
· 1 I2C
· 1 24bit PWM
· 17 digital I/O pins (shared with above functional pins)
· Atomic clock synchronized P1PPS time reference with +/-10nsec accuracy
Good stuff Mike. This looks a lot like a teensy with a bit more powerful hardware.
Actually guys, I have some real hardware planned for this project now. Found a really really good hardware guys that is currently working on some more serious hardware (I've already seen the schematic / boards stuff, it looks awesome). Everything would fit in the gauge (the case you sent me Mike, I have to order a few more this week). It will have the hardware to do both CAN and RS232 (so ALDL) and will be able to do OBD2 as well with an extra ELM327 chip added. Code will still be Arduino based, so its going to be easy to manage.
On the firmware side, its progressing really good as well, I should have updates in a near future.
Love reading these forums. Some of you guys are friggen geniuses. I wish I could wrap my head around this stuff but TBI ( tramatic brain injury) stops me from gathering the information and applying it.
If you get to the point of selling it, please let me know.
Some screenshots of the desktop side of thing as well as features description and what is coming here: https://bitbucket.org/SebGiroux/diyecmgauge/wiki/Home
Bookmarks