qspi加载问题

This commit is contained in:
Aladdin-Wang 2020-03-19 17:33:43 +08:00
parent 69a0af8e57
commit 2c97cd6843
328 changed files with 1611 additions and 226138 deletions

File diff suppressed because one or more lines are too long

View File

@ -368,6 +368,7 @@ CONFIG_RT_LIBC_USING_TIME=y
# CONFIG_PKG_USING_EMBARC_BSP is not set
# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set
# CONFIG_PKG_USING_MAX7219 is not set
# CONFIG_PKG_USING_BEEP is not set
#
# miscellaneous packages
@ -417,7 +418,7 @@ CONFIG_SOC_STM32F767IG=y
#
CONFIG_BSP_USING_USB_TO_USART=y
# CONFIG_BSP_USING_RS232 is not set
CONFIG_BSP_USING_SDRAM=y
# CONFIG_BSP_USING_SDRAM is not set
# CONFIG_BSP_USING_QSPI_FLASH is not set
# CONFIG_BSP_USING_LCD is not set
# CONFIG_BSP_USING_MPU6050 is not set
@ -440,7 +441,7 @@ CONFIG_BSP_USING_UART1=y
# CONFIG_BSP_USING_ONCHIP_RTC is not set
# CONFIG_BSP_USING_WDT is not set
# CONFIG_BSP_USING_SDIO is not set
CONFIG_BSP_USING_FMC=y
# CONFIG_BSP_USING_FMC is not set
# CONFIG_BSP_USING_LTDC is not set
# CONFIG_BSP_USING_CRC is not set
# CONFIG_BSP_USING_RNG is not set

View File

@ -11,9 +11,41 @@
#include <rtthread.h>
#include <rtdevice.h>
#include <board.h>
#include "app_touchgfx.h"
CRC_HandleTypeDef hcrc;
DMA2D_HandleTypeDef hdma2d;
LTDC_HandleTypeDef hltdc;
SDRAM_HandleTypeDef hsdram1;
FMC_SDRAM_CommandTypeDef Command;
static void MX_CRC_Init(void);
static void MX_DMA2D_Init(void);
static void MX_FMC_Init(void);
static void MX_LTDC_Init(void);
static void MX_SDRAM_InitEx(void);
/* defined the LED0 pin: PH10 */
#define LED0_PIN GET_PIN(H, 10)
#define DISP_Pin GET_PIN(D, 4)
#define CTDL_BL_Pin GET_PIN(D, 7)
#define WIFI_Pin GET_PIN(G, 9)
#define REFRESH_COUNT 1386
#define SDRAM_TIMEOUT ((uint32_t)0xFFFF)
#define SDRAM_MODEREG_BURST_LENGTH_1 ((uint16_t)0x0000)
#define SDRAM_MODEREG_BURST_LENGTH_2 ((uint16_t)0x0001)
#define SDRAM_MODEREG_BURST_LENGTH_4 ((uint16_t)0x0002)
#define SDRAM_MODEREG_BURST_LENGTH_8 ((uint16_t)0x0004)
#define SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL ((uint16_t)0x0000)
#define SDRAM_MODEREG_BURST_TYPE_INTERLEAVED ((uint16_t)0x0008)
#define SDRAM_MODEREG_CAS_LATENCY_2 ((uint16_t)0x0020)
#define SDRAM_MODEREG_CAS_LATENCY_3 ((uint16_t)0x0030)
#define SDRAM_MODEREG_OPERATING_MODE_STANDARD ((uint16_t)0x0000)
#define SDRAM_MODEREG_WRITEBURST_MODE_PROGRAMMED ((uint16_t)0x0000)
#define SDRAM_MODEREG_WRITEBURST_MODE_SINGLE ((uint16_t)0x0200)
int main(void)
{
@ -31,3 +63,306 @@ int main(void)
return RT_EOK;
}
void touchgfx_thread_entry(void *parameter)
{
/* Enable I-Cache---------------------------------------------------------*/
SCB_EnableICache();
/* Enable D-Cache---------------------------------------------------------*/
SCB_EnableDCache();
MX_CRC_Init();
MX_DMA2D_Init();
MX_FMC_Init();
MX_SDRAM_InitEx();
MX_LTDC_Init();
MX_TouchGFX_Init();
MX_TouchGFX_Process();
for(;;)
{
rt_thread_mdelay(100);
}
}
int TouchGFXTask(void)
{
rt_thread_t tid = NULL;
tid = rt_thread_create("TouchGFX",
touchgfx_thread_entry, RT_NULL,
4096, 20, 20);
if (tid != RT_NULL)
rt_thread_startup(tid);
else
return -1;
return RT_EOK;
}
INIT_APP_EXPORT(TouchGFXTask);
/**
* @brief This function handles LTDC global interrupt.
*/
void LTDC_IRQHandler(void)
{
/* USER CODE BEGIN LTDC_IRQn 0 */
/* USER CODE END LTDC_IRQn 0 */
HAL_LTDC_IRQHandler(&hltdc);
/* USER CODE BEGIN LTDC_IRQn 1 */
/* USER CODE END LTDC_IRQn 1 */
}
/**
* @brief This function handles DMA2D global interrupt.
*/
void DMA2D_IRQHandler(void)
{
/* USER CODE BEGIN DMA2D_IRQn 0 */
/* USER CODE END DMA2D_IRQn 0 */
HAL_DMA2D_IRQHandler(&hdma2d);
/* USER CODE BEGIN DMA2D_IRQn 1 */
/* USER CODE END DMA2D_IRQn 1 */
}
/**
* @brief CRC Initialization Function
* @param None
* @retval None
*/
static void MX_CRC_Init(void)
{
/* USER CODE BEGIN CRC_Init 0 */
/* USER CODE END CRC_Init 0 */
/* USER CODE BEGIN CRC_Init 1 */
/* USER CODE END CRC_Init 1 */
hcrc.Instance = CRC;
hcrc.Init.DefaultPolynomialUse = DEFAULT_POLYNOMIAL_ENABLE;
hcrc.Init.DefaultInitValueUse = DEFAULT_INIT_VALUE_ENABLE;
hcrc.Init.InputDataInversionMode = CRC_INPUTDATA_INVERSION_NONE;
hcrc.Init.OutputDataInversionMode = CRC_OUTPUTDATA_INVERSION_DISABLE;
hcrc.InputDataFormat = CRC_INPUTDATA_FORMAT_BYTES;
if (HAL_CRC_Init(&hcrc) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN CRC_Init 2 */
/* USER CODE END CRC_Init 2 */
}
/**
* @brief DMA2D Initialization Function
* @param None
* @retval None
*/
static void MX_DMA2D_Init(void)
{
/* USER CODE BEGIN DMA2D_Init 0 */
/* USER CODE END DMA2D_Init 0 */
/* USER CODE BEGIN DMA2D_Init 1 */
/* USER CODE END DMA2D_Init 1 */
hdma2d.Instance = DMA2D;
hdma2d.Init.Mode = DMA2D_M2M;
hdma2d.Init.ColorMode = DMA2D_OUTPUT_RGB565;
hdma2d.Init.OutputOffset = 0;
hdma2d.LayerCfg[1].InputOffset = 0;
hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_RGB565;
hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA;
hdma2d.LayerCfg[1].InputAlpha = 0;
hdma2d.LayerCfg[1].AlphaInverted = DMA2D_REGULAR_ALPHA;
hdma2d.LayerCfg[1].RedBlueSwap = DMA2D_RB_REGULAR;
if (HAL_DMA2D_Init(&hdma2d) != HAL_OK)
{
Error_Handler();
}
if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN DMA2D_Init 2 */
/* USER CODE END DMA2D_Init 2 */
}
/**
* @brief LTDC Initialization Function
* @param None
* @retval None
*/
static void MX_LTDC_Init(void)
{
/* USER CODE BEGIN LTDC_Init 0 */
/* USER CODE END LTDC_Init 0 */
LTDC_LayerCfgTypeDef pLayerCfg = {0};
/* USER CODE BEGIN LTDC_Init 1 */
/* USER CODE END LTDC_Init 1 */
hltdc.Instance = LTDC;
hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL;
hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL;
hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL;
hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC;
hltdc.Init.HorizontalSync = 0;
hltdc.Init.VerticalSync = 0;
hltdc.Init.AccumulatedHBP = 46;
hltdc.Init.AccumulatedVBP = 23;
hltdc.Init.AccumulatedActiveW = 846;
hltdc.Init.AccumulatedActiveH = 503;
hltdc.Init.TotalWidth = 866;
hltdc.Init.TotalHeigh = 525;
hltdc.Init.Backcolor.Blue = 0;
hltdc.Init.Backcolor.Green = 0;
hltdc.Init.Backcolor.Red = 0;
if (HAL_LTDC_Init(&hltdc) != HAL_OK)
{
Error_Handler();
}
pLayerCfg.WindowX0 = 0;
pLayerCfg.WindowX1 = 800;
pLayerCfg.WindowY0 = 0;
pLayerCfg.WindowY1 = 480;
pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565;
pLayerCfg.Alpha = 255;
pLayerCfg.Alpha0 = 0;
pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_CA;
pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA;
pLayerCfg.FBStartAdress = 0;
pLayerCfg.ImageWidth = 800;
pLayerCfg.ImageHeight = 480;
pLayerCfg.Backcolor.Blue = 0;
pLayerCfg.Backcolor.Green = 0;
pLayerCfg.Backcolor.Red = 0;
if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN LTDC_Init 2 */
rt_pin_mode(DISP_Pin, PIN_MODE_OUTPUT);
rt_pin_mode(CTDL_BL_Pin, PIN_MODE_OUTPUT);
rt_pin_mode(WIFI_Pin, PIN_MODE_OUTPUT);
rt_pin_write(DISP_Pin, 1);
rt_pin_write(CTDL_BL_Pin, 1);
rt_pin_write(WIFI_Pin, 0);
/* USER CODE END LTDC_Init 2 */
}
/* FMC initialization function */
static void MX_FMC_Init(void)
{
/* USER CODE BEGIN FMC_Init 0 */
/* USER CODE END FMC_Init 0 */
FMC_SDRAM_TimingTypeDef SdramTiming = {0};
/* USER CODE BEGIN FMC_Init 1 */
/* USER CODE END FMC_Init 1 */
/** Perform the SDRAM1 memory initialization sequence
*/
hsdram1.Instance = FMC_SDRAM_DEVICE;
/* hsdram1.Init */
hsdram1.Init.SDBank = FMC_SDRAM_BANK2;
hsdram1.Init.ColumnBitsNumber = FMC_SDRAM_COLUMN_BITS_NUM_8;
hsdram1.Init.RowBitsNumber = FMC_SDRAM_ROW_BITS_NUM_12;
hsdram1.Init.MemoryDataWidth = FMC_SDRAM_MEM_BUS_WIDTH_16;
hsdram1.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4;
hsdram1.Init.CASLatency = FMC_SDRAM_CAS_LATENCY_3;
hsdram1.Init.WriteProtection = FMC_SDRAM_WRITE_PROTECTION_DISABLE;
hsdram1.Init.SDClockPeriod = FMC_SDRAM_CLOCK_PERIOD_2;
hsdram1.Init.ReadBurst = FMC_SDRAM_RBURST_ENABLE;
hsdram1.Init.ReadPipeDelay = FMC_SDRAM_RPIPE_DELAY_1;
/* SdramTiming */
SdramTiming.LoadToActiveDelay = 2;
SdramTiming.ExitSelfRefreshDelay = 7;
SdramTiming.SelfRefreshTime = 4;
SdramTiming.RowCycleDelay = 7;
SdramTiming.WriteRecoveryTime = 3;
SdramTiming.RPDelay = 2;
SdramTiming.RCDDelay = 2;
if (HAL_SDRAM_Init(&hsdram1, &SdramTiming) != HAL_OK)
{
Error_Handler( );
}
/* USER CODE BEGIN FMC_Init 2 */
/* USER CODE END FMC_Init 2 */
}
/**
* @brief Programs the SDRAM device.
* @retval None
*/
void MX_SDRAM_InitEx(void)
{
__IO uint32_t tmpmrd = 0;
/* Step 1: Configure a clock configuration enable command */
Command.CommandMode = FMC_SDRAM_CMD_CLK_ENABLE;
Command.CommandTarget = FMC_SDRAM_CMD_TARGET_BANK2;
Command.AutoRefreshNumber = 1;
Command.ModeRegisterDefinition = 0;
/* Send the command */
HAL_SDRAM_SendCommand(&hsdram1, &Command, SDRAM_TIMEOUT);
/* Step 2: Insert 100 us minimum delay */
/* Inserted delay is equal to 1 ms due to systick time base unit (ms) */
HAL_Delay(1);
/* Step 3: Configure a PALL (precharge all) command */
Command.CommandMode = FMC_SDRAM_CMD_PALL;
Command.CommandTarget = FMC_SDRAM_CMD_TARGET_BANK2;
Command.AutoRefreshNumber = 1;
Command.ModeRegisterDefinition = 0;
/* Send the command */
HAL_SDRAM_SendCommand(&hsdram1, &Command, SDRAM_TIMEOUT);
/* Step 4: Configure an Auto Refresh command */
Command.CommandMode = FMC_SDRAM_CMD_AUTOREFRESH_MODE;
Command.CommandTarget = FMC_SDRAM_CMD_TARGET_BANK2;
Command.AutoRefreshNumber = 4;
Command.ModeRegisterDefinition = 0;
/* Send the command */
HAL_SDRAM_SendCommand(&hsdram1, &Command, SDRAM_TIMEOUT);
/* Step 5: Program the external memory mode register */
tmpmrd = (uint32_t)SDRAM_MODEREG_BURST_LENGTH_1 |\
SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL |\
SDRAM_MODEREG_CAS_LATENCY_3 |\
SDRAM_MODEREG_OPERATING_MODE_STANDARD |\
SDRAM_MODEREG_WRITEBURST_MODE_SINGLE;
Command.CommandMode = FMC_SDRAM_CMD_LOAD_MODE;
Command.CommandTarget = FMC_SDRAM_CMD_TARGET_BANK2;
Command.AutoRefreshNumber = 1;
Command.ModeRegisterDefinition = tmpmrd;
/* Send the command */
HAL_SDRAM_SendCommand(&hsdram1, &Command, SDRAM_TIMEOUT);
/* Step 6: Set the refresh rate counter */
/* Set the device refresh rate */
HAL_SDRAM_ProgramRefreshRate(&hsdram1, REFRESH_COUNT);
}

File diff suppressed because one or more lines are too long

View File

@ -1,10 +1,9 @@
#MicroXplorer Configuration settings - do not modify
ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_5
ADC1.IPParameters=Rank-0\#ChannelRegularConversion,master,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag
ADC1.NbrOfConversionFlag=1
ADC1.Rank-0\#ChannelRegularConversion=1
ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_3CYCLES
ADC1.master=1
CORTEX_M7.ART_ACCLERATOR_ENABLE=1
CORTEX_M7.CPU_DCache=Enabled
CORTEX_M7.CPU_ICache=Enabled
CORTEX_M7.IPParameters=ART_ACCLERATOR_ENABLE,PREFETCH_ENABLE,CPU_ICache,CPU_DCache
CORTEX_M7.PREFETCH_ENABLE=1
DMA2D.ColorMode=DMA2D_OUTPUT_RGB565
DMA2D.IPParameters=ColorMode
ETH.IPParameters=MediaInterface
@ -49,119 +48,112 @@ LTDC.VSync=1
LTDC.WindowX1_L0=800
LTDC.WindowY1_L0=480
Mcu.Family=STM32F7
Mcu.IP0=ADC1
Mcu.IP1=CORTEX_M7
Mcu.IP10=RCC
Mcu.IP11=SDMMC1
Mcu.IP12=SYS
Mcu.IP13=USART1
Mcu.IP2=CRC
Mcu.IP3=DMA2D
Mcu.IP4=ETH
Mcu.IP5=FMC
Mcu.IP6=FREERTOS
Mcu.IP7=LTDC
Mcu.IP8=NVIC
Mcu.IP9=QUADSPI
Mcu.IPNb=14
Mcu.IP0=CORTEX_M7
Mcu.IP1=CRC
Mcu.IP10=SYS
Mcu.IP11=USART1
Mcu.IP2=DMA2D
Mcu.IP3=ETH
Mcu.IP4=FMC
Mcu.IP5=FREERTOS
Mcu.IP6=LTDC
Mcu.IP7=NVIC
Mcu.IP8=QUADSPI
Mcu.IP9=RCC
Mcu.IPNb=12
Mcu.Name=STM32F767I(G-I)Tx
Mcu.Package=LQFP176
Mcu.Pin0=PI9
Mcu.Pin1=PI10
Mcu.Pin10=PF8
Mcu.Pin11=PF9
Mcu.Pin12=PF10
Mcu.Pin13=PH0/OSC_IN
Mcu.Pin14=PH1/OSC_OUT
Mcu.Pin15=PC0
Mcu.Pin16=PC1
Mcu.Pin17=PA1
Mcu.Pin18=PA2
Mcu.Pin19=PA3
Mcu.Pin2=PF0
Mcu.Pin20=PA5
Mcu.Pin21=PA7
Mcu.Pin22=PC4
Mcu.Pin23=PC5
Mcu.Pin24=PB0
Mcu.Pin25=PB1
Mcu.Pin26=PB2
Mcu.Pin27=PF11
Mcu.Pin28=PF12
Mcu.Pin29=PF13
Mcu.Pin3=PF1
Mcu.Pin30=PF14
Mcu.Pin31=PF15
Mcu.Pin32=PG0
Mcu.Pin33=PG1
Mcu.Pin34=PE7
Mcu.Pin35=PE8
Mcu.Pin36=PE9
Mcu.Pin37=PE10
Mcu.Pin38=PE11
Mcu.Pin39=PE12
Mcu.Pin4=PF2
Mcu.Pin40=PE13
Mcu.Pin41=PE14
Mcu.Pin42=PE15
Mcu.Pin43=PB11
Mcu.Pin44=PH6
Mcu.Pin45=PH7
Mcu.Pin46=PH10
Mcu.Pin47=PB12
Mcu.Pin48=PB13
Mcu.Pin49=PD8
Mcu.Pin5=PF3
Mcu.Pin50=PD9
Mcu.Pin51=PD10
Mcu.Pin52=PD14
Mcu.Pin53=PD15
Mcu.Pin54=PG4
Mcu.Pin55=PG5
Mcu.Pin56=PG6
Mcu.Pin57=PG7
Mcu.Pin58=PG8
Mcu.Pin59=PC7
Mcu.Pin6=PF4
Mcu.Pin60=PC8
Mcu.Pin61=PC9
Mcu.Pin62=PA9
Mcu.Pin63=PA10
Mcu.Pin64=PA11
Mcu.Pin65=PA12
Mcu.Pin66=PA13
Mcu.Pin67=PH13
Mcu.Pin68=PH15
Mcu.Pin69=PI0
Mcu.Pin7=PF5
Mcu.Pin70=PI2
Mcu.Pin71=PA14
Mcu.Pin72=PC10
Mcu.Pin73=PC11
Mcu.Pin74=PC12
Mcu.Pin75=PD0
Mcu.Pin76=PD1
Mcu.Pin77=PD2
Mcu.Pin78=PD4
Mcu.Pin79=PD7
Mcu.Pin8=PF6
Mcu.Pin80=PG9
Mcu.Pin81=PG10
Mcu.Pin82=PG11
Mcu.Pin83=PG15
Mcu.Pin84=PB6
Mcu.Pin85=PB8
Mcu.Pin86=PB9
Mcu.Pin87=PE0
Mcu.Pin88=PE1
Mcu.Pin89=PI4
Mcu.Pin9=PF7
Mcu.Pin90=VP_CRC_VS_CRC
Mcu.Pin91=VP_DMA2D_VS_DMA2D
Mcu.Pin92=VP_FREERTOS_VS_CMSIS_V1
Mcu.Pin93=VP_SYS_VS_tim6
Mcu.Pin94=VP_STMicroelectronics.X-CUBE-TOUCHGFX_VS_GraphicsJjApplication_4.13.0
Mcu.PinsNb=95
Mcu.Pin0=PC14/OSC32_IN
Mcu.Pin1=PC15/OSC32_OUT
Mcu.Pin10=PF6
Mcu.Pin11=PF7
Mcu.Pin12=PF8
Mcu.Pin13=PF9
Mcu.Pin14=PF10
Mcu.Pin15=PH0/OSC_IN
Mcu.Pin16=PH1/OSC_OUT
Mcu.Pin17=PC0
Mcu.Pin18=PC1
Mcu.Pin19=PA1
Mcu.Pin2=PI9
Mcu.Pin20=PA2
Mcu.Pin21=PA3
Mcu.Pin22=PA7
Mcu.Pin23=PC4
Mcu.Pin24=PC5
Mcu.Pin25=PB0
Mcu.Pin26=PB1
Mcu.Pin27=PB2
Mcu.Pin28=PF11
Mcu.Pin29=PF12
Mcu.Pin3=PI10
Mcu.Pin30=PF13
Mcu.Pin31=PF14
Mcu.Pin32=PF15
Mcu.Pin33=PG0
Mcu.Pin34=PG1
Mcu.Pin35=PE7
Mcu.Pin36=PE8
Mcu.Pin37=PE9
Mcu.Pin38=PE10
Mcu.Pin39=PE11
Mcu.Pin4=PF0
Mcu.Pin40=PE12
Mcu.Pin41=PE13
Mcu.Pin42=PE14
Mcu.Pin43=PE15
Mcu.Pin44=PB11
Mcu.Pin45=PH6
Mcu.Pin46=PH7
Mcu.Pin47=PH10
Mcu.Pin48=PB12
Mcu.Pin49=PB13
Mcu.Pin5=PF1
Mcu.Pin50=PD8
Mcu.Pin51=PD9
Mcu.Pin52=PD10
Mcu.Pin53=PD14
Mcu.Pin54=PD15
Mcu.Pin55=PG4
Mcu.Pin56=PG5
Mcu.Pin57=PG6
Mcu.Pin58=PG7
Mcu.Pin59=PG8
Mcu.Pin6=PF2
Mcu.Pin60=PC7
Mcu.Pin61=PA9
Mcu.Pin62=PA10
Mcu.Pin63=PA11
Mcu.Pin64=PA12
Mcu.Pin65=PA13
Mcu.Pin66=PH13
Mcu.Pin67=PH15
Mcu.Pin68=PI0
Mcu.Pin69=PI2
Mcu.Pin7=PF3
Mcu.Pin70=PA14
Mcu.Pin71=PD0
Mcu.Pin72=PD1
Mcu.Pin73=PD4
Mcu.Pin74=PD7
Mcu.Pin75=PG9
Mcu.Pin76=PG10
Mcu.Pin77=PG11
Mcu.Pin78=PG15
Mcu.Pin79=PB6
Mcu.Pin8=PF4
Mcu.Pin80=PB8
Mcu.Pin81=PB9
Mcu.Pin82=PE0
Mcu.Pin83=PE1
Mcu.Pin84=PI4
Mcu.Pin85=VP_CRC_VS_CRC
Mcu.Pin86=VP_DMA2D_VS_DMA2D
Mcu.Pin87=VP_FREERTOS_VS_CMSIS_V1
Mcu.Pin88=VP_SYS_VS_tim6
Mcu.Pin89=VP_STMicroelectronics.X-CUBE-TOUCHGFX_VS_GraphicsJjApplication_4.13.0
Mcu.Pin9=PF5
Mcu.PinsNb=90
Mcu.ThirdParty0=STMicroelectronics.X-CUBE-TOUCHGFX.4.13.0
Mcu.ThirdPartyNb=1
Mcu.UserConstants=
@ -210,7 +202,6 @@ PA3.GPIOParameters=GPIO_Speed
PA3.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PA3.Mode=RGB565
PA3.Signal=LTDC_B5
PA5.Signal=ADCx_IN5
PA7.Mode=RMII
PA7.Signal=ETH_CRS_DV
PA9.Locked=true
@ -246,12 +237,10 @@ PB9.Signal=LTDC_B7
PC0.Signal=FMC_SDNWE
PC1.Mode=RMII
PC1.Signal=ETH_MDC
PC10.Mode=SD_4_bits_Wide_bus
PC10.Signal=SDMMC1_D2
PC11.Mode=SD_4_bits_Wide_bus
PC11.Signal=SDMMC1_D3
PC12.Mode=SD_4_bits_Wide_bus
PC12.Signal=SDMMC1_CK
PC14/OSC32_IN.Mode=LSE-External-Oscillator
PC14/OSC32_IN.Signal=RCC_OSC32_IN
PC15/OSC32_OUT.Mode=LSE-External-Oscillator
PC15/OSC32_OUT.Signal=RCC_OSC32_OUT
PC4.Mode=RMII
PC4.Signal=ETH_RXD0
PC5.Mode=RMII
@ -261,17 +250,11 @@ PC7.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
PC7.Locked=true
PC7.Mode=RGB565
PC7.Signal=LTDC_G6
PC8.Mode=SD_4_bits_Wide_bus
PC8.Signal=SDMMC1_D0
PC9.Mode=SD_4_bits_Wide_bus
PC9.Signal=SDMMC1_D1
PD0.Signal=FMC_D2_DA2
PD1.Signal=FMC_D3_DA3
PD10.Signal=FMC_D15_DA15
PD14.Signal=FMC_D0_DA0
PD15.Signal=FMC_D1_DA1
PD2.Mode=SD_4_bits_Wide_bus
PD2.Signal=SDMMC1_CMD
PD4.GPIOParameters=PinState,GPIO_PuPd,GPIO_Label
PD4.GPIO_Label=DISP
PD4.GPIO_PuPd=GPIO_PULLUP
@ -408,7 +391,7 @@ ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=MDK-ARM V5.27
ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_ETH_Init-ETH-false-HAL-true,6-MX_FMC_Init-FMC-false-HAL-true,7-MX_QUADSPI_Init-QUADSPI-false-HAL-true,8-MX_SDMMC1_SD_Init-SDMMC1-false-HAL-true,9-MX_DMA2D_Init-DMA2D-false-HAL-true,10-MX_LTDC_Init-LTDC-false-HAL-true,11-MX_ADC1_Init-ADC1-false-HAL-true,12-MX_CRC_Init-CRC-false-HAL-true,13-MX_TouchGFX_Init-STMicroelectronics.X-CUBE-TOUCHGFX.4.13.0-false-HAL-false,14-MX_TouchGFX_Process-STMicroelectronics.X-CUBE-TOUCHGFX.4.13.0-false-HAL-false
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_ETH_Init-ETH-false-HAL-true,6-MX_FMC_Init-FMC-false-HAL-true,7-MX_QUADSPI_Init-QUADSPI-false-HAL-true,8-MX_SDMMC1_SD_Init-SDMMC1-false-HAL-true,8-MX_DMA2D_Init-DMA2D-false-HAL-true,9-MX_LTDC_Init-LTDC-false-HAL-true,11-MX_ADC1_Init-ADC1-false-HAL-true,10-MX_CRC_Init-CRC-false-HAL-true,11-MX_TouchGFX_Init-STMicroelectronics.X-CUBE-TOUCHGFX.4.13.0-false-HAL-false,12-MX_TouchGFX_Process-STMicroelectronics.X-CUBE-TOUCHGFX.4.13.0-false-HAL-false
QUADSPI.ChipSelectHighTime=QSPI_CS_HIGH_TIME_4_CYCLE
QUADSPI.ClockPrescaler=2
QUADSPI.FifoThreshold=4
@ -424,7 +407,7 @@ RCC.APB2Freq_Value=108000000
RCC.APB2TimFreq_Value=216000000
RCC.CECFreq_Value=32786.88524590164
RCC.CortexFreq_Value=216000000
RCC.DFSDMAudioFreq_Value=96000000
RCC.DFSDMAudioFreq_Value=176000000
RCC.DFSDMFreq_Value=108000000
RCC.EthernetFreq_Value=216000000
RCC.FCLKCortexFreq_Value=216000000
@ -437,10 +420,9 @@ RCC.I2C2Freq_Value=54000000
RCC.I2C3Freq_Value=54000000
RCC.I2C4Freq_Value=54000000
RCC.I2SFreq_Value=96000000
RCC.IPParameters=AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CECFreq_Value,CortexFreq_Value,DFSDMAudioFreq_Value,DFSDMFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I2SFreq_Value,LCDTFTFreq_Value,LPTIM1Freq_Value,LSE_VALUE,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLI2SPCLKFreq_Value,PLLI2SQCLKFreq_Value,PLLI2SRCLKFreq_Value,PLLI2SRoutputFreq_Value,PLLM,PLLN,PLLQ,PLLQCLKFreq_Value,PLLQoutputFreq_Value,PLLRFreq_Value,PLLSAIPCLKFreq_Value,PLLSAIQCLKFreq_Value,PLLSAIR,PLLSAIRCLKFreq_Value,PLLSAIoutputFreq_Value,PLLSourceVirtual,RNGFreq_Value,SAI1Freq_Value,SAI2Freq_Value,SDMMC2Freq_Value,SDMMCClockSelection,SDMMCFreq_Value,SPDIFRXFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,UART5Freq_Value,UART7Freq_Value,UART8Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USART6Freq_Value,USBFreq_Value,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAIOutputFreq_Value
RCC.LCDTFTFreq_Value=32000000
RCC.IPParameters=AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CECFreq_Value,CortexFreq_Value,DFSDMAudioFreq_Value,DFSDMFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I2SFreq_Value,LCDTFTFreq_Value,LPTIM1Freq_Value,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLI2SPCLKFreq_Value,PLLI2SQCLKFreq_Value,PLLI2SRCLKFreq_Value,PLLI2SRoutputFreq_Value,PLLM,PLLN,PLLQ,PLLQCLKFreq_Value,PLLQoutputFreq_Value,PLLRFreq_Value,PLLSAIN,PLLSAIPCLKFreq_Value,PLLSAIQCLKFreq_Value,PLLSAIR,PLLSAIRCLKFreq_Value,PLLSAIRDiv,PLLSAIoutputFreq_Value,PLLSourceVirtual,RNGFreq_Value,SAI1Freq_Value,SAI2Freq_Value,SDMMC2Freq_Value,SDMMCClockSelection,SDMMCFreq_Value,SPDIFRXFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,UART5Freq_Value,UART7Freq_Value,UART8Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USART6Freq_Value,USBFreq_Value,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAIOutputFreq_Value
RCC.LCDTFTFreq_Value=22000000
RCC.LPTIM1Freq_Value=54000000
RCC.LSE_VALUE=32768
RCC.LSI_VALUE=32000
RCC.MCO2PinFreq_Value=216000000
RCC.PLLCLKFreq_Value=216000000
@ -454,15 +436,17 @@ RCC.PLLQ=9
RCC.PLLQCLKFreq_Value=48000000
RCC.PLLQoutputFreq_Value=48000000
RCC.PLLRFreq_Value=216000000
RCC.PLLSAIPCLKFreq_Value=96000000
RCC.PLLSAIQCLKFreq_Value=96000000
RCC.PLLSAIR=3
RCC.PLLSAIRCLKFreq_Value=64000000
RCC.PLLSAIoutputFreq_Value=96000000
RCC.PLLSAIN=352
RCC.PLLSAIPCLKFreq_Value=176000000
RCC.PLLSAIQCLKFreq_Value=176000000
RCC.PLLSAIR=4
RCC.PLLSAIRCLKFreq_Value=88000000
RCC.PLLSAIRDiv=RCC_PLLSAIDIVR_4
RCC.PLLSAIoutputFreq_Value=176000000
RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
RCC.RNGFreq_Value=48000000
RCC.SAI1Freq_Value=96000000
RCC.SAI2Freq_Value=96000000
RCC.SAI1Freq_Value=176000000
RCC.SAI2Freq_Value=176000000
RCC.SDMMC2Freq_Value=216000000
RCC.SDMMCClockSelection=RCC_SDMMC1CLKSOURCE_CLK48
RCC.SDMMCFreq_Value=48000000
@ -481,9 +465,7 @@ RCC.USBFreq_Value=48000000
RCC.VCOI2SOutputFreq_Value=192000000
RCC.VCOInputFreq_Value=1000000
RCC.VCOOutputFreq_Value=432000000
RCC.VCOSAIOutputFreq_Value=192000000
SH.ADCx_IN5.0=ADC1_IN5,IN5
SH.ADCx_IN5.ConfNb=1
RCC.VCOSAIOutputFreq_Value=352000000
SH.FMC_A0.0=FMC_A0,12b-sda1
SH.FMC_A0.ConfNb=1
SH.FMC_A1.0=FMC_A1,12b-sda1

View File

@ -36,7 +36,7 @@
*/
#define HAL_MODULE_ENABLED
#define HAL_ADC_MODULE_ENABLED
/* #define HAL_ADC_MODULE_ENABLED */
/* #define HAL_CRYP_MODULE_ENABLED */
/* #define HAL_CAN_MODULE_ENABLED */
/* #define HAL_CEC_MODULE_ENABLED */
@ -59,7 +59,7 @@
/* #define HAL_RNG_MODULE_ENABLED */
/* #define HAL_RTC_MODULE_ENABLED */
/* #define HAL_SAI_MODULE_ENABLED */
#define HAL_SD_MODULE_ENABLED
/* #define HAL_SD_MODULE_ENABLED */
/* #define HAL_MMC_MODULE_ENABLED */
/* #define HAL_SPDIFRX_MODULE_ENABLED */
/* #define HAL_SPI_MODULE_ENABLED */
@ -147,8 +147,8 @@
#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */
#define TICK_INT_PRIORITY ((uint32_t)0U) /*!< tick interrupt priority */
#define USE_RTOS 0U
#define PREFETCH_ENABLE 0U
#define ART_ACCLERATOR_ENABLE 0U /* To enable instruction cache and prefetch */
#define PREFETCH_ENABLE 1U
#define ART_ACCLERATOR_ENABLE 1U /* To enable instruction cache and prefetch */
/* ########################## Assert Selection ############################## */
/**

View File

@ -18,7 +18,7 @@
<Vendor>STMicroelectronics</Vendor>
<PackID>Keil.STM32F7xx_DFP.2.12.0</PackID>
<PackURL>https://www.keil.com/pack/</PackURL>
<Cpu>IRAM(0x20000000-0x2007FFFF) IROM(0x8000000-0x80FFFFF) CLOCK(12000000) FPU3(DFPU) CPUTYPE("Cortex-M7") ELITTLE</Cpu>
<Cpu>IRAM(0x20000000-0x2007FFFF) IROM(0x8000000-0x80FFFFF) CLOCK(12000000) FPU3(DFPU) CPUTYPE("Cortex-M7") ELITTLE</Cpu>
<FlashUtilSpec></FlashUtilSpec>
<StartupFile></StartupFile>
<FlashDriverDll></FlashDriverDll>
@ -338,7 +338,7 @@
<MiscControls></MiscControls>
<Define>USE_HAL_DRIVER,STM32F767xx</Define>
<Undefine></Undefine>
<IncludePath>../Inc; ../Src; ../Drivers/STM32F7xx_HAL_Driver/Inc; ../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy; ../Middlewares/Third_Party/FreeRTOS/Source/include; ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS; ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM7/r0p1; ../Drivers/CMSIS/Device/ST/STM32F7xx/Include; ../Drivers/CMSIS/Include; ../middlewares/st/touchgfx/framework/include; ../src/generated/fonts/include; ../src/generated/gui_generated/include; ../src/generated/images/include; ../src/generated/texts/include; ../src/gui/include; ..\Drivers\Touch_Driver</IncludePath>
<IncludePath>../Inc; ../Src; ../Drivers/STM32F7xx_HAL_Driver/Inc; ../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy; ../Middlewares/Third_Party/FreeRTOS/Source/include; ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS; ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM7/r0p1; ../Drivers/CMSIS/Device/ST/STM32F7xx/Include; ../Drivers/CMSIS/Include; ../Drivers/Touch_Driver;../middlewares/st/touchgfx/framework/include;../src/generated/fonts/include;../src/generated/gui_generated/include;../src/generated/images/include;../src/generated/texts/include;../src/gui/include</IncludePath>
</VariousControls>
</Cads>
<Aads>
@ -483,14 +483,19 @@
<GroupName>Drivers/STM32F7xx_HAL_Driver</GroupName>
<Files>
<File>
<FileName>stm32f7xx_hal_adc.c</FileName>
<FileName>stm32f7xx_hal_cortex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_adc.c</FilePath>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_adc_ex.c</FileName>
<FileName>stm32f7xx_hal_crc.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_adc_ex.c</FilePath>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_crc.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_crc_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_crc_ex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_rcc.c</FileName>
@ -537,11 +542,6 @@
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_cortex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal.c</FileName>
<FileType>1</FileType>
@ -562,16 +562,6 @@
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_exti.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_crc.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_crc.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_crc_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_crc_ex.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_dma2d.c</FileName>
<FileType>1</FileType>
@ -612,16 +602,6 @@
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_qspi.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_ll_sdmmc.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_sdmmc.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_sd.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c</FilePath>
</File>
<File>
<FileName>stm32f7xx_hal_tim.c</FileName>
<FileType>1</FileType>
@ -702,50 +682,25 @@
<Group>
<GroupName>gui</GroupName>
<Files>
<File>
<FileName>Arrow.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/gui/src/containers/arrow.cpp</FilePath>
</File>
<File>
<FileName>FrontendApplication.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/gui/src/common/frontendapplication.cpp</FilePath>
</File>
<File>
<FileName>GameStatusPopup.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/gui/src/main_screen/gamestatuspopup.cpp</FilePath>
</File>
<File>
<FileName>Head.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/gui/src/containers/head.cpp</FilePath>
</File>
<File>
<FileName>Knight.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/gui/src/containers/knight.cpp</FilePath>
</File>
<File>
<FileName>MainPresenter.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/gui/src/main_screen/mainpresenter.cpp</FilePath>
</File>
<File>
<FileName>MainView.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/gui/src/main_screen/mainview.cpp</FilePath>
</File>
<File>
<FileName>Model.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/gui/src/model/model.cpp</FilePath>
</File>
<File>
<FileName>Zombie.cpp</FileName>
<FileName>Screen1Presenter.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/gui/src/containers/zombie.cpp</FilePath>
<FilePath>../src/gui/src/screen1_screen/screen1presenter.cpp</FilePath>
</File>
<File>
<FileName>Screen1View.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/gui/src/screen1_screen/screen1view.cpp</FilePath>
</File>
</Files>
</Group>
@ -757,135 +712,30 @@
<FileType>8</FileType>
<FilePath>../src/generated/fonts/src/applicationfontprovider.cpp</FilePath>
</File>
<File>
<FileName>arrow_image.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/arrow_image.cpp</FilePath>
</File>
<File>
<FileName>arrow_sign.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/arrow_sign.cpp</FilePath>
</File>
<File>
<FileName>ArrowBase.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/gui_generated/src/containers/arrowbase.cpp</FilePath>
</File>
<File>
<FileName>attack_button.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/attack_button.cpp</FilePath>
</File>
<File>
<FileName>attack_button_pressed.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/attack_button_pressed.cpp</FilePath>
</File>
<File>
<FileName>background_layer_00.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/background_layer_00.cpp</FilePath>
</File>
<File>
<FileName>background_layer_01.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/background_layer_01.cpp</FilePath>
</File>
<File>
<FileName>background_layer_02.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/background_layer_02.cpp</FilePath>
</File>
<File>
<FileName>BitmapDatabase.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/bitmapdatabase.cpp</FilePath>
</File>
<File>
<FileName>bush.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/bush.cpp</FilePath>
</File>
<File>
<FileName>CachedFont.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/fonts/src/cachedfont.cpp</FilePath>
</File>
<File>
<FileName>chrom_art_not_present.cpp</FileName>
<FileName>Font_verdana_10_4bpp_0.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/chrom_art_not_present.cpp</FilePath>
<FilePath>../src/generated/fonts/src/font_verdana_10_4bpp_0.cpp</FilePath>
</File>
<File>
<FileName>chrom_art_off.cpp</FileName>
<FileName>Font_verdana_20_4bpp_0.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/chrom_art_off.cpp</FilePath>
<FilePath>../src/generated/fonts/src/font_verdana_20_4bpp_0.cpp</FilePath>
</File>
<File>
<FileName>chrom_art_on.cpp</FileName>
<FileName>Font_verdana_40_4bpp_0.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/chrom_art_on.cpp</FilePath>
</File>
<File>
<FileName>Dead_01.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/dead_01.cpp</FilePath>
</File>
<File>
<FileName>Dead_02.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/dead_02.cpp</FilePath>
</File>
<File>
<FileName>Dead_03.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/dead_03.cpp</FilePath>
</File>
<File>
<FileName>Dead_04.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/dead_04.cpp</FilePath>
</File>
<File>
<FileName>Dead_05.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/dead_05.cpp</FilePath>
</File>
<File>
<FileName>Dead_06.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/dead_06.cpp</FilePath>
</File>
<File>
<FileName>Dead_07.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/dead_07.cpp</FilePath>
</File>
<File>
<FileName>Dead_08.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/dead_08.cpp</FilePath>
</File>
<File>
<FileName>Dead_09.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/dead_09.cpp</FilePath>
</File>
<File>
<FileName>dead_bush.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/dead_bush.cpp</FilePath>
</File>
<File>
<FileName>Font_PatuaOne_Regular_16_4bpp_0.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/fonts/src/font_patuaone_regular_16_4bpp_0.cpp</FilePath>
</File>
<File>
<FileName>Font_PatuaOne_Regular_30_4bpp_0.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/fonts/src/font_patuaone_regular_30_4bpp_0.cpp</FilePath>
<FilePath>../src/generated/fonts/src/font_verdana_40_4bpp_0.cpp</FilePath>
</File>
<File>
<FileName>FontCache.cpp</FileName>
@ -903,219 +753,19 @@
<FilePath>../src/generated/fonts/src/generatedfont.cpp</FilePath>
</File>
<File>
<FileName>head_00.cpp</FileName>
<FileName>Kerning_verdana_10_4bpp.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/head_00.cpp</FilePath>
<FilePath>../src/generated/fonts/src/kerning_verdana_10_4bpp.cpp</FilePath>
</File>
<File>
<FileName>head_01.cpp</FileName>
<FileName>Kerning_verdana_20_4bpp.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/head_01.cpp</FilePath>
<FilePath>../src/generated/fonts/src/kerning_verdana_20_4bpp.cpp</FilePath>
</File>
<File>
<FileName>head_02.cpp</FileName>
<FileName>Kerning_verdana_40_4bpp.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/head_02.cpp</FilePath>
</File>
<File>
<FileName>head_03.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/head_03.cpp</FilePath>
</File>
<File>
<FileName>head_04.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/head_04.cpp</FilePath>
</File>
<File>
<FileName>head_05.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/head_05.cpp</FilePath>
</File>
<File>
<FileName>head_06.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/head_06.cpp</FilePath>
</File>
<File>
<FileName>head_07.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/head_07.cpp</FilePath>
</File>
<File>
<FileName>head_08.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/head_08.cpp</FilePath>
</File>
<File>
<FileName>head_09.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/head_09.cpp</FilePath>
</File>
<File>
<FileName>HeadBase.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/gui_generated/src/containers/headbase.cpp</FilePath>
</File>
<File>
<FileName>Jump_00.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jump_00.cpp</FilePath>
</File>
<File>
<FileName>Jump_01.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jump_01.cpp</FilePath>
</File>
<File>
<FileName>Jump_02.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jump_02.cpp</FilePath>
</File>
<File>
<FileName>Jump_03.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jump_03.cpp</FilePath>
</File>
<File>
<FileName>Jump_04.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jump_04.cpp</FilePath>
</File>
<File>
<FileName>Jump_05.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jump_05.cpp</FilePath>
</File>
<File>
<FileName>Jump_06.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jump_06.cpp</FilePath>
</File>
<File>
<FileName>Jump_07.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jump_07.cpp</FilePath>
</File>
<File>
<FileName>Jump_08.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jump_08.cpp</FilePath>
</File>
<File>
<FileName>Jump_09.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jump_09.cpp</FilePath>
</File>
<File>
<FileName>jump_button.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jump_button.cpp</FilePath>
</File>
<File>
<FileName>jump_button_pressed.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jump_button_pressed.cpp</FilePath>
</File>
<File>
<FileName>JumpAttack_00.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jumpattack_00.cpp</FilePath>
</File>
<File>
<FileName>JumpAttack_01.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jumpattack_01.cpp</FilePath>
</File>
<File>
<FileName>JumpAttack_02.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jumpattack_02.cpp</FilePath>
</File>
<File>
<FileName>JumpAttack_03.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jumpattack_03.cpp</FilePath>
</File>
<File>
<FileName>JumpAttack_04.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jumpattack_04.cpp</FilePath>
</File>
<File>
<FileName>JumpAttack_05.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jumpattack_05.cpp</FilePath>
</File>
<File>
<FileName>JumpAttack_06.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jumpattack_06.cpp</FilePath>
</File>
<File>
<FileName>JumpAttack_07.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jumpattack_07.cpp</FilePath>
</File>
<File>
<FileName>JumpAttack_08.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jumpattack_08.cpp</FilePath>
</File>
<File>
<FileName>JumpAttack_09.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/jumpattack_09.cpp</FilePath>
</File>
<File>
<FileName>Kerning_PatuaOne_Regular_16_4bpp.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/fonts/src/kerning_patuaone_regular_16_4bpp.cpp</FilePath>
</File>
<File>
<FileName>Kerning_PatuaOne_Regular_30_4bpp.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/fonts/src/kerning_patuaone_regular_30_4bpp.cpp</FilePath>
</File>
<File>
<FileName>knight_back_button.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/knight_back_button.cpp</FilePath>
</File>
<File>
<FileName>knight_back_button_pressed.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/knight_back_button_pressed.cpp</FilePath>
</File>
<File>
<FileName>knight_menu_background.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/knight_menu_background.cpp</FilePath>
</File>
<File>
<FileName>knight_play_button.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/knight_play_button.cpp</FilePath>
</File>
<File>
<FileName>knight_play_button_pressed.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/knight_play_button_pressed.cpp</FilePath>
</File>
<File>
<FileName>knight_progress_bar.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/knight_progress_bar.cpp</FilePath>
</File>
<File>
<FileName>knight_slider_background.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/knight_slider_background.cpp</FilePath>
</File>
<File>
<FileName>KnightBase.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/gui_generated/src/containers/knightbase.cpp</FilePath>
<FilePath>../src/generated/fonts/src/kerning_verdana_40_4bpp.cpp</FilePath>
</File>
<File>
<FileName>LanguageGb.cpp</FileName>
@ -1123,290 +773,35 @@
<FilePath>../src/generated/texts/src/languagegb.cpp</FilePath>
</File>
<File>
<FileName>life_head.cpp</FileName>
<FileName>Screen1ViewBase.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/life_head.cpp</FilePath>
<FilePath>../src/generated/gui_generated/src/screen1_screen/screen1viewbase.cpp</FilePath>
</File>
<File>
<FileName>life_head_off.cpp</FileName>
<FileName>Table_verdana_10_4bpp.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/life_head_off.cpp</FilePath>
<FilePath>../src/generated/fonts/src/table_verdana_10_4bpp.cpp</FilePath>
</File>
<File>
<FileName>MainViewBase.cpp</FileName>
<FileName>Table_verdana_20_4bpp.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/gui_generated/src/main_screen/mainviewbase.cpp</FilePath>
<FilePath>../src/generated/fonts/src/table_verdana_20_4bpp.cpp</FilePath>
</File>
<File>
<FileName>popup_progress_bar.cpp</FileName>
<FileName>Table_verdana_40_4bpp.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/popup_progress_bar.cpp</FilePath>
</File>
<File>
<FileName>popup_progress_bar_head_icon.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/popup_progress_bar_head_icon.cpp</FilePath>
</File>
<File>
<FileName>popup_progress_bar_lost.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/popup_progress_bar_lost.cpp</FilePath>
</File>
<File>
<FileName>popup_progress_bar_victory_icon.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/popup_progress_bar_victory_icon.cpp</FilePath>
</File>
<File>
<FileName>popup_progress_bar_won.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/popup_progress_bar_won.cpp</FilePath>
</File>
<File>
<FileName>ribbon_game_over.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/ribbon_game_over.cpp</FilePath>
</File>
<File>
<FileName>ribbon_title.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/ribbon_title.cpp</FilePath>
</File>
<File>
<FileName>ribbon_victory.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/ribbon_victory.cpp</FilePath>
</File>
<File>
<FileName>Run_00.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/run_00.cpp</FilePath>
</File>
<File>
<FileName>Run_01.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/run_01.cpp</FilePath>
</File>
<File>
<FileName>Run_02.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/run_02.cpp</FilePath>
</File>
<File>
<FileName>Run_03.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/run_03.cpp</FilePath>
</File>
<File>
<FileName>Run_04.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/run_04.cpp</FilePath>
</File>
<File>
<FileName>Run_05.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/run_05.cpp</FilePath>
</File>
<File>
<FileName>Run_06.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/run_06.cpp</FilePath>
</File>
<File>
<FileName>Run_07.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/run_07.cpp</FilePath>
</File>
<File>
<FileName>Run_08.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/run_08.cpp</FilePath>
</File>
<File>
<FileName>Run_09.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/run_09.cpp</FilePath>
</File>
<File>
<FileName>skeleton.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/skeleton.cpp</FilePath>
</File>
<File>
<FileName>Table_PatuaOne_Regular_16_4bpp.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/fonts/src/table_patuaone_regular_16_4bpp.cpp</FilePath>
</File>
<File>
<FileName>Table_PatuaOne_Regular_30_4bpp.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/fonts/src/table_patuaone_regular_30_4bpp.cpp</FilePath>
<FilePath>../src/generated/fonts/src/table_verdana_40_4bpp.cpp</FilePath>
</File>
<File>
<FileName>Texts.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/texts/src/texts.cpp</FilePath>
</File>
<File>
<FileName>Tile.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/tile.cpp</FilePath>
</File>
<File>
<FileName>tombstone.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/tombstone.cpp</FilePath>
</File>
<File>
<FileName>touchgfx_logo.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/touchgfx_logo.cpp</FilePath>
</File>
<File>
<FileName>tree.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/tree.cpp</FilePath>
</File>
<File>
<FileName>TypedTextDatabase.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/texts/src/typedtextdatabase.cpp</FilePath>
</File>
<File>
<FileName>zombie_attack_00.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_attack_00.cpp</FilePath>
</File>
<File>
<FileName>zombie_attack_01.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_attack_01.cpp</FilePath>
</File>
<File>
<FileName>zombie_attack_02.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_attack_02.cpp</FilePath>
</File>
<File>
<FileName>zombie_attack_03.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_attack_03.cpp</FilePath>
</File>
<File>
<FileName>zombie_attack_04.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_attack_04.cpp</FilePath>
</File>
<File>
<FileName>zombie_attack_05.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_attack_05.cpp</FilePath>
</File>
<File>
<FileName>zombie_attack_06.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_attack_06.cpp</FilePath>
</File>
<File>
<FileName>zombie_attack_07.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_attack_07.cpp</FilePath>
</File>
<File>
<FileName>zombie_dead_00.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_dead_00.cpp</FilePath>
</File>
<File>
<FileName>zombie_dead_01.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_dead_01.cpp</FilePath>
</File>
<File>
<FileName>zombie_dead_02.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_dead_02.cpp</FilePath>
</File>
<File>
<FileName>zombie_dead_03.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_dead_03.cpp</FilePath>
</File>
<File>
<FileName>zombie_dead_04.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_dead_04.cpp</FilePath>
</File>
<File>
<FileName>zombie_dead_05.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_dead_05.cpp</FilePath>
</File>
<File>
<FileName>zombie_dead_06.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_dead_06.cpp</FilePath>
</File>
<File>
<FileName>zombie_dead_07.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_dead_07.cpp</FilePath>
</File>
<File>
<FileName>Zombie_walk_00.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_walk_00.cpp</FilePath>
</File>
<File>
<FileName>Zombie_walk_01.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_walk_01.cpp</FilePath>
</File>
<File>
<FileName>Zombie_walk_02.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_walk_02.cpp</FilePath>
</File>
<File>
<FileName>Zombie_walk_03.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_walk_03.cpp</FilePath>
</File>
<File>
<FileName>Zombie_walk_04.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_walk_04.cpp</FilePath>
</File>
<File>
<FileName>Zombie_walk_05.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_walk_05.cpp</FilePath>
</File>
<File>
<FileName>Zombie_walk_06.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_walk_06.cpp</FilePath>
</File>
<File>
<FileName>Zombie_walk_07.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_walk_07.cpp</FilePath>
</File>
<File>
<FileName>Zombie_walk_08.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_walk_08.cpp</FilePath>
</File>
<File>
<FileName>Zombie_walk_09.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/images/src/zombie_walk_09.cpp</FilePath>
</File>
<File>
<FileName>ZombieBase.cpp</FileName>
<FileType>8</FileType>
<FilePath>../src/generated/gui_generated/src/containers/zombiebase.cpp</FilePath>
</File>
</Files>
</Group>
<Group>

View File

@ -6,6 +6,7 @@ cwd = GetCurrentDir()
# add general drivers
src = Split('''
Src/OSWrappers_RTT.cpp
Src/STM32DMA.cpp
Src/STM32TouchController.cpp
Src/TouchGFXGPIO.cpp

View File

@ -4,14 +4,18 @@
{
"Components": [
{
"RelativeFilename": "background_layer_00.png",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"Alpha": 255,
"Name": "background",
"Name": "box1",
"X": 0,
"Y": 0,
"Width": 800,
"Height": 420,
"Type": "Image",
"Height": 480,
"Type": "Box",
"Visible": true,
"Draggable": false,
"Clickable": false,
@ -19,138 +23,22 @@
"Moveable": false
},
{
"FileName": "background_layer_01.png",
"TextId": "SingleUseId1",
"TextRotation": "0",
"Color": {
"Red": 0,
"Green": 0,
"Blue": 0
},
"Alpha": 255,
"OffsetX": 0,
"OffsetY": 0,
"Name": "backgroundLayer01",
"X": 0,
"Y": 270,
"Width": 800,
"Height": 80,
"Type": "TiledImage",
"Visible": true,
"Draggable": false,
"Clickable": false,
"Fadeable": false,
"Moveable": false
},
{
"FileName": "background_layer_02.png",
"Alpha": 255,
"OffsetX": 0,
"OffsetY": 0,
"Name": "backgroundLayer02",
"X": 0,
"Y": 296,
"Width": 800,
"Height": 80,
"Type": "TiledImage",
"Visible": true,
"Draggable": false,
"Clickable": false,
"Fadeable": false,
"Moveable": false
},
{
"InitialStatePressed": false,
"Pressed": "chrom_art_not_present.png",
"Released": "chrom_art_not_present.png",
"Alpha": 255,
"Name": "chromArtButton",
"X": 580,
"Y": 5,
"Width": 212,
"Height": 49,
"Type": "ToggleButton",
"Visible": true,
"Draggable": false,
"Clickable": false,
"Fadeable": false,
"Moveable": false
},
{
"FileName": "Tile.png",
"Alpha": 255,
"OffsetX": 0,
"OffsetY": 0,
"Name": "ground",
"X": 0,
"Y": 420,
"Width": 800,
"Height": 61,
"Type": "TiledImage",
"Visible": true,
"Draggable": false,
"Clickable": false,
"Fadeable": false,
"Moveable": false
},
{
"RelativeFilename": "touchgfx_logo.png",
"Alpha": 255,
"Name": "touchgfxLogo",
"X": 332,
"Y": 443,
"Width": 137,
"Height": 30,
"Type": "Image",
"Visible": true,
"Draggable": false,
"Clickable": false,
"Fadeable": false,
"Moveable": false
},
{
"CustomContainerDefinitionName": "Knight",
"Name": "knight",
"X": -129,
"Y": 216,
"Width": 129,
"Height": 189,
"Type": "CustomContainerInstance",
"Visible": true,
"Draggable": false,
"Clickable": false,
"Fadeable": false,
"Moveable": false
},
{
"CustomContainerDefinitionName": "Zombie",
"Name": "zombie",
"X": 800,
"Y": 250,
"Width": 109,
"Height": 155,
"Type": "CustomContainerInstance",
"Visible": true,
"Draggable": false,
"Clickable": false,
"Fadeable": false,
"Moveable": false
},
{
"CustomContainerDefinitionName": "Head",
"Name": "head",
"X": 800,
"Y": 160,
"Width": 120,
"Height": 110,
"Type": "CustomContainerInstance",
"Visible": true,
"Draggable": false,
"Clickable": false,
"Fadeable": false,
"Moveable": false
},
{
"CustomContainerDefinitionName": "Arrow",
"Name": "arrow",
"X": 800,
"Y": 360,
"Width": 66,
"Height": 13,
"Type": "CustomContainerInstance",
"AutoSize": true,
"LineSpacing": 0,
"Name": "textArea1",
"X": 354,
"Y": 215,
"Width": 92,
"Height": 25,
"Type": "TextArea",
"Visible": true,
"Draggable": false,
"Clickable": false,
@ -159,155 +47,16 @@
}
],
"Interactions": [],
"Name": "Main",
"Name": "Screen1",
"OverrideDefaultBufferSize": false,
"CanvasBufferSize": 0
}
],
"CustomContainerDefinitions": [
{
"Components": [
{
"RelativeFilename": "arrow_image.png",
"Alpha": 255,
"Name": "activeAnimation",
"X": 0,
"Y": 0,
"Width": 66,
"Height": 13,
"Type": "Image",
"Visible": true,
"Draggable": false,
"Clickable": false,
"Fadeable": true,
"Moveable": false
}
],
"Interactions": [],
"Name": "Arrow",
"X": 0,
"Y": 0,
"Width": 66,
"Height": 13
},
{
"Components": [
{
"FileNameFirst": "head_00.png",
"FileNameLast": "head_09.png",
"UpdateTicksInterval": 10,
"Alpha": 255,
"StartOnLoad": true,
"ReverseEnabled": false,
"LoopEnabled": true,
"AnimationEndedCallback": false,
"Name": "activeAnimation",
"X": 0,
"Y": 0,
"Width": 120,
"Height": 110,
"Type": "AnimatedImage",
"Visible": true,
"Draggable": false,
"Clickable": false,
"Fadeable": true,
"Moveable": false
}
],
"Interactions": [],
"Name": "Head",
"X": 0,
"Y": 0,
"Width": 120,
"Height": 110
},
{
"Components": [
{
"FileNameFirst": "Run_00.png",
"FileNameLast": "Run_09.png",
"UpdateTicksInterval": 10,
"Alpha": 255,
"StartOnLoad": true,
"ReverseEnabled": false,
"LoopEnabled": false,
"AnimationEndedCallback": false,
"Name": "activeAnimation",
"X": 0,
"Y": 0,
"Width": 129,
"Height": 189,
"Type": "AnimatedImage",
"Visible": true,
"Draggable": false,
"Clickable": false,
"Fadeable": true,
"Moveable": false
}
],
"Interactions": [],
"Name": "Knight",
"X": 0,
"Y": 0,
"Width": 129,
"Height": 189
},
{
"Components": [
{
"FileNameFirst": "Zombie_walk_00.png",
"FileNameLast": "Zombie_walk_09.png",
"UpdateTicksInterval": 10,
"Alpha": 255,
"StartOnLoad": true,
"ReverseEnabled": false,
"LoopEnabled": false,
"AnimationEndedCallback": false,
"Name": "activeAnimation",
"X": 0,
"Y": 0,
"Width": 109,
"Height": 155,
"Type": "AnimatedImage",
"Visible": true,
"Draggable": false,
"Clickable": false,
"Fadeable": false,
"Moveable": false
}
],
"Interactions": [],
"Name": "Zombie",
"X": 0,
"Y": 0,
"Width": 109,
"Height": 155
}
],
"CustomContainerDefinitions": [],
"TextEntries": [
{
"TextEntryId": "knight_Mcu_Load_text",
"IsResource": true
},
{
"TextEntryId": "knight_Mcu_Load_value",
"IsResource": true
},
{
"TextEntryId": "knight_popup_won",
"IsResource": true
},
{
"TextEntryId": "knight_popup_lost",
"IsResource": true
},
{
"TextEntryId": "knight_popup_welcome",
"IsResource": true
},
{
"TextEntryId": "knight_popup_percentage",
"IsResource": true
"TextEntryId": "SingleUseId1",
"IsResource": false
}
],
"Name": "CubeMX_Config",
@ -316,7 +65,7 @@
"Height": 480
},
"SelectedColorDepth": 16,
"StartupScreenName": "Main",
"StartupScreenName": "Screen1",
"SelectedStartupLanguage": "GB",
"Skin": "Blue",
"TouchGfxPath": "../Middlewares/ST/touchgfx",

View File

@ -0,0 +1,167 @@
/**
******************************************************************************
* File Name : OSWrappers.cpp
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under Ultimate Liberty license
* SLA0044, the "License"; You may not use this file except in compliance with
* the License. You may obtain a copy of the License at:
* www.st.com/SLA0044
*
******************************************************************************
*/
#include <touchgfx/hal/OSWrappers.hpp>
#include <stm32f7xx_hal.h>
#include <touchgfx/hal/GPIO.hpp>
#include <touchgfx/hal/HAL.hpp>
#include <rtthread.h>
#include <rtdevice.h>
#include <board.h>
static rt_sem_t frame_buffer_sem;
static rt_mq_t vsync_q = 0;
using namespace touchgfx;
// Just a dummy value to insert in the VSYNC queue.
static uint8_t dummy = 0x5a;
/*
* Initialize frame buffer semaphore and queue/mutex for VSYNC signal.
*/
void OSWrappers::initialize()
{
frame_buffer_sem = rt_sem_create("gfx_sem", 1, RT_IPC_FLAG_PRIO);
// Create a queue of length 1
vsync_q = rt_mq_create("gfx_mq", 1, 1, RT_IPC_FLAG_PRIO);
}
/*
* Take the frame buffer semaphore. Blocks until semaphore is available.
*/
void OSWrappers::takeFrameBufferSemaphore()
{
rt_sem_take(frame_buffer_sem, RT_WAITING_FOREVER);
}
/*
* Release the frame buffer semaphore.
*/
void OSWrappers::giveFrameBufferSemaphore()
{
rt_sem_release(frame_buffer_sem);
}
/*
* Attempt to obtain the frame buffer semaphore. If semaphore is not available, do
* nothing.
*
* Note must return immediately! This function does not care who has the taken the semaphore,
* it only serves to make sure that the semaphore is taken by someone.
*/
void OSWrappers::tryTakeFrameBufferSemaphore()
{
rt_sem_trytake(frame_buffer_sem);
}
/*
* Release the frame buffer semaphore in a way that is safe in interrupt context. Called
* from ISR.
*
* Release the frame buffer semaphore in a way that is safe in interrupt context.
* Called from ISR.
*/
void OSWrappers::giveFrameBufferSemaphoreFromISR()
{
// Since this is called from an interrupt, FreeRTOS requires special handling to trigger a
// re-scheduling. May be applicable for other OSes as well.
rt_sem_release(frame_buffer_sem);
}
/*
* Signal that a VSYNC has occurred. Should make the vsync queue/mutex available.
*
* Note This function is called from an ISR, and should (depending on OS) trigger a
* scheduling.
*/
void OSWrappers::signalVSync()
{
if (vsync_q)
{
rt_mq_send(vsync_q, &dummy, 1);
}
}
/*
* This function blocks until a VSYNC occurs.
*
* Note This function must first clear the mutex/queue and then wait for the next one to
* occur.
*/
void OSWrappers::waitForVSync()
{
// First make sure the queue is empty, by trying to remove an element with 0 timeout.
rt_mq_recv(vsync_q, &dummy, 1, 0);
// Then, wait for next VSYNC to occur.
rt_mq_recv(vsync_q, &dummy, 1, RT_WAITING_FOREVER);
}
/*
* A function that causes executing task to sleep for a number of milliseconds.
*
* A function that causes executing task to sleep for a number of milliseconds.
* This function is OPTIONAL. It is only used by the TouchGFX in the case of
* a specific frame refresh strategy (REFRESH_STRATEGY_OPTIM_SINGLE_BUFFER_TFT_CTRL).
* Due to backwards compatibility, in order for this function to be useable by the HAL
* the function must be explicitly registered:
* hal.registerTaskDelayFunction(&OSWrappers::taskDelay)
*
* see HAL::setFrameRefreshStrategy(FrameRefreshStrategy s)
* see HAL::registerTaskDelayFunction(void (*delayF)(uint16_t))
*/
void OSWrappers::taskDelay(uint16_t ms)
{
rt_thread_mdelay(ms);
}
static rt_base_t IdleTaskHook(void* p)
{
if ((int)p) //idle task sched out
{
touchgfx::HAL::getInstance()->setMCUActive(true);
}
else //idle task sched in
{
touchgfx::HAL::getInstance()->setMCUActive(false);
}
return RT_TRUE;
}
// FreeRTOS specific handlers
extern "C"
{
void vApplicationStackOverflowHook(rt_thread_t xTask,
signed char* pcTaskName)
{
while (1);
}
void vApplicationMallocFailedHook(rt_thread_t xTask,
signed char* pcTaskName)
{
while (1);
}
void vApplicationIdleHook(void)
{
// Set task tag in order to have the "IdleTaskHook" function called when the idle task is
// switched in/out. Used solely for measuring MCU load, and can be removed if MCU load
// readout is not needed.
//vTaskSetApplicationTaskTag(NULL, IdleTaskHook);
}
}
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@ -18,20 +18,20 @@
/* USER CODE BEGIN STM32TouchController */
#include <STM32TouchController.hpp>
#include "gt9xx.h"
extern "C"
{
int32_t GTP_Init_Panel(void);
}
extern int16_t volatile pre_x[1];
extern int16_t volatile pre_y[1];
//#include "gt9xx.h"
//extern "C"
//{
// int32_t GTP_Init_Panel(void);
//}
//extern int16_t volatile pre_x[1];
//extern int16_t volatile pre_y[1];
void STM32TouchController::init()
{
/**
* Initialize touch controller and driver
*
*/
GTP_Init_Panel();
// GTP_Init_Panel();
}
bool STM32TouchController::sampleTouch(int32_t& x, int32_t& y)
@ -47,16 +47,16 @@ bool STM32TouchController::sampleTouch(int32_t& x, int32_t& y)
*
*/
if(pre_x[0] == -1 && pre_y[0] == -1)
{
// if(pre_x[0] == -1 && pre_y[0] == -1)
// {
return false;
}
else
{
x = pre_x[0];
y = pre_y[0];
return true;
}
// }
// else
// {
// x = pre_x[0];
// y = pre_y[0];
// return true;
// }
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Some files were not shown because too many files have changed in this diff Show More