orbum/liborbum/src/Resources/Ee/Timers/REeTimers.hpp
2018-08-08 23:14:09 +08:00

35 lines
748 B
C++

#pragma once
#include <cereal/cereal.hpp>
#include "Common/Constants.hpp"
#include "Resources/Ee/Timers/EeTimersUnits.hpp"
/// The EE Timers resources.
/// Defines the 4 timers within the EE, as listed on page 33 onwards of the EE Users Manual.
class REeTimers
{
public:
REeTimers();
EeTimersUnit_Hold unit_0;
EeTimersUnit_Hold unit_1;
EeTimersUnit_Base unit_2;
EeTimersUnit_Base unit_3;
/// Timer abstractions.
EeTimersUnit units[Constants::EE::Timers::NUMBER_TIMERS];
public:
template<class Archive>
void serialize(Archive & archive)
{
archive(
CEREAL_NVP(unit_0),
CEREAL_NVP(unit_1),
CEREAL_NVP(unit_2),
CEREAL_NVP(unit_3)
);
}
};