//************************************************************************************
//**  
//**  Source name:   C:\Flowcode10\ILI_ESP_Standard\Standard.fcfx
//**  Title:         
//**  Description:   
//**  Device:        ESP.ESP32.ESP32_DEVKITV1
//**  
//**  Generated by:  Flowcode v10.0.1.18
//**  Date:          Monday, March 06, 2023 20:06:35
//**  Users:         1
//**  Registered to: jgu1 (43418841)
//**  Licence key: UBG57W
//**  
//**  
//**  https://www.flowcode.co.uk
//**  
//************************************************************************************


#define MX_ESP

#define MX_CAL_ESP

#define MX_CLK_SPEED 240000000

#define FCP_NULL Unconnected_Port


#define MX_CAL_ESP32
#include <stdio.h>
#include <string.h>
#include "freertos/FreeRTOS.h"
#include "freertos/event_groups.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "esp_wifi.h"
#include "esp_log.h"
#include "esp_event_loop.h"
#include "nvs_flash.h"
#include "driver/adc.h"
#include "lwip/err.h"
#include "lwip/sys.h"
#include "sdkconfig.h"

/*========================================================================*\
   Use :Include the type definitions
\*========================================================================*/
#include "C:\ProgramData\MatrixTSL\FlowcodeV10\CAL\internals.c"



MX_UINT32 FCLV_LOOP1;
MX_UINT32 FCLV_LOOP2;
MX_UINT32 FCLV_LOOP3;
MX_UINT32 FCLV_LOOP4;
MX_UINT32 FCLV_LOOP5;
MX_UINT32 FCLV_LOOP6;
MX_UINT8 FCLV_LOOP7;
MX_UINT8 FCLV_LOOP8;


/*========================================================================*\
   Use :panel
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
#define FCV_FALSE (0)
#define FCV_TRUE (1)
MX_GLOBAL MX_SINT16 FCV_Y = (0);
MX_GLOBAL MX_SINT16 FCV_X = (0);
MX_GLOBAL MX_SINT16 FCV_NUMBER = (0);
MX_GLOBAL MX_SINT16 FCV_TOUCH = (0);
MX_GLOBAL MX_UINT8 FCV_FLAG = (0x0);

void FCM_TouchTest();
void FCM_Touch();

/*========================================================================*\
   Use :cal_spi
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
#define MX_SPI_SS_TRIS_2 trisa
#define MX_SPI_MISO_PORT_2 porta
#define MX_SPI_SCK_TRIS_2 trisa
#define MX_SPI_SCK_PIN_2 (17)
#define MX_SPI_MOSI_TRIS_2 trisa
#define MX_SPI_BMODE_2 (2)
#define MX_SPI_MISO_TRIS_2 trisa
#define MX_SPI_MOSI_PIN_2 (21)
#define MX_SPI_MISO_PIN_2 (5)
#define MX_SPI_SS_PIN_2 (4)
#define MX_SPI_PR_SCALE_2 1600000
#define MX_SPI_SS_PORT_2 porta
#define MX_SPI_USESS_2 0
#define MX_SPI_SCK_PORT_2 porta
#define MX_SPI_MOSI_PORT_2 porta
#define MX_SPI_CHANNEL_2 (0)


/*=----------------------------------------------------------------------=*\
   Use :cal_spi
       :Supplementary defines
\*=----------------------------------------------------------------------=*/
#define MX_SPI_REF2

MX_GLOBAL MX_UINT32 FCV_01532_cal_spi__CONSOLELOG;

void FCD_01532_cal_spi__Master_Enable_CS();
void FC_CAL_SPI_Slave_Uninit_2();
void FCD_01532_cal_spi__Prv_TextConsole(MX_CHAR *FCL_STR, MX_UINT16 FCLsz_STR, MX_UINT8 FCL_COLOUR, MX_UINT8 FCL_APPENDTIMESTAMP);
MX_UINT8 FC_CAL_SPI_Transaction_2(MX_UINT8 *FCL_BUFFER, MX_UINT16 FCLsz_BUFFER, MX_UINT16 FCL_LENGTH);
void FCD_01532_cal_spi__Prv_SimShowWaveform(MX_UINT8 FCL_RXDATA, MX_UINT16 FCL_TXDATA);
void FC_CAL_SPI_Slave_Init_2();
void FCD_01532_cal_spi__Master_Disable_CS();
void FC_CAL_SPI_Master_Uninit_2();
MX_UINT8 FC_CAL_SPI_Master_Byte_2(MX_UINT8 FCL_DATAOUT);
void FC_CAL_SPI_Slave_TxByte_2(MX_UINT8 FCL_DATA);
MX_UINT8 FC_CAL_SPI_Slave_RxByte_2();
MX_UINT8 FC_CAL_SPI_Master_Init_2();

/*========================================================================*\
   Use :XPT2046
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
MX_GLOBAL MX_UINT16 FCV_06ae1_XPT2046__PRESSURE;
MX_GLOBAL MX_UINT16 FCV_06ae1_XPT2046__Y;
MX_GLOBAL MX_UINT16 FCV_06ae1_XPT2046__X;

MX_UINT16 FCD_06ae1_XPT2046__SampleTouch(MX_UINT8 FCL_CONTROL);
MX_UINT8 FCD_06ae1_XPT2046__SampleSensor();
MX_UINT16 FCD_06ae1_XPT2046__ReadCoord(MX_UINT8 FCL_COORDINATE);
void FCD_06ae1_XPT2046__Initialise();

/*========================================================================*\
   Use :cal_spi1
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
#define MX_SPI_SS_TRIS_1 trisc
#define MX_SPI_MISO_PORT_1 porta
#define MX_SPI_SCK_TRIS_1 trisa
#define MX_SPI_SCK_PIN_1 (18)
#define MX_SPI_MOSI_TRIS_1 trisa
#define MX_SPI_BMODE_1 (1)
#define MX_SPI_MISO_TRIS_1 trisa
#define MX_SPI_MOSI_PIN_1 (23)
#define MX_SPI_MISO_PIN_1 (22)
#define MX_SPI_SS_PIN_1 (2)
#define MX_SPI_PR_SCALE_1 30000000
#define MX_SPI_SS_PORT_1 portc
#define MX_SPI_USESS_1 0
#define MX_SPI_SCK_PORT_1 porta
#define MX_SPI_MOSI_PORT_1 porta
#define MX_SPI_CHANNEL_1 (1)


/*=----------------------------------------------------------------------=*\
   Use :cal_spi1
       :Supplementary defines
\*=----------------------------------------------------------------------=*/
#define MX_SPI_REF1
#define MX_SPI_REMAPPABLE_1 1
#define MX_SPI_MOSI_RPOR_1 PPS31
#define MX_SPI_MOSI_SDO_1 1
#define MX_SPI_MISO_RPINR_1 SPI1PPS
#define MX_SPI_MISO_RP_1 30
#define MX_SPI_CLK_RPOR_1 PPS25
#define MX_SPI_CLK_SCK_1 1

MX_GLOBAL MX_UINT32 FCV_01531_cal_spi1__CONSOLELOG;

void FCD_01531_cal_spi1__Master_Enable_CS();
void FC_CAL_SPI_Slave_Uninit_1();
void FCD_01531_cal_spi1__Prv_TextConsole(MX_CHAR *FCL_STR, MX_UINT16 FCLsz_STR, MX_UINT8 FCL_COLOUR, MX_UINT8 FCL_APPENDTIMESTAMP);
MX_UINT8 FC_CAL_SPI_Transaction_1(MX_UINT8 *FCL_BUFFER, MX_UINT16 FCLsz_BUFFER, MX_UINT16 FCL_LENGTH);
void FCD_01531_cal_spi1__Prv_SimShowWaveform(MX_UINT8 FCL_RXDATA, MX_UINT16 FCL_TXDATA);
void FC_CAL_SPI_Slave_Init_1();
void FCD_01531_cal_spi1__Master_Disable_CS();
void FC_CAL_SPI_Master_Uninit_1();
MX_UINT8 FC_CAL_SPI_Master_Byte_1(MX_UINT8 FCL_DATAOUT);
void FC_CAL_SPI_Slave_TxByte_1(MX_UINT8 FCL_DATA);
MX_UINT8 FC_CAL_SPI_Slave_RxByte_1();
MX_UINT8 FC_CAL_SPI_Master_Init_1();

/*========================================================================*\
   Use :WidthData
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
#define FCVsz_00fb8_WidthData__FLOATFIXEDLIST 1
#define FCVsz_00fb8_WidthData__INTFIXEDLIST 16
#define FCD_00fb8_WidthData__INTFIXEDLIST(ix) 0

MX_UINT16 FCD_00fb8_WidthData__GetLUTCount();

/*========================================================================*\
   Use :ASCIIData
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
#define FCVsz_00fb7_ASCIIData__FLOATFIXEDLIST 1
#define FCVsz_00fb7_ASCIIData__INTFIXEDLIST 1325
#define FCD_00fb7_ASCIIData__INTFIXEDLIST(ix) 0

MX_UINT16 FCD_00fb7_ASCIIData__GetLUTCount();

/*========================================================================*\
   Use :gLCD_Font4
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
MX_GLOBAL MX_UINT8 FCV_09e54_gLCD_Font4__OLDCHAR = (0x0);
MX_GLOBAL MX_UINT16 FCV_09e54_gLCD_Font4__OLDPOSITION = (0x0);

MX_UINT16 FCD_09e54_gLCD_Font4__SumWidths(MX_UINT8 FCL_CHARACTER);
MX_UINT8 FCD_09e54_gLCD_Font4__ReadWidth(MX_UINT8 FCL_CHARACTER);
MX_UINT8 FCD_09e54_gLCD_Font4__ReadFontStat(MX_UINT8 FCL_INDEX);
MX_UINT8 FCD_09e54_gLCD_Font4__ReadASCIILUT(MX_UINT8 FCL_CHARACTER, MX_UINT8 FCL_BYTEINDEX);

/*========================================================================*\
   Use :WidthData
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
#define FCVsz_00fb6_WidthData__FLOATFIXEDLIST 1
#define FCVsz_00fb6_WidthData__INTFIXEDLIST 95
#define FCD_00fb6_WidthData__INTFIXEDLIST(ix) 0

MX_UINT16 FCD_00fb6_WidthData__GetLUTCount();

/*========================================================================*\
   Use :ASCIIData
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
#define FCVsz_00fb5_ASCIIData__FLOATFIXEDLIST 1
#define FCVsz_00fb5_ASCIIData__INTFIXEDLIST 1222
#define FCD_00fb5_ASCIIData__INTFIXEDLIST(ix) 0

MX_UINT16 FCD_00fb5_ASCIIData__GetLUTCount();

/*========================================================================*\
   Use :gLCD_Font3
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
MX_GLOBAL MX_UINT8 FCV_09e53_gLCD_Font3__OLDCHAR = (0x0);
MX_GLOBAL MX_UINT16 FCV_09e53_gLCD_Font3__OLDPOSITION = (0x0);

MX_UINT16 FCD_09e53_gLCD_Font3__SumWidths(MX_UINT8 FCL_CHARACTER);
MX_UINT8 FCD_09e53_gLCD_Font3__ReadWidth(MX_UINT8 FCL_CHARACTER);
MX_UINT8 FCD_09e53_gLCD_Font3__ReadFontStat(MX_UINT8 FCL_INDEX);
MX_UINT8 FCD_09e53_gLCD_Font3__ReadASCIILUT(MX_UINT8 FCL_CHARACTER, MX_UINT8 FCL_BYTEINDEX);

/*========================================================================*\
   Use :WidthData
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
#define FCVsz_00fb4_WidthData__FLOATFIXEDLIST 1
#define FCVsz_00fb4_WidthData__INTFIXEDLIST 95
#define FCD_00fb4_WidthData__INTFIXEDLIST(ix) FCD_00fb4_WidthData__INTFIXEDLIST_LUT[ix]
ROMARRAY_(MX_UINT8) FCD_00fb4_WidthData__INTFIXEDLIST_LUT ROMARRAY_E =
{
0x01,0x03,0x06,0x04,0x08,0x07,0x01,0x02,0x02,0x05,0x05,0x02,0x03,0x01,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x01,0x02,0x05,0x05,0x05,0x04,0x09,0x07,0x05,0x05,0x06,0x04,0x04,0x06,0x06,0x01,0x03,0x05,0x04,0x08,0x06,0x06,0x05,0x07,0x05,0x04,0x05,0x06,0x07,0x0B,0x06,0x05,0x06,0x02,0x05,0x02,0x05,0x06,0x02,0x05,0x05,0x04,0x05,0x05,0x04,0x05,0x05,0x01,0x02,0x04,0x01,0x08,0x05,0x05,0x05,0x05,0x03,0x04,0x04,0x05,0x05,0x09,0x05,0x05,0x03,0x03,0x01,0x03,0x05,0x06
};

MX_UINT16 FCD_00fb4_WidthData__GetLUTCount();

/*========================================================================*\
   Use :ASCIIData
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
#define FCVsz_00fb3_ASCIIData__FLOATFIXEDLIST 1
#define FCVsz_00fb3_ASCIIData__INTFIXEDLIST 872
#define FCD_00fb3_ASCIIData__INTFIXEDLIST(ix) FCD_00fb3_ASCIIData__INTFIXEDLIST_LUT[ix]
ROMARRAY_(MX_UINT8) FCD_00fb3_ASCIIData__INTFIXEDLIST_LUT ROMARRAY_E =
{
0x7E,0x20,0x0E,0x00,0x0E,0x00,0x00,0x00,0x40,0xE8,0x5E,0xE8,0x5E,0x08,0x00,0x20,0x00,0x20,0x00,0x00,0x8C,0x12,0x23,0xC4,0x00,0x60,0x20,0x00,0x0C,0x12,0xD2,0x2C,0xD0,0x2C,0x22,0xC0,0x00,0x20,0x00,0x00,0x00,0x20,0x20,0x00,0xC0,0x2C,0x12,0x32,0xCC,0xC0,0x20,0x00,0x20,0x20,0x20,0x00,0x00,0x20,0x0E,0x00,0xF8,0x06,0x20,0xC0,0x06,0xF8,0xC0,0x20,0x14,0x08,0x3E,0x08,0x14,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0xF8,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x20,0x00,0x80,0x70,0x0C,0x03,0xC0,0x20,0x00,0x00,0x00,0xFC,0x02,0x02,0x02,0xFC,0x00,0x20,0x20,0x20,0x00,0x04,0x02,0xFE,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x04,0x82,0x42,0x22,0x1C,0x20,0x20,0x20,0x20,0x20,0x84,0x12,0x12,0x12,0xEC,0x00,0x20,0x20,0x20,0x00,0x60,0x58,0x46,0xFE,0x40,0x00,0x00,0x00,0x20,0x00,0x9E,0x12,0x12,0x12,0xE2,0x00,0x20,0x20,0x20,0x00,0xF8,0x14,0x12,0x12,0xE2,0x00,0x20,0x20,0x20,0x00,0x02,0x82,0x62,0x1A,0x06,0x00,0x20,0x00,0x00,0x00,0xEC,0x12,0x12,0x12,0xEC,0x00,0x20,0x20,0x20,0x00,0x1C,0x22,0x22,0xA2,0x7C,0x20,0x20,0x20,0x00,0x00,0x08,0x20,0x00,0x08,0x80,0x60,0x20,0x20,0x50,0x50,0x88,0x00,0x00,0x00,0x00,0x00,0x50,0x50,0x50,0x50,0x50,0x00,0x00,0x00,0x00,0x00,0x88,0x50,0x50,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x02,0x72,0x12,0x0C,0x00,0x20,0x00,0x00,0xF0,0x08,0x64,0x92,0x8A,0x4A,0xBA,0x84,0x78,0x00,0x20,0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x80,0x60,0x58,0x46,0x58,0x60,0x80,0x20,0x00,0x00,0x00,0x00,0x00,0x20,0xFE,0x12,0x12,0x1C,0xE0,0x20,0x20,0x20,0x20,0x00,0xFC,0x02,0x02,0x02,0x84,0x00,0x20,0x20,0x20,0x00,0xFE,0x02,0x02,0x02,0x84,0x78,0x20,0x20,0x20,0x20,0x00,0x00,0xFE,0x12,0x12,0x12,0x20,0x20,0x20,0x20,0xFE,0x12,0x12,0x12,0x20,0x00,0x00,0x00,0x78,0x84,0x02,0x22,0x22,0xE4,0x00,0x00,0x20,0x20,0x20,0x00,0xFE,0x10,0x10,0x10,0x10,0xFE,0x20,0x00,0x00,0x00,0x00,0x20,0xFE,0x20,0x00,0x00,0xFE,0x20,0x20,0x00,0xFE,0x10,0x28,0xC4,0x02,0x20,0x00,0x00,0x00,0x20,0xFE,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0xFE,0x06,0x78,0x80,0x80,0x78,0x06,0xFE,0x20,0x00,0x00,0x20,0x20,0x00,0x00,0x20,0xFE,0x06,0x18,0x60,0x80,0xFE,0x20,0x00,0x00,0x00,0x20,0x20,0xFC,0x02,0x02,0x02,0x02,0xFC,0x00,0x20,0x20,0x20,0x20,0x00,0xFE,0x22,0x22,0x22,0x1C,0x20,0x00,0x00,0x00,0x00,0xFC,0x02,0x02,0x02,0x02,0xFC,0x00,0x00,0x20,0x20,0x20,0x20,0x40,0x40,0xFE,0x22,0x22,0x62,0x9C,0x20,0x00,0x00,0x00,0x20,0x8C,0x12,0x22,0xC4,0x00,0x20,0x20,0x00,0x02,0x02,0xFE,0x02,0x02,0x00,0x00,0x20,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFE,0x00,0x20,0x20,0x20,0x20,0x00,0x06,0x18,0x60,0x80,0x60,0x18,0x06,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x06,0x78,0x80,0x60,0x18,0x06,0x18,0x60,0x80,0x78,0x06,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x02,0xCC,0x30,0x30,0xCC,0x02,0x20,0x00,0x00,0x00,0x00,0x20,0x06,0x18,0xE0,0x18,0x06,0x00,0x00,0x20,0x00,0x00,0x82,0x42,0x22,0x12,0x0A,0x06,0x20,0x20,0x20,0x20,0x20,0x20,0xFE,0x02,0xE0,0x80,0x03,0x0C,0x70,0x80,0x00,0x00,0x00,0x00,0x20,0xC0,0x02,0xFE,0x80,0xE0,0x10,0x0C,0x02,0x0C,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x01,0x02,0x00,0x00,0xC8,0x28,0x28,0x28,0xF0,0x00,0x20,0x20,0x20,0x20,0xFE,0x08,0x08,0x08,0xF0,0x20,0x20,0x20,0x20,0x00,0xF0,0x08,0x08,0x08,0x00,0x20,0x20,0x20,0xF0,0x08,0x08,0x08,0xFE,0x00,0x20,0x20,0x20,0x20,0xF0,0x28,0x28,0x28,0x30,0x00,0x20,0x20,0x20,0x20,0x08,0xFC,0x0A,0x0A,0x00,0x20,0x00,0x00,0xB0,0x48,0x48,0x38,0x08,0xC0,0xA0,0xA0,0xA0,0x40,0xFE,0x10,0x08,0x08,0xF0,0x20,0x00,0x00,0x00,0x20,0xFA,0x20,0x00,0xFA,0x80,0x60,0xFE,0x20,0xD0,0x08,0x20,0x00,0x00,0x20,0xFE,0x20,0xF8,0x10,0x08,0x08,0xF0,0x08,0x08,0xF0,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0xF8,0x10,0x08,0x08,0xF0,0x20,0x00,0x00,0x00,0x20,0xF0,0x08,0x08,0x08,0xF0,0x00,0x20,0x20,0x20,0x00,0xF8,0x08,0x08,0x08,0xF0,0xE0,0x20,0x20,0x20,0x00,0xF0,0x08,0x08,0x08,0xF8,0x00,0x20,0x20,0x20,0xE0,0xF8,0x08,0x08,0x20,0x00,0x00,0x30,0x28,0x48,0xC8,0x20,0x20,0x20,0x00,0x08,0xFC,0x08,0x08,0x00,0x00,0x20,0x20,0xF8,0x00,0x00,0x80,0xF8,0x00,0x20,0x20,0x00,0x20,0x18,0x60,0x80,0x60,0x18,0x00,0x00,0x20,0x00,0x00,0x18,0x60,0x80,0x60,0x18,0x60,0x80,0x60,0x18,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x08,0x90,0x60,0x90,0x08,0x20,0x00,0x00,0x00,0x20,0x18,0x60,0x80,0x60,0x18,0x00,0xC0,0x20,0x00,0x00,0x88,0x68,0x18,0x20,0x20,0x20,0x20,0xDC,0x02,0x00,0x60,0x80,0xFE,0xE0,0x02,0xDC,0x20,0x80,0x60,0x00,0x10,0x08,0x18,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0xFE,0x02,0x0A,0x7A,0x02,0xFE,0x20,0x20,0x20,0x20,0x20,0x20
};

MX_UINT16 FCD_00fb3_ASCIIData__GetLUTCount();

/*========================================================================*\
   Use :gLCD_Font2
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
MX_GLOBAL MX_UINT8 FCV_09e52_gLCD_Font2__OLDCHAR = (0x0);
MX_GLOBAL MX_UINT16 FCV_09e52_gLCD_Font2__OLDPOSITION = (0x0);

MX_UINT16 FCD_09e52_gLCD_Font2__SumWidths(MX_UINT8 FCL_CHARACTER);
MX_UINT8 FCD_09e52_gLCD_Font2__ReadWidth(MX_UINT8 FCL_CHARACTER);
MX_UINT8 FCD_09e52_gLCD_Font2__ReadFontStat(MX_UINT8 FCL_INDEX);
MX_UINT8 FCD_09e52_gLCD_Font2__ReadASCIILUT(MX_UINT8 FCL_CHARACTER, MX_UINT8 FCL_BYTEINDEX);

/*========================================================================*\
   Use :WidthData
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
#define FCVsz_00fb2_WidthData__FLOATFIXEDLIST 1
#define FCVsz_00fb2_WidthData__INTFIXEDLIST 95
#define FCD_00fb2_WidthData__INTFIXEDLIST(ix) FCD_00fb2_WidthData__INTFIXEDLIST_LUT[ix]
ROMARRAY_(MX_UINT8) FCD_00fb2_WidthData__INTFIXEDLIST_LUT ROMARRAY_E =
{
0x02,0x02,0x06,0x05,0x07,0x09,0x01,0x03,0x04,0x02,0x05,0x02,0x03,0x01,0x05,0x05,0x04,0x05,0x04,0x05,0x06,0x05,0x05,0x05,0x05,0x02,0x03,0x05,0x05,0x05,0x04,0x07,0x07,0x07,0x06,0x08,0x07,0x07,0x07,0x0A,0x05,0x06,0x09,0x07,0x09,0x0A,0x06,0x07,0x09,0x09,0x06,0x08,0x08,0x08,0x0B,0x09,0x09,0x07,0x03,0x03,0x04,0x03,0x06,0x02,0x04,0x04,0x04,0x06,0x04,0x06,0x06,0x04,0x03,0x04,0x06,0x03,0x06,0x04,0x04,0x05,0x05,0x04,0x04,0x04,0x04,0x06,0x08,0x07,0x05,0x06,0x03,0x01,0x04,0x05,0x06
};

MX_UINT16 FCD_00fb2_WidthData__GetLUTCount();

/*========================================================================*\
   Use :ASCIIData
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
#define FCVsz_00fb1_ASCIIData__FLOATFIXEDLIST 1
#define FCVsz_00fb1_ASCIIData__INTFIXEDLIST 1010
#define FCD_00fb1_ASCIIData__INTFIXEDLIST(ix) FCD_00fb1_ASCIIData__INTFIXEDLIST_LUT[ix]
ROMARRAY_(MX_UINT8) FCD_00fb1_ASCIIData__INTFIXEDLIST_LUT ROMARRAY_E =
{
0x80,0x3E,0x00,0x00,0x08,0x06,0x00,0x00,0xA0,0x78,0xAE,0x78,0x2E,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x8C,0xF2,0xBF,0x62,0x00,0x20,0x00,0x00,0x00,0x1C,0x92,0x7E,0x0C,0xE2,0x90,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xC8,0xA8,0xB8,0x6C,0xBE,0x02,0xC2,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x08,0x00,0xE0,0x18,0x06,0x60,0x80,0x00,0x00,0x00,0xC3,0x3C,0x40,0x20,0x00,0x00,0x0C,0x0F,0x00,0x00,0x10,0x10,0x7C,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x80,0x00,0x00,0xC0,0x30,0x0C,0x03,0x60,0x00,0x00,0x00,0x00,0x78,0x84,0x82,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,0x80,0x88,0xFC,0x86,0x00,0x00,0x00,0x00,0xC0,0xC4,0xA2,0x92,0x4E,0x00,0x00,0x00,0x00,0x00,0xC0,0x80,0xDA,0x76,0x00,0x00,0x00,0x00,0x20,0x30,0xA8,0x7E,0x02,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x84,0x4A,0x32,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xAC,0x94,0x72,0x02,0x00,0x00,0x00,0x00,0x00,0xC4,0x32,0x0A,0x06,0x02,0x00,0x00,0x00,0x00,0x00,0xE0,0xAC,0x92,0x6A,0x06,0x00,0x00,0x00,0x00,0x00,0x80,0x9C,0x52,0x72,0x1C,0x00,0x00,0x00,0x00,0x00,0x80,0x08,0x00,0x00,0x00,0x80,0x08,0x40,0x20,0x00,0x30,0x30,0x48,0x48,0x48,0x00,0x00,0x00,0x00,0x00,0x28,0x28,0x28,0x28,0x28,0x00,0x00,0x00,0x00,0x00,0x48,0x48,0x48,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x80,0x36,0x12,0x0C,0x00,0x00,0x00,0x00,0x70,0xCC,0xB4,0xAA,0xBA,0x62,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x4C,0x32,0x2E,0xFE,0x82,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x24,0x86,0xFA,0x8E,0x8A,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x8C,0x04,0x02,0x82,0x0C,0x00,0x20,0x20,0x20,0x00,0x00,0x38,0x4C,0x86,0xEA,0x9A,0x82,0x46,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x84,0xE2,0x9E,0x92,0xBA,0xC6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x86,0xE2,0x9E,0x12,0x3A,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x8C,0x84,0x82,0xD2,0x32,0x16,0x00,0x80,0x80,0xC0,0x20,0x00,0x00,0xC0,0x8C,0xC2,0x3A,0x16,0x90,0xF8,0x86,0x01,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xFA,0x06,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0xC2,0x3A,0x06,0x60,0x40,0x40,0x20,0x00,0x00,0x8C,0x82,0xF2,0x1E,0x78,0x88,0x06,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x20,0x40,0x40,0x40,0x80,0xC0,0xB8,0x84,0x82,0x82,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x9C,0x62,0x1E,0xF8,0x60,0x90,0xFC,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x0C,0xE2,0x12,0x0E,0xF0,0x70,0x0C,0x02,0x02,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0xC4,0x82,0x82,0x46,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xCC,0x86,0xFA,0x92,0x12,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0xC4,0x82,0x82,0x42,0x26,0x1C,0x00,0x00,0x00,0x00,0x00,0x20,0x60,0xC0,0x80,0x80,0x40,0x38,0xA4,0x86,0xFA,0x32,0xD2,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x40,0x40,0x80,0x00,0x0C,0x92,0xE2,0x0E,0x00,0x20,0x20,0x20,0x00,0x00,0x1C,0x86,0x82,0xF2,0x8E,0x02,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x7A,0x86,0x80,0x80,0x40,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x06,0xFE,0x42,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x06,0xFE,0x32,0x08,0x04,0xFE,0x20,0x10,0x08,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x22,0x1E,0xF4,0x82,0x01,0x01,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x04,0x82,0xC6,0xBC,0x8C,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xA6,0x92,0x8A,0x86,0xC2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0xC0,0xA0,0x00,0x07,0xFC,0x80,0x00,0x00,0x60,0x00,0x00,0xF1,0x0F,0x80,0xE0,0x00,0x00,0x04,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x01,0x02,0x00,0x00,0xE0,0x90,0xC8,0xB8,0x00,0x00,0x00,0x00,0xE0,0x9E,0x49,0x39,0x00,0x00,0x00,0x00,0xE0,0x90,0x88,0x48,0x00,0x00,0x00,0x00,0xE0,0x90,0x48,0xF8,0x4E,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xB0,0xA8,0x58,0x00,0x00,0x00,0x00,0x00,0x90,0x78,0x16,0x01,0x01,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0xE0,0x90,0x88,0xE8,0x18,0xE0,0x80,0x80,0xC0,0x60,0x00,0xE0,0x1E,0xD1,0xB9,0x00,0x00,0x00,0x00,0xE0,0x38,0x02,0x00,0x00,0x00,0x00,0x90,0x78,0x02,0x80,0x60,0x00,0x00,0xE0,0x3E,0xE9,0x19,0x00,0x00,0x00,0x00,0x00,0x60,0x40,0x40,0xE0,0x9C,0x42,0x00,0x00,0x00,0xC8,0x38,0xD0,0x38,0xF0,0x98,0x00,0x00,0x00,0x00,0x00,0x00,0xE8,0x18,0xD0,0xB8,0x00,0x00,0x00,0x00,0xF0,0x88,0xC8,0x38,0x00,0x00,0x00,0x00,0x88,0xF8,0x90,0x48,0x38,0xE0,0x80,0x00,0x00,0x00,0xE0,0x90,0x88,0xE8,0x18,0x00,0x80,0xC0,0xA0,0x00,0xC8,0x38,0x10,0x08,0x00,0x00,0x00,0x00,0xC0,0x98,0xE8,0x08,0x00,0x00,0x00,0x00,0xE8,0x9C,0x88,0x40,0x00,0x00,0x00,0x00,0xE8,0x98,0xE0,0x98,0x00,0x00,0x00,0x00,0x10,0x08,0xF8,0x88,0x60,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x08,0xF8,0x88,0x40,0xF8,0x40,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xD0,0x58,0xF0,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x40,0x60,0x10,0x18,0xF0,0xC0,0x38,0x80,0x40,0x20,0x00,0x00,0x80,0xD8,0xA8,0x98,0xD8,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0xD8,0x07,0xE0,0x80,0x00,0xFF,0xE0,0x00,0x00,0xD1,0x2F,0x80,0xC0,0x20,0x00,0x08,0x08,0x18,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0xFF,0x81,0x81,0x81,0x81,0xFF,0x00,0x00,0x00,0x00,0x00,0x00
};

MX_UINT16 FCD_00fb1_ASCIIData__GetLUTCount();

/*========================================================================*\
   Use :gLCD_Font1
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
MX_GLOBAL MX_UINT8 FCV_09e51_gLCD_Font1__OLDCHAR = (0x0);
MX_GLOBAL MX_UINT16 FCV_09e51_gLCD_Font1__OLDPOSITION = (0x0);

MX_UINT16 FCD_09e51_gLCD_Font1__SumWidths(MX_UINT8 FCL_CHARACTER);
MX_UINT8 FCD_09e51_gLCD_Font1__ReadWidth(MX_UINT8 FCL_CHARACTER);
MX_UINT8 FCD_09e51_gLCD_Font1__ReadFontStat(MX_UINT8 FCL_INDEX);
MX_UINT8 FCD_09e51_gLCD_Font1__ReadASCIILUT(MX_UINT8 FCL_CHARACTER, MX_UINT8 FCL_BYTEINDEX);

/*========================================================================*\
   Use :Base_GLCD
       :Variable declarations
       :Macro function declarations
\*========================================================================*/

/*=----------------------------------------------------------------------=*\
   Use :Base_GLCD
       :Supplementary defines
\*=----------------------------------------------------------------------=*/
#define ReadFontWidth(FONT, CHAR) FCD_0ba71_Base_GLCD__ReadFontWidth(FONT, CHAR)
#define ReadFontStat(FONT, IDX) FCD_0ba71_Base_GLCD__ReadFontStat(FONT, IDX)


MX_UINT8 FCD_0ba71_Base_GLCD__ReadFontWidth(MX_UINT8 FCL_FONT, MX_UINT8 FCL_CHARACTER);
MX_UINT8 FCD_0ba71_Base_GLCD__ReadFontStat(MX_UINT8 FCL_FONT, MX_UINT8 FCL_INDEX);
MX_UINT8 FCD_0ba71_Base_GLCD__ReadFontByte(MX_UINT8 FCL_FONT, MX_UINT8 FCL_CHARACTER, MX_UINT8 FCL_BYTEINDEX);

/*========================================================================*\
   Use :gLCD_ILI9341_SPI1
       :Variable declarations
       :Macro function declarations
\*========================================================================*/
MX_GLOBAL MX_UINT16 FCV_0a2b1_gLCD_ILI9341_SPI1__BACKGROUND_COL_VAR;
MX_GLOBAL MX_UINT16 FCV_0a2b1_gLCD_ILI9341_SPI1__FOREGROUND_COL_VAR;
MX_GLOBAL MX_UINT16 FCV_0a2b1_gLCD_ILI9341_SPI1__COL = (0x0);
MX_GLOBAL MX_UINT8 FCV_0a2b1_gLCD_ILI9341_SPI1__ORIENTATION = (0x0);
MX_GLOBAL MX_UINT8 FCV_0a2b1_gLCD_ILI9341_SPI1__SCALEY = (0x1);
MX_GLOBAL MX_UINT8 FCV_0a2b1_gLCD_ILI9341_SPI1__SCALEX = (0x1);
MX_GLOBAL MX_UINT16 FCV_0a2b1_gLCD_ILI9341_SPI1__ROW = (0x0);

void FCD_0a2b1_gLCD_ILI9341_SPI1__BacklightOn();
void FCD_0a2b1_gLCD_ILI9341_SPI1__FastBPlot();
void FCD_0a2b1_gLCD_ILI9341_SPI1__SetFontScaler(MX_UINT8 FCL_SCALEX, MX_UINT8 FCL_SCALEY);
void FCD_0a2b1_gLCD_ILI9341_SPI1__LCD_Write_Reg(MX_UINT8 FCL_DATA);
void FCD_0a2b1_gLCD_ILI9341_SPI1__PrintNumber(MX_SINT16 FCL_NUMBER, MX_UINT16 FCL_X, MX_UINT16 FCL_Y, MX_UINT8 FCL_FONT, MX_UINT8 FCL_TRANSPARENT);
void FCD_0a2b1_gLCD_ILI9341_SPI1__DrawLine(MX_UINT16 FCL_X1, MX_UINT16 FCL_Y1, MX_UINT16 FCL_X2, MX_UINT16 FCL_Y2);
void FCD_0a2b1_gLCD_ILI9341_SPI1__LCD_Write_Data8(MX_UINT8 FCL_DATA);
void FCD_0a2b1_gLCD_ILI9341_SPI1__DrawEllipse(MX_UINT16 FCL_X, MX_UINT16 FCL_Y, MX_UINT16 FCL_XRADIUS, MX_UINT16 FCL_YRADIUS, MX_UINT8 FCL_TRANSPARENT, MX_UINT8 FCL_SOLID);
void FCD_0a2b1_gLCD_ILI9341_SPI1__Plot(MX_UINT16 FCL_X1, MX_UINT16 FCL_Y1);
void FCD_0a2b1_gLCD_ILI9341_SPI1__FastPlot();
void FCD_0a2b1_gLCD_ILI9341_SPI1__SetDisplayOrientation(MX_UINT8 FCL_ORIENTATION);
void FCD_0a2b1_gLCD_ILI9341_SPI1__BacklightOff();
void FCD_0a2b1_gLCD_ILI9341_SPI1__BPlot(MX_UINT16 FCL_X1, MX_UINT16 FCL_Y1);
void FCD_0a2b1_gLCD_ILI9341_SPI1__Window(MX_UINT16 FCL_X1, MX_UINT16 FCL_Y1, MX_UINT16 FCL_X2, MX_UINT16 FCL_Y2);
void FCD_0a2b1_gLCD_ILI9341_SPI1__Print(MX_CHAR *FCL_STR, MX_UINT16 FCLsz_STR, MX_UINT16 FCL_X1, MX_UINT16 FCL_Y1, MX_UINT8 FCL_FONT, MX_UINT8 FCL_TRANSPARENT);
void FCD_0a2b1_gLCD_ILI9341_SPI1__ClearDisplay();
void FCD_0a2b1_gLCD_ILI9341_SPI1__SetBackgroundColour(MX_UINT8 FCL_RED, MX_UINT8 FCL_GREEN, MX_UINT8 FCL_BLUE);
void FCD_0a2b1_gLCD_ILI9341_SPI1__DrawCircle(MX_UINT16 FCL_X, MX_UINT16 FCL_Y, MX_UINT16 FCL_RADIUS, MX_UINT8 FCL_TRANSPARENT, MX_UINT8 FCL_SOLID);
void FCD_0a2b1_gLCD_ILI9341_SPI1__SetForegroundColour(MX_UINT8 FCL_RED, MX_UINT8 FCL_GREEN, MX_UINT8 FCL_BLUE);
void FCD_0a2b1_gLCD_ILI9341_SPI1__DrawRectangle(MX_UINT16 FCL_X1, MX_UINT16 FCL_Y1, MX_UINT16 FCL_X2, MX_UINT16 FCL_Y2, MX_UINT8 FCL_TRANSPARENT, MX_UINT8 FCL_SOLID);
void FCD_0a2b1_gLCD_ILI9341_SPI1__Initialise();

/*========================================================================*\
   Use :Include the chip adaption layer
\*========================================================================*/
#include "C:\ProgramData\MatrixTSL\FlowcodeV10\CAL\includes.c"

