Pontiac Solstice Forum banner

41 - 60 of 62 Posts

·
Registered
Joined
·
318 Posts
Discussion Starter #41
With the solstice there is only the low speed available at the cluster. for a "plug and play" solution I would need to plug into the connector for the gauges Something is going to have to be plugged into the connector because the data lines need to be jumpered together in order to complete the circuit between all of the available modules. It might be easier for me to locate the extended PIDS for the Solstice then to reverse engineer the HSCAN. The issue with reverse engineering is not so much a problem of isolating the correct frames as it is decoding the payload in the frame.

Here is an example of what the equation is to decode the payload of a simple OBDII packet on the low speed CAN

mode: 0x01
pid: 0x24
payload length: 4 bytes
description: O2S1_WR_lambda(1), Equivalence Ratio Voltage
min value: 00
max value: 28
units: λ, V
equation: ((byte_1 * 256) + byte_2) / 32768, ((byte_3 * 256) + byte_4) / 8192

Without knowing how to decode the data there is no way to be able to display it to the user. It would be extremely difficult to be able to reverse engineer some of the equations.
 

·
Registered
Joined
·
7 Posts
With the solstice there is only the low speed available at the cluster. for a "plug and play" solution I would need to plug into the connector for the gauges Something is going to have to be plugged into the connector because the data lines need to be jumpered together in order to complete the circuit between all of the available modules. It might be easier for me to locate the extended PIDS for the Solstice then to reverse engineer the HSCAN. The issue with reverse engineering is not so much a problem of isolating the correct frames as it is decoding the payload in the frame.

Here is an example of what the equation is to decode the payload of a simple OBDII packet on the low speed CAN

mode: 0x01
pid: 0x24
payload length: 4 bytes
description: O2S1_WR_lambda(1), Equivalence Ratio Voltage
min value: 00
max value: 28
units: λ, V
equation: ((byte_1 * 256) + byte_2) / 32768, ((byte_3 * 256) + byte_4) / 8192

Without knowing how to decode the data there is no way to be able to display it to the user. It would be extremely difficult to be able to reverse engineer some of the equations.
On a 2006 solstice the IPC in on a single wire low speed can and it runs to a splice pack. I wouldn't think you would need to jumper it out but you may need to simulate it on the bus so the other modules don't report a fault for missing IPC.

I have decoded and utilize most of the GM and Mopar High speed can messages. Im not a engineer or computer guy per say. You guys are smarter than me so Im sure you guys can figure it out as well. Just takes a lot of time reverse engineering.
 

·
Registered
Joined
·
318 Posts
Discussion Starter #43
I got a DOA can interface!!! BLAH!!!

So i did some work on the GUI instead. A second value indicator can now be added to a gauge. This would be used for a gauge like boost pressure where you can have an indicator to show the boost demand.
I also added in marking the maximum value achieved.
 

·
Registered
Joined
·
318 Posts
Discussion Starter #44
GM changes what they do as far as any CAN messages go from year to year within the same model. So unless you have expressly reverse engineered the Solstice there is a high probability the message will not be the same. I won't know until I get an interface that actually works..
 

·
Registered
Joined
·
7 Posts
GM changes what they do as far as any CAN messages go from year to year within the same model. So unless you have expressly reverse engineered the Solstice there is a high probability the message will not be the same. I won't know until I get an interface that actually works..
GM seems to have kept the messages pretty much the same across the board from what I can tell. There are some differences but all the ones that I have dug into from 2007-2015 have been pretty consistent for the main messages that you would need.

I use a PCAN-USB adapter and either a free version of Pcanview or Pcan Explorer. PCAN - USB

Another one that seems to work well and will display different colors when a value changes is ValueCan3
 

·
Registered
Joined
·
318 Posts
Discussion Starter #47
And here is some more progress...

I still have to iron out some GUI bugs but all in all it is looking pretty decent. I have to get the performance up some.
What you are seeing is loaded actual data from my car. I am parsing an HPTuners log file that has been exported to CSV. I am now testing with real data. I have to tinker with the sample times in HP tuners to get better data population this is causing the jumping in the gauges.
109829


The boost is absolute boost pressure so barometric pressure has not been subtracted out at all, hence the reason why it is sitting at 11psi.
You can see the teal colored bars, those are the max recorded levels. The additional blue bar in the boost gauge is the boost demand, you can see that I have some bugs to sort out with that needle.

I also demonstrate how the gauges can be set to run in different directions and also how the numbers can also be rotated so they will appear upside right. You can just make out the upside down temp on the far right gauge. so even the gauge identifiers can also be flipped.
 

·
Registered
Joined
·
318 Posts
Discussion Starter #48
The missing red block in the loading progress bar is actually there. this is a screen capture to gif anomaly.
The load you are seeing only happens after loading a brand new XML file. It is building the set of images the program uses to render the gauges. When it is building the files for the first time it is the slowest it will ever take loading. I do not think it is too bad a load time considering it is rendering 528 images and then saving them to disk.

I will post an example of the load times when it is loading the files from the disk in the near future.
 

·
Registered
Joined
·
318 Posts
Discussion Starter #49
OK couple more things fixed.

Got the opening animation to not scale incorrectly.
I moved the speed and rpm digit readouts so they don't cover the logo.
I started work on smoothing the incoming data so the gauge is less jumpy, I still need to do more work on this.
I fixed the secondary gauge for the boost demand and also an issue with the peak indicator.

This is also going to show the load time of the gauges without having to create the files. This would be the normal startup speed of the program.
109830


as usual color anomalies are from the screen recorder.

Does anyone know if I can add an mp4 as at inline attachment in a forum post?
 

·
Registered
Joined
·
3,518 Posts
I have to tinker with the sample times in HP tuners to get better data population this is causing the jumping in the gauges.
Isn't that due to amount of pids that you're logging? More pids = lower sample rate? Will the digital cluster work the same?
Doesn't look like you can attach mp4 files here, need to upload to youtube or something.
 

·
Registered
Joined
·
318 Posts
Discussion Starter #51
in HPT in the channel config if you right click on a channel (PID) there is a menu option of Poll Interval. This is how fast HPT Scanner will query the car for an update. The Low speed GM Bus moves along at 33,000 bits per second. a request is typically 32 bits long and a response can be upwards of 64 bits. totaling 96 bits. so in theory the bus is able to handle 343 requests and replies a second or one every 3 milliseconds (0.003 seconds). A user is going to have the ability to set the polling rate to what they feel is important to them. I will set it up so that when the combined polling rate of all gauges is to close to the threshold of maxing out the bus a warning will take place.
 

·
Registered
Joined
·
318 Posts
Discussion Starter #52
I am also going to compile this code into C code using Cython. This should give a speed boost of close to 200 times faster then what it is currently running at..
 

·
Registered
Joined
·
318 Posts
Discussion Starter #53
OK Here is a more complete cluster.

I have dialed in the performance.. YAY!!
Fixed a few bugs with the "needle" being incorrectly rendered. It wasn't a correct arc.
Fixed the marker ring to marker text spacing
Fixed the curved text spacing
Added a slew more gauges to the demo.

This is the initial startup where it has to build all of the image files. Again, this only runs the first time the XML is loaded So this is going to be the slowest load time.

109838



Here is what the load time is going to be after the initial load
109839



This demo is using the data that was acquired from my vehicle. What you see is how the gauges are going to perform at a minimum. I added all kinds of smoothing to the data coming in so that the needles wouldn't make huge jumps due to the possibility of a lag in data being sent by the vehicle. so if a sample of the RPM is taken and it is say 600. then another sample is taken but the vehicle takes a bit to respond and that response has a value of 1200 the program will fill in the gap.

It is really coming along nice. I am going to code in the horizontal and vertical bars which will be crazy simple compared to rendering around an arc. I am also gong to add in some "fluff" like loading icons, loading background images and rendering radial gradients. Then I am going to move onto the menu system, This is going to be a crazy complex portion because I would like the menu to be displayed where the dum dum lights are.

I am going to do some research to see what I am able to locate on a birds eye view backup camera system that I can interface with. I also need to locate a backup sensor system that reports range.

Once I get the GUI finished up I will be ordering the hardware that I am going to use.

These are the things I need to locate.
Industrial PC, at least 4 core 2.0GHZ with at least 8GB of RAM and an SSD drive.
CAN/USB adapter, need one that is able to handle extreme temperatures. -40F to +140F
14" 16:9 screen with HDMI
Backup camera system that has the birds eye view feature. It has to be something I can interface with and control.
Backup Sensors, a system that again has the ability to be controlled programmatically, I would really love to have distance reported. front and back in a single system.
Wired microphone for hands free calling. I am going to have to learn how to access a phone over blueteeth

Might be able to locate an industrial PC that has the CAN interface already built into the thing. Have to do some looking about.
 

·
Registered
Joined
·
318 Posts
Discussion Starter #55
an industrial PC is small. It is built to handle extreme temperatures. So the thing will operate without an issue inside of a hot car. They also go not have fans in them. This keeps the dust out of the thing.

I located the PC It's size is 5" wide x 6" long x 1.5" tall. because it is so small I should be able to attach it and the screen together and it should fit into the stock location without an issue.
I also located the CAN interface I am going to use.
I located a power supply that will detect ignition and outputs wake commands via USB to the PC. It also provides the 12V regulated voltage needed to power the PC.
Have a HUD that I am going to use s well as the power supply for that and a USB to I2C adapter to interface with the thing.

I am also going to be able to code up a birds eye view from the video feed from 4 cameras using openCV.
I am still working on the parking sensor system.
I still have to tackle the screen to use for the gauges bit it shouldn't be a big deal. I already know what the connector is that will plug into the OE gauge connector.
Going to need to use some kind of a micro controller to handle the PRNDL indicators for the folks that have automatics.

This is defiantly something that can be done.

If I do decide to sell this then it will be broken apart into components. So the cluster would come with the PC and the screen. That would be the core system. The add ons would be the HUD, parking sensors and the camera system.
 

·
Registered
Joined
·
3,518 Posts
I located the PC It's size is 5" wide x 6" long x 1.5" tall. because it is so small I should be able to attach it and the screen together and it should fit into the stock location without an issue.
I also located the CAN interface I am going to use.
Intel nuc? Do tell.

I am also going to be able to code up a birds eye view from the video feed from 4 cameras using openCV.
Omg i cant wait, this will bring the car's gauge cluster up to par with today's latest cars.
Where will the side camera's attach to? Side mirrors or near that pontiac logo on the side fenders?
 

·
Registered
Joined
·
318 Posts
Discussion Starter #57
mounting it near the chicklet would be to low and also make it prone to getting dirty. The mirror is going to be the best location but need to come up with a way to not make it crappy looking. I would have to use a vacuum forming machine to make a mount that can attach to the bottom of the mirror. May as well add in the fancy LED turn signals onto the mirrors while I am there..

I want to be able to use the camera for also viewing down the side of the car to the back, for lane changing. The Solstice does have one hell of a blind spot. Since the cameras are going to need to be fish eye cameras with a 180 degree viewing angle any images wanting to be viewed from them are going to have to be processed to remove the fish eye appearance from them.

Now this is a real kick.. I can also add a steering wheel angle sensor!!!! so if you want the fancy lines that will show where the car is going to go and the lines will arc based on turn direction and also how sharp the steering wheel is turned. This also opens up the possibility of adding active headlamps using stepper motors.
 

·
Registered
Joined
·
3,518 Posts
mounting it near the chicklet would be to low and also make it prone to getting dirty.
Not the chiclet, the pontiac logo above the chiclet.

Now this is a real kick.. I can also add a steering wheel angle sensor!!!! so if you want the fancy lines that will show where the car is going to go and the lines will arc based on turn direction and also how sharp the steering wheel is turned. This also opens up the possibility of adding active headlamps using stepper motors.
Wow... i mean i'm not redoing my hid projectors again but the possibilities seem endless here. Add a stepper motor to the steering wheel and you can use the side camera's to keep track of the pavement markings and turn it into a self driving car 😁
One thing at a time, feature creep will mean you won't be done with this until 2025.
 

·
Registered
Joined
·
318 Posts
Discussion Starter #59
If I do release this thing, It is never going to be done. I am thinking about all of thew things that new cars have that old ones do not. And why do people typically buy a new vehicle? To get all of the new gizmos and gadgets associated with a new car. This is nothing out there that is currently offered that is going to be able to do what this kind of a system can do. It is adding a second BCM to the vehicle to offer the things that are not available.

The steering angle sensor is something that would be extremely easy to add to the system. It is basically a string wound around a spring loaded spool and is attached to a potentiometer. This mounts next to the steering column and the string attaches to the part of the column that turns. pass a voltage into the thing and measure the voltage coming out. The voltage coming out is going to vary based on how much string is wound out of it. Apply some math and you can determine the angle of the tires couple that to the wheel base and the distance between the hubs on the front and rear wheels and you can now calculate a path of travel. This is how it is done on new vehicles that have the backup cameras that show the path of the vehicle.

I also want to tie in the sensors so that when viewing the backup camera it will highlight or frame out objects that are in the path.

Here is another added bonus.. Can anyone say vehicle security??? security camera DVR...

These are all things that can be done. I will build the gauges first and get them functional. then start working on the add-ons

The PC is not anything of any great Hype. Intel NUC is not suitable to be in the environment of a vehicle. What I have locted has an Intel Celery Processor with 4 cores @ 2.0ghz, 8GB of RAM, 64GB SSD, 4K HDMI and 4 USB's. It looks like a 50 watt 2 channel car amplifier.
 
41 - 60 of 62 Posts
Top