Skip to content

Commit 2de7025

Browse files
authored
Merge pull request #7 from Sensirion/fix-value-display
Fix number and lable display
2 parents d65a2f2 + 512c456 commit 2de7025

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/UptDisplay.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ void drawVScreenLegend(const SensorDisplayValues& sensorData) {
243243
spr.setTextColor(UPT_DISPLAY_FONT_PRIMARY_COLOR,
244244
UPT_DISPLAY_BACKGROUND_COLOR);
245245

246-
auto cursorX = INTER_TILE_SPACING;
246+
int16_t cursorX = INTER_TILE_SPACING;
247247
const auto cursorY = static_cast<int16_t>(tft.height() - spr.fontHeight() -
248248
SCREEN_FRAME_MARGIN);
249249

@@ -274,15 +274,15 @@ void drawHScreenLegend(const SensorDisplayValues& sensorData) {
274274

275275
tft.setCursor(cursorX, cursorY);
276276
char lbl[32];
277-
sprintf(lbl, "%s (%i/%i)", sensorData.sensorName, sensorData.sensorRank,
278-
sensorData.numTrackedSensors);
277+
sprintf(lbl, "%s (%i/%i)", sensorData.sensorName.c_str(),
278+
sensorData.sensorRank, sensorData.numTrackedSensors);
279279
spr.printToSprite(lbl);
280-
int sensorLabelWidth = spr.textWidth(lbl);
280+
const uint16_t sensorLabelWidth = spr.textWidth(lbl);
281281
spr.unloadFont();
282282

283283
// Print measurement time
284284
spr.loadFont(UPT_DISPLAY_FONT_SMALL);
285-
cursorX += sensorLabelWidth + 5;
285+
cursorX = static_cast<int16_t>(cursorX + sensorLabelWidth + 5);
286286
cursorY = static_cast<int16_t>(tft.height() - spr.fontHeight() -
287287
SCREEN_FRAME_MARGIN);
288288
tft.setCursor(cursorX, cursorY);
@@ -449,14 +449,15 @@ void drawTileValue(const SensorDisplayTile& tile,
449449

450450
std::string bufferValueAsString(const core::Measurement& measurement) {
451451
std::stringstream ss{};
452+
ss << std::fixed; // use fixed notation for numbers.
452453
core::SignalType st = measurement.signalType;
453454
if (st == core::SignalType::TEMPERATURE_DEGREES_CELSIUS ||
454455
st == core::SignalType::TEMPERATURE_DEGREES_FARENHEIT ||
455456
st == core::SignalType::RELATIVE_HUMIDITY_PERCENTAGE ||
456457
st == core::SignalType::VELOCITY_METERS_PER_SECOND ||
457458
st == core::SignalType::GAS_CONCENTRATION_VOLUME_PERCENTAGE) {
458459
ss.precision(1);
459-
} else if (measurement.dataPoint.value < 10.0) {
460+
} else if (measurement.dataPoint.value < 10.0) { // NOLINT(*-branch-clone)
460461
// A workaround because single char is not being displayed. can be
461462
// removed in the future
462463
ss.precision(0);
@@ -498,8 +499,8 @@ uint32_t colorOf(const core::Measurement& measurement) {
498499
}
499500
return UPT_DISPLAY_RED_COLOR;
500501
}
501-
case core::SignalType::
502-
HCHO_PARTS_PER_BILLION: // NOLINT(*-branch-clone)
502+
case core::SignalType:: // NOLINT(*-branch-clone)
503+
HCHO_PARTS_PER_BILLION:
503504
return UPT_DISPLAY_RED_COLOR;
504505
case core::SignalType::PM1P0_MICRO_GRAMM_PER_CUBIC_METER:
505506
case core::SignalType::PM2P5_MICRO_GRAMM_PER_CUBIC_METER:

0 commit comments

Comments
 (0)