mirror of
https://github.com/lumapu/ahoy.git
synced 2025-06-01 10:11:37 +02:00
possibly fix power graph problems
This commit is contained in:
parent
e4cb948be4
commit
9a8d8560db
3 changed files with 13 additions and 6 deletions
|
@ -119,7 +119,7 @@ class DisplayMono {
|
|||
case DispSwitchState::TEXT:
|
||||
if (mDispSwitchTime.isTimeout()) {
|
||||
mDispSwitchState = DispSwitchState::GRAPH;
|
||||
mDispSwitchTime.startTimeMonitor(150 * mCfg->graph_ratio); // mGraphRatio: 0-100 Gesamtperiode 15000 ms
|
||||
mDispSwitchTime.startTimeMonitor(150 * mCfg->graph_ratio); // graph_ratio: 0-100 Gesamtperiode 15000 ms
|
||||
change = true;
|
||||
}
|
||||
break;
|
||||
|
@ -135,6 +135,7 @@ class DisplayMono {
|
|||
}
|
||||
|
||||
void initPowerGraph(uint8_t width, uint8_t height) {
|
||||
DBGPRINTLN("---- Init Power Graph ----");
|
||||
mPgWidth = width;
|
||||
mPgHeight = height;
|
||||
mPgData = new float[mPgWidth];
|
||||
|
@ -205,6 +206,10 @@ class DisplayMono {
|
|||
mDisplay->drawLine(xoff, yoff, xoff, yoff - mPgHeight); // vertical axis
|
||||
mDisplay->drawLine(xoff, yoff, xoff + mPgWidth, yoff); // horizontal axis
|
||||
|
||||
// do not draw as long as time is not set correctly and no data was received
|
||||
if ((mDisplayData->pGraphStartTime == 0) || (mDisplayData->pGraphEndTime == 0) || (mDisplayData->utcTs < 1) || (mPgMaxPwr < 1) || (mPgLastPos < 1))
|
||||
return;
|
||||
|
||||
// draw X scale
|
||||
tmElements_t tm;
|
||||
breakTime(mDisplayData->pGraphEndTime, tm);
|
||||
|
|
|
@ -58,6 +58,7 @@ class DisplayMono128X64 : public DisplayMono {
|
|||
|
||||
widthShrink = (mCfg->screenSaver == 1) ? pixelShiftRange : 0; // shrink graphwidth for pixelshift screensaver
|
||||
|
||||
if (mCfg->graph_ratio > 0)
|
||||
initPowerGraph(mDispWidth - 22 - widthShrink, mLineYOffsets[graph_last_line] - mLineYOffsets[graph_first_line - 1] - 2);
|
||||
|
||||
printText("Ahoy!", l_Ahoy, 0xff);
|
||||
|
@ -172,7 +173,7 @@ class DisplayMono128X64 : public DisplayMono {
|
|||
printText(mFmtText, l_YieldTotal, 0xff);
|
||||
}
|
||||
|
||||
if (mDispSwitchState == DispSwitchState::GRAPH) {
|
||||
if ((mCfg->graph_ratio > 0) && (mDispSwitchState == DispSwitchState::GRAPH)) {
|
||||
// plot power graph
|
||||
plotPowerGraph((mDispWidth - mPgWidth) / 2 + mPixelshift, mLineYOffsets[graph_last_line] - 1);
|
||||
}
|
||||
|
|
|
@ -46,6 +46,7 @@ class DisplayMono84X48 : public DisplayMono {
|
|||
break;
|
||||
}
|
||||
|
||||
if (mCfg->graph_ratio > 0)
|
||||
initPowerGraph(mDispWidth - 16, mLineYOffsets[graph_last_line] - mLineYOffsets[graph_first_line - 1] - 2);
|
||||
|
||||
printText("Ahoy!", l_Ahoy, 0xff);
|
||||
|
@ -134,7 +135,7 @@ class DisplayMono84X48 : public DisplayMono {
|
|||
printText(mFmtText, l_YieldTotal, 0xff);
|
||||
}
|
||||
|
||||
if (mDispSwitchState == DispSwitchState::GRAPH) {
|
||||
if ((mCfg->graph_ratio > 0) && (mDispSwitchState == DispSwitchState::GRAPH)) {
|
||||
// plot power graph
|
||||
plotPowerGraph(8, mLineYOffsets[graph_last_line] - 1);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue