/**
  ******************************************************************************
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  * Copyright (C) 2021 Shanghai Eastsoft Microelectronics Co., Ltd. ALL rights reserved.
  *******************************************************************************
  */

<--------------------------------------------------------------------------------
Version history:
--------------------------------------------------------------------------------->
2023-02-06          V1.00           AE TEAM

<--------------------------------------------------------------------------------
Demo introduction:
--------------------------------------------------------------------------------->
本示例功能：移植SquareLine Studio demo: Futuristic Ebike,将图片像素存入spiflash。
注意：为了降低按键触发难度，右边屏幕的触控映射会被修改。

<--------------------------------------------------------------------------------
测试环境:
--------------------------------------------------------------------------------->
测试用板：
ES-PDS-ES32VF2264LT
在es_example_conf.h中，根据开发板日期修改宏定义ES_BOARD_VERSION。例如：日期为2023-05-06,则填写为20230506。

ES-PDS-E2+FLASH(spiflash模块)

辅助工具：
ES-BUR-ESLINKIIOB

辅助软件：
HyperTerminal

<--------------------------------------------------------------------------------
测试步骤：
--------------------------------------------------------------------------------->
1) 连接 2.8 IPSLCD模块; 
2) 将ES-PDS-E2+FLASH插入开发板背面。在ES-PDS-E2+FLASH中烧入es32-sdk-for-risc-v\Projects\ES32VF2264\Applications\GUI\ES32VF2264\demo_ebike\spi_flash_data.bin; 
3) 编译工程，编译通过后将程序下载到目标芯片；
4) 复位芯片，运行程序，LCD屏显示SquareLine Studio生成的ui。

<--------------------------------------------------------------------------------
注意：
--------------------------------------------------------------------------------->
1)使用的GUI工程路径为：es32-sdk-for-risc-v\Projects\ES32VF2264\Applications\GUI\GUI_prj\SquareLine_prj3。
2)使用SquareLine Studio工程时，需要修改输出文件路径：es32-sdk-for-risc-v\Projects\ES32VF2264\Applications\GUI\GUI_prj\SquareLine_prj3\export_files。
3)如果SquareLine Studio生成了新的文件，需要手动加入工程。
4)提升显示效率的方法：增大es_example_conf.h文件中的ES_LVGL_EACH_COLOR_DISP_BUF_SIZE。
5)如果LVGL对象数量增加，则需要更多的RAM。可增加LVGL的RAM大小的方法：增大lv_conf.h文件中LV_MEM_SIZE。
6)如果需要使用更多的lvgl功能，方法为：添加对应文件到工程，并修改lv_conf.h文件。
7)每次用SquareLine Studio工程生成文件后，需要运行es32-sdk-for-risc-v\Projects\ES32VF2264\Applications\GUI\ES32VF2264\demo_ebike\file_handle.exe。 file_handle.exe的源码及工程在file_handle.7z中。
8)如果图片发生了改变，需要将es32-sdk-for-risc-v\Projects\ES32VF2264\Applications\GUI\ES32VF2264\demo_ebike\spi_flash_data.bin烧入ES-PDS-E2+FLASH。
9)更新图片的方法如下：
    a.打开HyperTerminal，连接串口。（串口波特率为115200）
    b.在串口中发送“update”,等待“xmodem start”。然后在HyperTermina中，以Xmodem的方式将bin文件发送。
    c.注意：如果bin文件大小超过1M,需要修改ll_flash_sector_erase函数中的参数。

<--------------------------------------------------------------------------------
System clock:
--------------------------------------------------------------------------------->
PLL 72MHz.

<--------------------------------------------------------------------------------
Pin connection:
--------------------------------------------------------------------------------->  
                     