-
Notifications
You must be signed in to change notification settings - Fork 0
/
GlobalOutPrint.ino
69 lines (64 loc) · 1.64 KB
/
GlobalOutPrint.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
//=== GlobalOutPrint === usable for all ====================================
#if defined LCD
void binout16(Print &stream, uint16_t ui16_Out)
{
if(ui16_Out<32768)
stream.print('0');
if(ui16_Out<16384)
stream.print('0');
if(ui16_Out<8192)
stream.print('0');
if(ui16_Out<4096)
stream.print('0');
if(ui16_Out<2048)
stream.print('0');
if(ui16_Out<1024)
stream.print('0');
if(ui16_Out<512)
stream.print('0');
stream.print(ui16_Out >> 8, BIN);
binout(stream, (uint8_t)(ui16_Out & 0x00FF));
}
void binout(Print &stream, uint8_t ui8_Out)
{
if(ui8_Out<128)
stream.print('0');
if(ui8_Out<64)
stream.print('0');
if(ui8_Out<32)
stream.print('0');
if(ui8_Out<16)
stream.print('0');
if(ui8_Out<8)
stream.print('0');
if(ui8_Out<4)
stream.print('0');
if(ui8_Out<2)
stream.print('0');
stream.print(ui8_Out, BIN);
}
void decout(Print& stream, uint16_t ui16_Out, uint8_t ui8CountOfDigits)
{
// 5 digits, 0..99999
if ((ui8CountOfDigits > 4) && (ui16_Out < 10000))
stream.print('0');
if ((ui8CountOfDigits > 3) && (ui16_Out < 1000))
stream.print('0');
if ((ui8CountOfDigits > 2) && (ui16_Out < 100))
stream.print('0');
if ((ui8CountOfDigits > 1) && (ui16_Out < 10))
stream.print('0');
stream.print(ui16_Out, DEC);
}
void hexout(Print &stream, uint16_t ui16_Out, uint8_t ui8CountOfDigits)
{
// 4 digits, 0..FFFF
if((ui8CountOfDigits > 3) && (ui16_Out < 0x1000))
stream.print('0');
if((ui8CountOfDigits > 2) && (ui16_Out < 0x0100))
stream.print('0');
if((ui8CountOfDigits > 1) && (ui16_Out < 0x0010))
stream.print('0');
stream.print(ui16_Out, HEX);
}
#endif