2023-03-06 21:21:00 +01:00
|
|
|
/* USER CODE BEGIN Header */
|
|
|
|
/**
|
2023-03-07 21:58:28 +01:00
|
|
|
******************************************************************************
|
|
|
|
* File Name : TouchGFXHAL.cpp
|
|
|
|
******************************************************************************
|
|
|
|
* This file was created by TouchGFX Generator 4.21.1. This file is only
|
|
|
|
* generated once! Delete this file from your project and re-generate code
|
|
|
|
* using STM32CubeMX or change this file manually to update it.
|
|
|
|
******************************************************************************
|
|
|
|
* @attention
|
|
|
|
*
|
|
|
|
* Copyright (c) 2023 STMicroelectronics.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
* This software is licensed under terms that can be found in the LICENSE file
|
|
|
|
* in the root directory of this software component.
|
|
|
|
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
|
|
*
|
|
|
|
******************************************************************************
|
|
|
|
*/
|
2023-03-06 21:21:00 +01:00
|
|
|
/* USER CODE END Header */
|
|
|
|
|
|
|
|
#include <TouchGFXHAL.hpp>
|
|
|
|
|
|
|
|
/* USER CODE BEGIN TouchGFXHAL.cpp */
|
2023-03-07 21:58:28 +01:00
|
|
|
#include "STWButtonController.hpp"
|
|
|
|
STWButtonController stwBC;
|
2023-03-06 21:21:00 +01:00
|
|
|
|
|
|
|
using namespace touchgfx;
|
|
|
|
|
2023-03-07 21:58:28 +01:00
|
|
|
void TouchGFXHAL::initialize() {
|
|
|
|
// Calling parent implementation of initialize().
|
|
|
|
//
|
|
|
|
// To overwrite the generated implementation, omit call to parent function
|
|
|
|
// and implemented needed functionality here.
|
|
|
|
// Please note, HAL::initialize() must be called to initialize the framework.
|
2023-03-06 21:21:00 +01:00
|
|
|
|
2023-03-07 21:58:28 +01:00
|
|
|
TouchGFXGeneratedHAL::initialize();
|
|
|
|
setButtonController(&stwBC);
|
2023-03-06 21:21:00 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the frame buffer address used by the TFT controller.
|
|
|
|
*
|
|
|
|
* @return The address of the frame buffer currently being displayed on the TFT.
|
|
|
|
*/
|
2023-03-07 21:58:28 +01:00
|
|
|
uint16_t *TouchGFXHAL::getTFTFrameBuffer() const {
|
|
|
|
// Calling parent implementation of getTFTFrameBuffer().
|
|
|
|
//
|
|
|
|
// To overwrite the generated implementation, omit call to parent function
|
|
|
|
// and implemented needed functionality here.
|
|
|
|
|
|
|
|
return TouchGFXGeneratedHAL::getTFTFrameBuffer();
|
2023-03-06 21:21:00 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the frame buffer address used by the TFT controller.
|
|
|
|
*
|
|
|
|
* @param [in] address New frame buffer address.
|
|
|
|
*/
|
2023-03-07 21:58:28 +01:00
|
|
|
void TouchGFXHAL::setTFTFrameBuffer(uint16_t *address) {
|
|
|
|
// Calling parent implementation of setTFTFrameBuffer(uint16_t* address).
|
|
|
|
//
|
|
|
|
// To overwrite the generated implementation, omit call to parent function
|
|
|
|
// and implemented needed functionality here.
|
|
|
|
|
|
|
|
TouchGFXGeneratedHAL::setTFTFrameBuffer(address);
|
2023-03-06 21:21:00 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This function is called whenever the framework has performed a partial draw.
|
|
|
|
*
|
2023-03-07 21:58:28 +01:00
|
|
|
* @param rect The area of the screen that has been drawn, expressed in absolute
|
|
|
|
* coordinates.
|
2023-03-06 21:21:00 +01:00
|
|
|
*
|
|
|
|
* @see flushFrameBuffer().
|
|
|
|
*/
|
2023-03-07 21:58:28 +01:00
|
|
|
void TouchGFXHAL::flushFrameBuffer(const touchgfx::Rect &rect) {
|
|
|
|
// Calling parent implementation of flushFrameBuffer(const touchgfx::Rect&
|
|
|
|
// rect).
|
|
|
|
//
|
|
|
|
// To overwrite the generated implementation, omit call to parent function
|
|
|
|
// and implemented needed functionality here.
|
|
|
|
// Please note, HAL::flushFrameBuffer(const touchgfx::Rect& rect) must
|
|
|
|
// be called to notify the touchgfx framework that flush has been performed.
|
|
|
|
// To calculate he start adress of rect,
|
|
|
|
// use advanceFrameBufferToRect(uint8_t* fbPtr, const touchgfx::Rect& rect)
|
|
|
|
// defined in TouchGFXGeneratedHAL.cpp
|
|
|
|
|
|
|
|
TouchGFXGeneratedHAL::flushFrameBuffer(rect);
|
2023-03-06 21:21:00 +01:00
|
|
|
}
|
|
|
|
|
2023-03-07 21:58:28 +01:00
|
|
|
bool TouchGFXHAL::blockCopy(void *RESTRICT dest, const void *RESTRICT src,
|
|
|
|
uint32_t numBytes) {
|
|
|
|
return TouchGFXGeneratedHAL::blockCopy(dest, src, numBytes);
|
2023-03-06 21:21:00 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2023-03-07 21:58:28 +01:00
|
|
|
* Configures the interrupts relevant for TouchGFX. This primarily entails
|
|
|
|
* setting the interrupt priorities for the DMA and LCD interrupts.
|
2023-03-06 21:21:00 +01:00
|
|
|
*/
|
2023-03-07 21:58:28 +01:00
|
|
|
void TouchGFXHAL::configureInterrupts() {
|
|
|
|
// Calling parent implementation of configureInterrupts().
|
|
|
|
//
|
|
|
|
// To overwrite the generated implementation, omit call to parent function
|
|
|
|
// and implemented needed functionality here.
|
|
|
|
|
|
|
|
TouchGFXGeneratedHAL::configureInterrupts();
|
2023-03-06 21:21:00 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Used for enabling interrupts set in configureInterrupts()
|
|
|
|
*/
|
2023-03-07 21:58:28 +01:00
|
|
|
void TouchGFXHAL::enableInterrupts() {
|
|
|
|
// Calling parent implementation of enableInterrupts().
|
|
|
|
//
|
|
|
|
// To overwrite the generated implementation, omit call to parent function
|
|
|
|
// and implemented needed functionality here.
|
|
|
|
|
|
|
|
TouchGFXGeneratedHAL::enableInterrupts();
|
2023-03-06 21:21:00 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Used for disabling interrupts set in configureInterrupts()
|
|
|
|
*/
|
2023-03-07 21:58:28 +01:00
|
|
|
void TouchGFXHAL::disableInterrupts() {
|
|
|
|
// Calling parent implementation of disableInterrupts().
|
|
|
|
//
|
|
|
|
// To overwrite the generated implementation, omit call to parent function
|
|
|
|
// and implemented needed functionality here.
|
|
|
|
|
|
|
|
TouchGFXGeneratedHAL::disableInterrupts();
|
2023-03-06 21:21:00 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2023-03-07 21:58:28 +01:00
|
|
|
* Configure the LCD controller to fire interrupts at VSYNC. Called
|
|
|
|
* automatically once TouchGFX initialization has completed.
|
2023-03-06 21:21:00 +01:00
|
|
|
*/
|
2023-03-07 21:58:28 +01:00
|
|
|
void TouchGFXHAL::enableLCDControllerInterrupt() {
|
|
|
|
// Calling parent implementation of enableLCDControllerInterrupt().
|
|
|
|
//
|
|
|
|
// To overwrite the generated implementation, omit call to parent function
|
|
|
|
// and implemented needed functionality here.
|
2023-03-06 21:21:00 +01:00
|
|
|
|
2023-03-07 21:58:28 +01:00
|
|
|
TouchGFXGeneratedHAL::enableLCDControllerInterrupt();
|
2023-03-06 21:21:00 +01:00
|
|
|
}
|
|
|
|
|
2023-03-07 21:58:28 +01:00
|
|
|
bool TouchGFXHAL::beginFrame() { return TouchGFXGeneratedHAL::beginFrame(); }
|
|
|
|
|
|
|
|
void TouchGFXHAL::endFrame() { TouchGFXGeneratedHAL::endFrame(); }
|
2023-03-06 21:21:00 +01:00
|
|
|
|
|
|
|
/* USER CODE END TouchGFXHAL.cpp */
|
|
|
|
|
|
|
|
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|