UVControl/ScreenSetTime.cpp

53 lines
863 B
C++

#include "ScreenSetTime.h"
#include "ScreenMenu.h"
#include "ExposureTimer.h"
#include "Buzzer.h"
#include "Config.h"
void ScreenSetTime::printExposureTime()
{
getDisplay()->setCursor(0, 1);
printTime(ExposureTime);
}
void ScreenSetTime::onShow()
{
getDisplay()->setCursor(0, 0);
getDisplay()->print("Exposure time: ");
printExposureTime();
}
void ScreenSetTime::onHide()
{
}
void ScreenSetTime::onButton()
{
buzzClick();
getScreenManager()->show<ScreenMenu>();
}
void ScreenSetTime::onEncoder(long lastPosition, long newPosition)
{
buzzSelect();
if (newPosition > lastPosition)
ExposureTime += ExposureTime >= LargeStepTreshold ? LargeStep : SmallStep;
else if (ExposureTime > 0)
ExposureTime -= ExposureTime > LargeStepTreshold ? LargeStep : SmallStep;
printExposureTime();
}
void ScreenSetTime::onTick()
{
}