zynq_7010/zynq_7010_code/PanelLeds.h

86 lines
1.4 KiB
C++

#pragma once
#include "Led.h"
#include <iostream>
#include "scanservices_utils.h"
class PanelLeds
{
public:
PanelLeds();
~PanelLeds();
void setStatus(LedStatus status)
{
switch (status)
{
case LedStatus::Ready:
{
LOG("LedStatus Ready red off and white off \n");
red.off();
white.on();
}
break;
case LedStatus::Scanning:
{
LOG("LedStatus scanning red off and white on 500 \n");
red.off();
white.on(500);
}
break;
case LedStatus::Abnormal:
{
LOG("LedStatus Abnormal red on and white off \n");
red.on();
white.off();
}
break;
case LedStatus::NoPaper:
{
LOG("LedStatus NoPaper red on 200 and white off \n");
red.on(200);
white.off();
}
break;
case LedStatus::StopScan:
{
LOG("LedStatus NoPaper red off and white on 200 \n");
red.off();
white.on(200);
}
break;
case LedStatus::CoverOpen:
{
LOG("LedStatus NoPaper red on and white off \n");
red.on();
white.off();
}
case LedStatus::Updating:
{
LOG("LedStatus NoPaper red on and white off \n");
red.on(100);
white.off();
}
break;
case LedStatus::UpdateDone:
{
LOG("LedStatus NoPaper red on and white off \n");
red.off();
white.on(200);
}
break;
default:
{
LOG("LedStatus NoPaper red off and white off \n");
red.off();
white.off();
}
break;
}
}
private:
Led white;
Led red;
Led green;
};