6#include "interfaces/signal_generator.h"
9#include <entity/base.h>
11#include <lucidac/front_panel.h>
14platform::LUCIDACFrontPanel::LUCIDACFrontPanel(interfaces::SignalGenerator * hardware)
16 leds(std::make_unique<TeensyLEDs>()),
17 signal_generator(hardware) {}
19platform::LUCIDACFrontPanel *
20platform::LUCIDACFrontPanel::from_entity_classifier(entities::EntityClassifier classifier,
21 __attribute__((__unused__)) bus::addr_t block_address) {
22 if (!classifier or classifier.class_enum != CLASS_)
26 if (classifier.variant != entities::EntityClassifier::DEFAULT_)
30 if (classifier.version < entities::Version(1, 1))
31 return new LUCIDACFrontPanel(
new interfaces::FrontPlaneSignalGenerator(
new interfaces::FrontPlaneSignalgeneratorHAL_V_1_1_X));
33 if (classifier.version <= entities::Version(1, 2))
34 return new LUCIDACFrontPanel(
new interfaces::FrontPlaneSignalGenerator(
new interfaces::FrontPlaneSignalgeneratorHAL_V_1_2_X));