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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
#include "LayoutDemoSampling.h"
LayoutDemoSampling::LayoutDemoSampling(DOGS102* lcd)
: Layout(lcd),
_lAccx(0, 0, "AccX"),
_lAccy(6, 0, "AccY"),
_lAccz(12, 0, "AccZ"),
_lPres(0, 2, "Press="),
_lAlt(0, 3, "Alt="),
_lTemp(0, 4, "Temp="),
_lLight(0, 5, "Light="),
_fAccx(0, 1, 5),
_fAccy(6, 1, 5),
_fAccz(12, 1, 5),
_fPres(6, 2, 11),
_fAlt(4, 3, 13),
_fTemp(5, 4, 12),
_fLight(6, 5, 11),
_fInfo(0, 6, 17),
_fSw1(9, 7, 8),
_fSw2(0, 7, 8)
{}
LayoutDemoSampling::~LayoutDemoSampling() {}
void LayoutDemoSampling::display() {
clear();
startUpdate();
writeLabel(_lAccx);
writeLabel(_lAccy);
writeLabel(_lAccz);
writeLabel(_lPres);
writeLabel(_lAlt);
writeLabel(_lTemp);
writeLabel(_lLight);
endUpdate();
}
void LayoutDemoSampling::updateInfo(std::string info) {
writeField(_fInfo, info, true);
}
void LayoutDemoSampling::updateSw1(std::string sw1) {
writeField(_fSw1, sw1, true);
}
void LayoutDemoSampling::updateSw2(std::string sw2) {
writeField(_fSw2, sw2, true);
}
void LayoutDemoSampling::updateCountdown(uint32_t seconds) {
char buf[32];
size_t size;
// make sure the string version is used
writeField(_fInfo, string("No Free Channel"), true);
size = snprintf(buf, sizeof(buf), "%lu s", seconds);
writeField(_fSw2, buf, size, true);
}
void LayoutDemoSampling::updateInterval(uint32_t seconds) {
char buf[32];
size_t size;
if (seconds < 60)
size = snprintf(buf, sizeof(buf), "Interval %lu s", seconds);
else if (seconds < 60 * 60)
size = snprintf(buf, sizeof(buf), "Interval %lu min", seconds / 60);
else
size = snprintf(buf, sizeof(buf), "Interval %lu hr", seconds / (60 * 60));
writeField(_fInfo, buf, size, true);
}
void LayoutDemoSampling::updateAccelerationX(int16_t x) {
char buf[16];
size_t size;
size = snprintf(buf, sizeof(buf), "%d", x);
writeField(_fAccx, buf, size, true);
}
void LayoutDemoSampling::updateAccelerationY(int16_t y) {
char buf[16];
size_t size;
size = snprintf(buf, sizeof(buf), "%d", y);
writeField(_fAccy, buf, size, true);
}
void LayoutDemoSampling::updateAccelerationZ(int16_t z) {
char buf[16];
size_t size;
size = snprintf(buf, sizeof(buf), "%d", z);
writeField(_fAccz, buf, size, true);
}
void LayoutDemoSampling::updatePressure(float pressure) {
char buf[16];
size_t size;
size = snprintf(buf, sizeof(buf), "%3.2f KPa", pressure/1000);
writeField(_fPres, buf, size, true);
}
void LayoutDemoSampling::updateAltitude(float altitude) {
char buf[16];
size_t size;
size = snprintf(buf, sizeof(buf), "%5.2f m", altitude);
writeField(_fAlt, buf, size, true);
}
void LayoutDemoSampling::updateTemperature(float temperature) {
char buf[16];
size_t size;
size = snprintf(buf, sizeof(buf), "%3.2f C", temperature);
writeField(_fTemp, buf, size, true);
}
void LayoutDemoSampling::updateLight(float light) {
char buf[16];
size_t size;
size = snprintf(buf, sizeof(buf), "%4.2f lux", light);
writeField(_fLight, buf, size, true);
}
|