GregsGarage wrote:The program download to the slaves requires the power to be off because of the slower clock timing that we have set. If you under or overclock the chips then the download software won't be able to communicate to it. By connecting the power after starting the download you catch the chip before the clock speed changes.
One feature I would like would be the mph to be larger, say over 2 lines if possible. I am thinking of mounting the master display as a replacement for my speedo. Am I correct in thinking the mileage info is saved even if the master is reset or powered off.
Greg. Welcome back, can we have a sitrep with your setup when you get a chance. Have the cells died whilst you have been away etc!!!
I don't get the download issue on my slaves running at 8mhz.
The SV2000 video chip can't do double size characters on it's own ASFAIK.
I think someone would have to hard code something that looked like big numerals that we could call. You might be able to do something in the Master software but the display routines are memory intensive. What dimensions are normal characters? How are they made up?
If we imagine a subroutine which prints the big character below
serout Video,Baud9600,(27,83,X,0," ***")
serout Video,Baud9600,(27,83,X,1,"* *")
serout Video,Baud9600,(27,83,X,2,"* *")
serout Video,Baud9600,(27,83,X,3,"* *")
serout Video,Baud9600,(27,83,X,4," ***")
Note this does not appear correctly on the Forum
![Rolling Eyes :roll:](./images/smilies/icon_rolleyes.gif)
But it does look like a big Zero and is 5x5.
You get something that looks a bit like a "0" if you then command the Master software to display those strings at a set cursor horizontal position (That's the number X) you could simulate a larger character. So we need someone to make up the characters 0-9 something like that. You want to be able to get a minium of two large characters side by side, and you would probably want some other info at bottom of screen. So remember total display area is 16chr x 9lines. I sugest use 5 wide and 5 high max (25 bytes) per character to see how that goes. Does that make sense? Good over to you!!
Further thoughts. If you look at the start of the Master program there is a 256 byte eprom table, I've used a few lines of it but it may be possible to store the BIG characters in this area, and then the routine to display them could be much smaller. If we define our characters as 5x4 (20bytes) then we could fit the numbers 0-9 in 200 bytes
Now I'm not sure how readable they would be but it's an idea. I could move the data out of there if needed. 5x5 characters would consume 250 bytes so that's as big as they could be if we use that method.
A for/next loop could retreive the charcaters from the eprom and build them on the screen. So we need a few characters to play with in various formats (Height/width) upto a max of 25 bytes per large character. Back to you again
The Mileage (miles) and Distance (feet) info is stored in eprom every time a mile rolls over, and is saved during a reset/power off. However the eprom is cleared during program download, so you must note the reading beforehand and edit the Software you are about to upload so it contains the old reading in the below line. If you want to keep it that is. The Master software checks the eprom stored value every time it runs, and if it = 0 then it loads the value in the line below as the starting number.
After you have run the new software once and the mileage has been written to the eprom then this number is ignored, as the stored eprom value no longer = 0.
"symbol OdoMeter = 0 ;Initial OdoMeter setting, used to set eprom saved Odo to this reading (Used if program updated)"
Edit
OK I cleared out the eprom table so here it is below. Now have a go at designing some larger charachters that fit the specs 5x5 and fit into the table space.
`*** Program Eprom Data Storage 0-255 bytes used for large LCD numbers 0-9 ***
TABLE 0,24 (" *** * ** ** * *** ");Store (0 Zero)
TABLE 25,49 (" ");Store data in eprom table (1)
TABLE 50,74 (" ");Store data in eprom table (2)
TABLE 75,99 (" ");Store data in eprom table (3)
TABLE 100,124 (" ");Store data in eprom table (4)
TABLE 125,149 (" ");Store data in eprom table (5)
TABLE 150,174 (" ");Store data in eprom table (6)
TABLE 175,199 (" ");Store data in eprom table (7)
TABLE 200,224 (" ");Store data in eprom table (8)
TABLE 225,249 (" ");Store data in eprom table (9)
The top one should produce a zero
![Wink :wink:](./images/smilies/icon_wink.gif)
The display routine will chop the table entry for 0 into 5 byte chunks and display them one underneath the other on the screen to build the character.
Someone else have a go at building the other numbers please.