Initial commit
This commit is contained in:
101
src/app/factory.cpp
Normal file
101
src/app/factory.cpp
Normal file
@ -0,0 +1,101 @@
|
||||
#include "mcu/mcu.h"
|
||||
#include "xf/xf.h"
|
||||
#include "factory.h"
|
||||
#include "board/interface/buttonscontrollercallbackprovider.h"
|
||||
|
||||
extern "C" TIM_HandleTypeDef htim1; // Defined in main.c
|
||||
extern "C" ADC_HandleTypeDef hadc3; // Defined in main.c
|
||||
|
||||
oscilloscope::Controller Factory::_oscilloscopeController;
|
||||
oscilloscope::Gui Factory::_gui;
|
||||
external::FrequencyGenerator Factory::_fgen;
|
||||
oscilloscope::FreqGenController Factory::_fgenctrl;
|
||||
ButtonsController Factory::_bc;
|
||||
|
||||
void Factory_initialize()
|
||||
{
|
||||
Factory::initialize();
|
||||
|
||||
}
|
||||
|
||||
void Factory_build()
|
||||
{
|
||||
Factory::build();
|
||||
}
|
||||
|
||||
Factory::Factory()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// static
|
||||
void Factory::initialize()
|
||||
{
|
||||
Trace::out("---------------------------------------------");
|
||||
Trace::out("Initializing...");
|
||||
|
||||
// TODO: Uncomment code line below in order to call OscilloscopeController's initialize() method
|
||||
// getOscilloscopeController().initialize(getGui(), adcValuesBuffer, ADC_VALUES_BUFFER_SIZE);
|
||||
getFrequencyGenerator().initialize();
|
||||
getFreqGenController().initialize(getGui());
|
||||
#if (TOUCHGFX_BAREMETAL != 0)
|
||||
getTouchGfxTask().initialize();
|
||||
#endif // TOUCHGFX_BAREMETAL
|
||||
}
|
||||
|
||||
// static
|
||||
void Factory::build()
|
||||
{
|
||||
Trace::out("Building...");
|
||||
|
||||
HAL_ADC_Start_IT(&hadc3); // Start ADC conversion
|
||||
HAL_TIM_OC_Start_IT(&htim1, TIM_CHANNEL_1); // Start TIM1 with trigger channel 1
|
||||
|
||||
getOscilloscopeController().start();
|
||||
getGui().start();
|
||||
getButtonsController().registerCallback(&getFreqGenController(),
|
||||
(interface::ButtonsControllerCallbackProvider::CallbackMethod)&oscilloscope::FreqGenController::onButtonChanged);
|
||||
|
||||
getFreqGenController().start();
|
||||
getButtonsController().start();
|
||||
#if (TOUCHGFX_BAREMETAL != 0)
|
||||
getTouchGfxTask().start();
|
||||
#endif // TOUCHGFX_BAREMETAL
|
||||
|
||||
Trace::out("Running...");
|
||||
}
|
||||
|
||||
oscilloscope::Controller & Factory::getOscilloscopeController()
|
||||
{
|
||||
return oscilloscope::Controller::getInstance();
|
||||
}
|
||||
|
||||
//static
|
||||
oscilloscope::Gui & Factory::getGui()
|
||||
{
|
||||
return _gui;
|
||||
}
|
||||
|
||||
//static
|
||||
ButtonsController& Factory::getButtonsController() {
|
||||
return _bc;
|
||||
}
|
||||
|
||||
//static
|
||||
oscilloscope::FreqGenController& Factory::getFreqGenController() {
|
||||
return _fgenctrl;
|
||||
}
|
||||
|
||||
|
||||
#if (TOUCHGFX_BAREMETAL != 0)
|
||||
// static
|
||||
TouchGfxTask & Factory::getTouchGfxTask()
|
||||
{
|
||||
static TouchGfxTask touchGfxTask;
|
||||
return touchGfxTask;
|
||||
}
|
||||
#endif // TOUCHGFX_BAREMETAL
|
||||
|
||||
FrequencyGenerator& Factory::getFrequencyGenerator() {
|
||||
return _fgen;
|
||||
}
|
Reference in New Issue
Block a user