Large numerals with TV_WText
AGCB
Posts: 344
in Propeller 1
As part of a home built ATV project I'd like to install a 'GLASS PANEL". Something like the instrument panel on newer cars. This would have several temperature readouts, a numeral style clock and multiple other info displayed. What I'm now trying to do is put the digital speedometer in the center of the screen but in large digits. I've figured out how to display the large digits using TV_WText windows but am hoping there is a way to maybe put the 10 digits in a DAT block so they could be displayed as needed and easily called with a minimum of code. I pretty sure this is easily done but at the moment I am stumped as to how to go about it. I haven't use DAT memory for any but simple strings etc.
Here is what I've come up with to display a big numeral 2. Only 9 digits to go but how to make it easy I don't know.
Thanks
Aaron
Here is what I've come up with to display a big numeral 2. Only 9 digits to go but how to make it easy I don't know.
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000
basepin = 0
CLS = $00 'clear screen
HOME = $01 'home
CRSRXY = $02 'set X, Y position (X, Y follow)
CRSRLF = $03 'cursor left
CRSRRT = $04 'cursor right
CRSRUP = $05 'cursor up
CRSRDN = $06 'cursor dn
USECLR = $07 'use color C (C follows)
BS = $08 'backspace
TAB = $09 'tab (8 spaces per)
LF = $0A 'linefeed
CLREOL = $0B 'clear to end of line
CLRDN = $0C 'clear down (to end of window)
CR = $0D 'return
CRSRX = $0E 'set X position (X follows)
CRSRY = $0F 'set Y position (Y follows)
DEFWIN = $10 'define window W (W, Left, Top, nCols, nRows follow)
USEWIN = $11 'use window W (W follows)
DEFCLR = $12 'define color C (C, FG, BG follow)
SCRLLF = $13 'scroll window left
SCRLRT = $14 'scroll window right
SCRLUP = $15 'scroll window up
SCRLDN = $16 'scroll window down
CHGCLR = $17 'change all colors in window to C (C follows)
SHOSCR = $19 'copy display buffer to screen buffer.
CLRW = $1E 'same as CLR, but can be used in strings.
ESC = $1F 'escape next character C (i.e. print as-is) (C follows)
ZERO = $FF 'can be used for 0, which is not allowed in strings, for command arguments
OBJ
pr : "tv_wtext_db"
PUB start
pr.start(basepin)
'(W, Left, Top, nCols, nRows)
'This displays a number 2 with windows. It is 4 digits wide by 5 digits high
pr.str(string(DEFWIN, 1, 15, 4, 4, 1, USEWIN, 1, CHGCLR, 11)) 'top of 2
pr.str(string(DEFWIN, 2, 18, 5, 1, 1, USEWIN, 2, CHGCLR, 11)) 'rt vert of 2
pr.str(string(DEFWIN, 3, 15, 6, 4, 1, USEWIN, 3, CHGCLR, 11)) 'mid hori of 2
pr.str(string(DEFWIN, 4, 15, 7, 1, 1, USEWIN, 4, CHGCLR, 11)) 'lf vert of 2
pr.str(string(DEFWIN, 5, 15, 8, 4, 1, USEWIN, 5, CHGCLR, 11)) 'bot of 2
pr.str(string(SHOSCR, USEWIN))
Thanks
Aaron
