Refactor into multiple files
This commit is contained in:
39
main/setup.cpp
Normal file
39
main/setup.cpp
Normal file
@@ -0,0 +1,39 @@
|
||||
#include "setup.h"
|
||||
|
||||
// local includes
|
||||
#include "globals.h"
|
||||
|
||||
namespace setup {
|
||||
bool currently_locked;
|
||||
ModeInterface* oldMode;
|
||||
IgnoreInputMode setup_mode{0, bobbycar::protocol::ControlType::FieldOrientedControl, bobbycar::protocol::ControlMode::Torque};
|
||||
|
||||
void lock()
|
||||
{
|
||||
if (currently_locked)
|
||||
return;
|
||||
|
||||
oldMode = currentMode;
|
||||
currentMode = &setup_mode;
|
||||
}
|
||||
|
||||
void unlock()
|
||||
{
|
||||
if (!currently_locked)
|
||||
return;
|
||||
|
||||
if (currentMode == &setup_mode)
|
||||
{
|
||||
// to avoid crash after deconstruction
|
||||
setup_mode.stop();
|
||||
lastMode = nullptr;
|
||||
|
||||
currentMode = oldMode;
|
||||
}
|
||||
}
|
||||
|
||||
bool isLocked()
|
||||
{
|
||||
return currently_locked;
|
||||
}
|
||||
} // namespace setup
|
Reference in New Issue
Block a user