You could add a leading zero if the value is less than 10 or if the value is less than 10 the position is X else the position is Y.
You could add a leading zero if the value is less than 10 or if the value is less than 10 the position is X else the position is Y.
Dave
Always wear safety glasses while programming.
I use this code :
How can I say "if temperature2 > 9.99 'C or temperature2 < -9.99 'C" ?Code:OWIn DQ2, 2, [temperature2.byte0, temperature2.byte1] If Temperature2.15 then Temperature2= ~Temperature2 +1 Twist2 = 1 Endif Dummy2 = 625 * Temperature2 TempC2 = DIV32 10 TempC2 = (Temperature2 & $7FF) >> 4 Float2 = ((Temperature2.Lowbyte & $0F ) * 25 )>>2 Temperature2 = TempC2*100 + Float2 If Twist2 then V2= 10000 - Temperature2 Twist2 = 0 else V2= 10000 + Temperature2 EndIf If V2 >= 10000 then Temperature2=V2-10000 else Temperature2=10000-V2 EndIf
Convert the temperature to an absolute value.
From the manual
Then you are back to IF < 10.....Just remember your sign...4.17.4. ABS
ABS returns the absolute value of a number. If a byte is greater than 127 (high bit set), ABS will return 256 - value. If a word is greater than 32767 (high bit set), ABS will return 65536 - value.
B1 = ABS B0
Dave
Always wear safety glasses while programming.
I have good results, based on this "$FE, $14 - Move cursor right one position" :
Thanks !!!Code:if (temperature2/100) =>10 then LcdOut $FE, $c0, "OUT : ", Sign2," ", DEC (Temperature2 / 100), ".", DEC Temperature2 dig 1, " ",223,"C " else LcdOut $FE, $C0, "OUT : ", Sign2," ", $14, DEC (Temperature2 / 100), ".", DEC Temperature2 dig 1, " ",223,"C " endif
If you wanted to move over an extra character to maintain alignment, why not just add an extra blank after SIGN2?
Moving the cursor can give misleading information unless you clear the display first. $C0 sets the cursor position to the beginning of the 2nd line, it does not erase what was written previously.Code:if (temperature2/100) =>10 then LcdOut $FE, $c0, "OUT : ", Sign2," ", DEC (Temperature2 / 100), ".", DEC Temperature2 dig 1, " ",223,"C " else LcdOut $FE, $C0, "OUT : ", Sign2," ", DEC (Temperature2 / 100), ".", DEC Temperature2 dig 1, " ",223,"C " endif
Let's say it is displaying 25C and the reading changes to 7C. If you move over 1 position, the 2 will still be there, giving 27C.
Last edited by Demon; - 26th April 2011 at 06:17. Reason: Cause the code alignment gets all messed up when I clicked POST
My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.
Not as dumb as yesterday, but stupider than tomorrow!
Thank you !
I try my code in ISIS and work ok ; it' possible, in 'real life' to work bad...but I do not have -yet- the hardware.
Please remove .txt from simulation file.
Bookmarks