Initial commit

This commit is contained in:
2023-11-26 20:13:49 +01:00
commit dc2dc5c58b
820 changed files with 258269 additions and 0 deletions

View File

@ -0,0 +1,30 @@
/*********************************************************************************/
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
/*********************************************************************************/
#ifndef FRONTENDAPPLICATIONBASE_HPP
#define FRONTENDAPPLICATIONBASE_HPP
#include <mvp/MVPApplication.hpp>
#include <gui/model/Model.hpp>
class FrontendHeap;
class FrontendApplicationBase : public touchgfx::MVPApplication
{
public:
FrontendApplicationBase(Model& m, FrontendHeap& heap);
virtual ~FrontendApplicationBase() { }
// Terminal
void gotoTerminalScreenNoTransition();
protected:
touchgfx::Callback<FrontendApplicationBase> transitionCallback;
FrontendHeap& frontendHeap;
Model& model;
// Terminal
void gotoTerminalScreenNoTransitionImpl();
};
#endif // FRONTENDAPPLICATIONBASE_HPP

View File

@ -0,0 +1,87 @@
/*********************************************************************************/
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
/*********************************************************************************/
#ifndef FRONTENDHEAPBASE_HPP
#define FRONTENDHEAPBASE_HPP
#include <common/Meta.hpp>
#include <common/Partition.hpp>
#include <mvp/MVPHeap.hpp>
#include <touchgfx/transitions/NoTransition.hpp>
#include <gui/common/FrontendApplication.hpp>
#include <gui/model/Model.hpp>
#include <gui/terminal_screen/TerminalView.hpp>
#include <gui/terminal_screen/TerminalPresenter.hpp>
/**
* This class provides the memory that shall be used for memory allocations
* in the frontend. A single instance of the FrontendHeap is allocated once (in heap
* memory), and all other frontend objects such as views, presenters and data model are
* allocated within the scope of this FrontendHeap. As such, the RAM usage of the entire
* user interface is sizeof(FrontendHeap).
*
* @note The FrontendHeap reserves memory for the most memory-consuming presenter and
* view only. The largest of these classes are determined at compile-time using template
* magic. As such, it is important to add all presenters, views and transitions to the
* type lists in this class.
*
*/
class FrontendHeapBase : public touchgfx::MVPHeap
{
public:
/**
* A list of all view types. Must end with meta::Nil.
* @note All view types used in the application MUST be added to this list!
*/
typedef touchgfx::meta::TypeList< TerminalView,
touchgfx::meta::Nil
> GeneratedViewTypes;
/**
* Determine (compile time) the View type of largest size.
*/
typedef touchgfx::meta::select_type_maxsize< GeneratedViewTypes >::type MaxGeneratedViewType;
/**
* A list of all presenter types. Must end with meta::Nil.
* @note All presenter types used in the application MUST be added to this list!
*/
typedef touchgfx::meta::TypeList< TerminalPresenter,
touchgfx::meta::Nil
> GeneratedPresenterTypes;
/**
* Determine (compile time) the Presenter type of largest size.
*/
typedef touchgfx::meta::select_type_maxsize< GeneratedPresenterTypes >::type MaxGeneratedPresenterType;
/**
* A list of all transition types. Must end with meta::Nil.
* @note All transition types used in the application MUST be added to this list!
*/
typedef touchgfx::meta::TypeList< touchgfx::NoTransition,
touchgfx::meta::Nil
> GeneratedTransitionTypes;
/**
* Determine (compile time) the Transition type of largest size.
*/
typedef touchgfx::meta::select_type_maxsize< GeneratedTransitionTypes >::type MaxGeneratedTransitionType;
virtual void gotoStartScreen(FrontendApplication& app)
{
app.gotoTerminalScreenNoTransition();
}
protected:
FrontendHeapBase(touchgfx::AbstractPartition& presenters, touchgfx::AbstractPartition& views, touchgfx::AbstractPartition& transitions, FrontendApplication& app)
: MVPHeap(presenters, views, transitions, app)
{
}
};
#endif // FRONTENDHEAPBASE_HPP

View File

@ -0,0 +1,11 @@
/*********************************************************************************/
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
/*********************************************************************************/
#ifndef SIMCONSTANTS_HPP
#define SIMCONSTANTS_HPP
static unsigned short SIM_WIDTH = 480;
static unsigned short SIM_HEIGHT = 272;
#define SIM_TITLE "STM32F746G_DISCO"
#endif // SIMCONSTANTS_HPP

View File

@ -0,0 +1,66 @@
/*********************************************************************************/
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
/*********************************************************************************/
#ifndef TERMINALVIEWBASE_HPP
#define TERMINALVIEWBASE_HPP
#include <gui/common/FrontendApplication.hpp>
#include <mvp/View.hpp>
#include <gui/terminal_screen/TerminalPresenter.hpp>
#include <touchgfx/widgets/Box.hpp>
#include <touchgfx/widgets/ButtonWithIcon.hpp>
#include <touchgfx/containers/ScrollableContainer.hpp>
#include <touchgfx/widgets/TextAreaWithWildcard.hpp>
#include <touchgfx/EasingEquations.hpp>
#include <touchgfx/mixins/MoveAnimator.hpp>
class TerminalViewBase : public touchgfx::View<TerminalPresenter>
{
public:
TerminalViewBase();
virtual ~TerminalViewBase() {}
virtual void setupScreen();
virtual void handleKeyEvent(uint8_t key);
/*
* Virtual Action Handlers
*/
virtual void onButtonClearLogTextClicked()
{
// Override and implement this function in Terminal
}
protected:
FrontendApplication& application() {
return *static_cast<FrontendApplication*>(touchgfx::Application::getInstance());
}
/*
* Member Declarations
*/
touchgfx::Box __background;
touchgfx::ButtonWithIcon buttonClearLogText_;
touchgfx::ScrollableContainer scrollableTextArea_;
touchgfx::MoveAnimator< touchgfx::TextAreaWithOneWildcard > logText_;
/*
* Wildcard Buffers
*/
static const uint16_t LOGTEXT__SIZE = 2048;
touchgfx::Unicode::UnicodeChar logText_Buffer[LOGTEXT__SIZE];
private:
/*
* Callback Declarations
*/
touchgfx::Callback<TerminalViewBase, const touchgfx::AbstractButton&> buttonCallback;
/*
* Callback Handler Declarations
*/
void buttonCallbackHandler(const touchgfx::AbstractButton& src);
};
#endif // TERMINALVIEWBASE_HPP

View File

@ -0,0 +1,43 @@
/*********************************************************************************/
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
/*********************************************************************************/
#include <new>
#include <gui_generated/common/FrontendApplicationBase.hpp>
#include <gui/common/FrontendHeap.hpp>
#include <touchgfx/transitions/NoTransition.hpp>
#include <texts/TextKeysAndLanguages.hpp>
#include <touchgfx/Texts.hpp>
#include <touchgfx/hal/HAL.hpp>
#include <platform/driver/lcd/LCD16bpp.hpp>
#include <gui/terminal_screen/TerminalView.hpp>
#include <gui/terminal_screen/TerminalPresenter.hpp>
using namespace touchgfx;
FrontendApplicationBase::FrontendApplicationBase(Model& m, FrontendHeap& heap)
: touchgfx::MVPApplication(),
transitionCallback(),
frontendHeap(heap),
model(m)
{
touchgfx::HAL::getInstance()->setDisplayOrientation(touchgfx::ORIENTATION_LANDSCAPE);
touchgfx::Texts::setLanguage(GB);
reinterpret_cast<touchgfx::LCD16bpp&>(touchgfx::HAL::lcd()).enableTextureMapperAll();
}
/*
* Screen Transition Declarations
*/
// Terminal
void FrontendApplicationBase::gotoTerminalScreenNoTransition()
{
transitionCallback = touchgfx::Callback<FrontendApplicationBase>(this, &FrontendApplication::gotoTerminalScreenNoTransitionImpl);
pendingScreenTransitionCallback = &transitionCallback;
}
void FrontendApplicationBase::gotoTerminalScreenNoTransitionImpl()
{
touchgfx::makeTransition<TerminalView, TerminalPresenter, touchgfx::NoTransition, Model >(&currentScreen, &currentPresenter, frontendHeap, &currentTransition, &model);
}

View File

@ -0,0 +1,64 @@
/*********************************************************************************/
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
/*********************************************************************************/
#include <gui_generated/terminal_screen/TerminalViewBase.hpp>
#include <touchgfx/Color.hpp>
#include "BitmapDatabase.hpp"
#include <texts/TextKeysAndLanguages.hpp>
TerminalViewBase::TerminalViewBase() :
buttonCallback(this, &TerminalViewBase::buttonCallbackHandler)
{
__background.setPosition(0, 0, 480, 272);
__background.setColor(touchgfx::Color::getColorFrom24BitRGB(0, 0, 0));
buttonClearLogText_.setXY(1, 6);
buttonClearLogText_.setBitmaps(touchgfx::Bitmap(BITMAP_DARK_BUTTONS_ROUND_EDGE_ICON_BUTTON_ID), touchgfx::Bitmap(BITMAP_DARK_BUTTONS_ROUND_EDGE_ICON_BUTTON_PRESSED_ID), touchgfx::Bitmap(BITMAP_DARK_ICONS_TRASH_32_ROTATED_ID), touchgfx::Bitmap(BITMAP_DARK_ICONS_TRASH_32_ROTATED_ID));
buttonClearLogText_.setIconXY(17, 14);
buttonClearLogText_.setAction(buttonCallback);
scrollableTextArea_.setPosition(61, 6, 414, 260);
scrollableTextArea_.setScrollbarsColor(touchgfx::Color::getColorFrom24BitRGB(0, 0, 0));
logText_.setPosition(0, 129, 414, 130);
logText_.setColor(touchgfx::Color::getColorFrom24BitRGB(171, 171, 171));
logText_.setLinespacing(0);
logText_.setRotation(touchgfx::TEXT_ROTATE_180);
Unicode::snprintf(logText_Buffer, LOGTEXT__SIZE, "%s", touchgfx::TypedText(T_SINGLEUSEID2).getText());
logText_.setWildcard(logText_Buffer);
logText_.setTypedText(touchgfx::TypedText(T_SINGLEUSEID1));
scrollableTextArea_.add(logText_);
add(__background);
add(buttonClearLogText_);
add(scrollableTextArea_);
}
void TerminalViewBase::setupScreen()
{
}
//Handles when a key is pressed
void TerminalViewBase::handleKeyEvent(uint8_t key)
{
if(0 == key)
{
//Interaction1
//When hardware button 0 clicked move logText_
//Set position x:0 and y:0 on logText_
logText_.moveTo(0,0);
}
}
void TerminalViewBase::buttonCallbackHandler(const touchgfx::AbstractButton& src)
{
if (&src == &buttonClearLogText_)
{
//ButtonClearLogTextClicked
//When buttonClearLogText_ clicked call virtual function
//Call onButtonClearLogTextClicked
onButtonClearLogTextClicked();
}
}