I'm pretty much done we could call this a pre-release but it's pretty much ready to go so here:
http://speedo.mazdatweaks.win
The controls go like this:
Select - cycle through the 3 value sets
Tilt up - toggle mpg & km/h
Tilt right - toggle km/L & L/100km (only in km/h mode)
Tilt left - toggle background
and if you have the desire to customize where each value is located I made it easy enough so here is how you do that:
open the file /config/speedometer/jci/gui/apps/_speedometer/templates/SpeedoMeter/js/SpeedoMeterTmplt.js
open that file and you will see some code, don't be afraid it's mostly harmless. now go down to line 83 and you will see some things like this
Code:
' <fieldset id="engineSpeedFieldSet" class="[I]vehDataMain pos4[/I]">' +
' <legend class="vehDataLegends">Engine Speed</legend>' +
' <div class="engineSpeedValue">0</div>' +
' </fieldset>' +
' <fieldset id="tripTimeFieldSet" class="[I]vehDataBar1 pos1[/I]">'+
' <legend class="vehDataLegends">Drive Time</legend>'+
' <div class="tripTimeValue">0:00</div>'+
' </fieldset>'+
So
you dont have to move any of the lines around all you need to do is change the numbers in the "class" field of the fieldset tag.
So only change what is in quotes after class=
vehDataMain puts the value in the right side column
pos1 - pos4 are the 4 values going top to bottom
vehDataBar1 - vehDataBar3 will put the value in one of the 3 groups on the bottom row. When you open the speedometer it will always start with
#1
pos1 - pos5 is each value going left to right on the bottom row - if you name 2 the same row and position they will both be there and overlap each other.
so just for some clear examples vehDataBar1 pos1 is the first row all the way to the left and vehDataBar3 pos5 is the 3rd row all the way to the right
vehDataMain pos1 is the top of the right column vehDataMain pos4 is at the bottom. the only tricky thing may be moving something to or from the bottom bar and side column. That's why you can just replace vehDataBar with vehDataMain or vice versa to accomplish that. The values in the code are in the same order as they appear in the app except for one to remind you you don't have to move anything you can just change the numbers.
One more thing is you can put "hidden" in the class field to hide a value as well and it doesn't matter what else is in there you can leave the position as a placeholder.
If you go and do this yourself you will find 2 hidden values but you probably want to keep it limited to 20 things.
I hope that is easy enough instructions for anyone who wants to do it oh yea and I optimized the hell out of this code improving the performance by a crazy amount. The data collection process used to be actually 6 processes each making their own websocket connection. While adding all the extra data reading I narrowed that down to just 2 collecting all the data. Now you would think that would make it 3 times faster but it actually makes it 2 to the power of 3 times faster.