ecos: STOP/GO button now affects world power/run
Dieser Commit ist enthalten in:
Ursprung
6d677f2300
Commit
54b4a57f4c
@ -191,7 +191,18 @@ bool ECoSInterface::setOnline(bool& value, bool simulation)
|
||||
{
|
||||
status.setValueInternal(InterfaceStatus::Online);
|
||||
});
|
||||
|
||||
m_kernel->setOnEmergencyStop(
|
||||
[this]()
|
||||
{
|
||||
if(contains(m_world.state.value(), WorldState::PowerOn | WorldState::Run))
|
||||
m_world.powerOff();
|
||||
});
|
||||
m_kernel->setOnGo(
|
||||
[this]()
|
||||
{
|
||||
if(!contains(m_world.state.value(), WorldState::Run))
|
||||
m_world.run();
|
||||
});
|
||||
m_kernel->setDecoderController(this);
|
||||
m_kernel->setInputController(this);
|
||||
m_kernel->setOutputController(this);
|
||||
|
||||
@ -113,7 +113,26 @@ void ECoS::stop()
|
||||
|
||||
void ECoS::update(std::string_view option, std::string_view value)
|
||||
{
|
||||
if(option == Option::applicationVersion)
|
||||
if(option == Option::status)
|
||||
{
|
||||
if(value == "STOP")
|
||||
{
|
||||
if(m_go != TriState::False)
|
||||
{
|
||||
m_go = TriState::False;
|
||||
m_kernel.ecosGoChanged(m_go);
|
||||
}
|
||||
}
|
||||
else if(value == "GO")
|
||||
{
|
||||
if(m_go != TriState::True)
|
||||
{
|
||||
m_go = TriState::True;
|
||||
m_kernel.ecosGoChanged(m_go);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(option == Option::applicationVersion)
|
||||
{
|
||||
Version::fromChars(value, m_applicationVersion);
|
||||
}
|
||||
|
||||
Laden…
x
In neuem Issue referenzieren
Einen Benutzer sperren