Well, While still waiting on the boards to arrive, I’ve been starting to focus on mounting everything in the pit. The Indexers are the most complex items – and will probably require some 3d printing – however, my initial design of PCB for them is not correct in dimensions, as “Redneck” for ViperPits have shown. I’ve been working with him on a new improved design to fit a 3D printed model he is working on.. So that will be covered once I order the new PCBs – but till then, I’ll focus on the rest.
Next up is the DED box which will be covered in this post
I’ve been adding some “behind the scenes” features which are not directly related to the functionality. I’ve also been trying to polish up the UI, making it as simple as possible as I can while keeping it clear to the user. I still have some bug squashing to do and a lot of code documentation to be done. But the app is pretty much ready to roll out.
I’ve been Working on some way to streamline performance as much as I could. The biggest performance limiter, is the drawing of the big screens (DED/PFD),
One of the tricks I’ve thought might help was to switch the display from 2 bit color mode to 1 bit (4 shades of “grayscale” to only “black and white”) theoretically – a 100% boost, it practice I have discovered I had a bug in the code all along. Apparently U8Glib has a switch to handle displays bigger then 240pixels, I’ve known about it but as long as I’ve been using the grayscale mode, I’ve been unaware of it (because the part that didn’t work was black). once I’ve switched to BW mode – it lit up casing stripes on the screen.
To fix this, and simply basic installation, I thought about including the entire U8Glib library, with the required change in the folder. Unfortunatly, the Arduino IDE does not allow this, So I’ll be including a ZIP file with the modified library for easy import into the IDE.
I’ve also found out that my plan to flip the DED display (to allow better weight distribution in the case) is a very bad idea as putting in “rotate 180” on the screen almost halfs the FPS.
I’ll be working on this some more till the PCBs arrive – but I think this is pretty much the limit as far as my ability to optimize the code to improve refresh rate.
I’ve had some time this week to finish up soldering the caution panel and control board, wiring the control board was a bit tricky, the control panel is reversed compared to the caution panel itself, and then I need to wire the whole thing backwards, which flips it again…
After finishing up the Caution panel, I’ve started by soldering the Shift registers outputs to the connectors
Once this is done, I started wiring the chips themselves,
Each chip needs to have 5V, GND, CLK and LATCH, OE (Output Enable) tied low RES pulled high. And all of them need to have Serial Data chained in the correct order between all the chips. and of course tie everything into the correct position on the connector – (hoping not to mess things up).
I’ve used my control PCB eagle board design as reference with the schematics – I still hope I haven’t messed up too badly – But I’ll only know that when the boards will come in from china.
I’ve been getting some PMs on Viperpits from folks interested in some configuration or another. some what the FFI, others DED, FFI and PFL.
So I’ve decided to use the time till the PCBs arrive and test expected performance
I’ve opted to use my Arduino uno as he is the weakest one (the Micro has half a KB more RAM and a self adjusting serial communication, and the due – well, should be different ball game entirely…). If performance would be Acceptable on the Uno, it will be on every other device too.
I was too last night tired to finish the caution panel (control board wiring is still not done) – so I took the challange and played around with the code – trying to make code changes easier and more coherent and of course fine tune the performance.
This is a step along the way.
Redneck, this one is for you 😉
I’ve been contacted by “MrWell”, a BMS/ViperPits community member, to help him out with the FuelFlow Indicator after seeing my initial posts few weeks ago.
So I took some time to try and optimize the code to arduino Uno (Which I’ve planned on doing anyways) and Help a fellow nut by giving him to test out some experimental code. this is not a “numbered episode” but it’s related 🙂