优化主板例程库

This commit is contained in:
TEK-TANYM\TEK
2025-05-17 10:49:05 +08:00
parent 1a464e6dbe
commit ea28e08f5f
222 changed files with 57659 additions and 289 deletions

View File

@@ -94,6 +94,7 @@
#include "zf_device_imu963ra.h"
#include "zf_device_ips114.h"
#include "zf_device_ips200.h"
#include "zf_device_ips200pro.h"
#include "zf_device_key.h"
#include "zf_device_menc15a.h"
#include "zf_device_mpu6050.h"

View File

@@ -67,7 +67,7 @@
#error "<22>ݲ<EFBFBD>֧<EFBFBD><D6A7>Ӳ<EFBFBD><D3B2>IICͨѶ"
#endif
#define DL1A_XS_PIN (P20_10)
#define DL1A_XS_PIN (P20_2)
#define DL1A_INT_ENABLE ( 1 ) // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD> INT <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#if DL1A_INT_ENABLE
#define DL1A_INT_PIN (ERU_CH1_REQ10_P14_3)

View File

@@ -65,7 +65,7 @@
#error "<22>ݲ<EFBFBD>֧<EFBFBD><D6A7>Ӳ<EFBFBD><D3B2>IICͨѶ"
#endif
#define DL1B_XS_PIN ( P20_10 )
#define DL1B_XS_PIN ( P20_2 )
#define DL1B_INT_ENABLE ( 0 ) // <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD> INT <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#if DL1B_INT_ENABLE

View File

@@ -0,0 +1,995 @@
/*********************************************************************************************************************
* TC264 Opensourec Library <20><><EFBFBD><EFBFBD>TC264 <20><>Դ<EFBFBD><EFBFBD><E2A3A9>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ڹٷ<DAB9> SDK <20>ӿڵĵ<DAB5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
* Copyright (c) 2022 SEEKFREE <20><><EFBFBD>ɿƼ<C9BF>
*
* <20><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD> TC264 <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
*
* TC264 <20><>Դ<EFBFBD><D4B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B7A2><EFBFBD><EFBFBD> GPL<50><4C>GNU General Public License<73><65><EFBFBD><EFBFBD> GNUͨ<55>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><> GPL <20>ĵ<EFBFBD>3<EFBFBD><EFBFBD><E6A3A8> GPL3.0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>κκ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>İ汾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD>޸<EFBFBD><DEB8><EFBFBD>
*
* <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κεı<CEB5>֤
* <20><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB>ʺ<EFBFBD><CABA>ض<EFBFBD><D8B6><EFBFBD>;<EFBFBD>ı<EFBFBD>֤
* <20><><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD> GPL
*
* <20><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>ͬʱ<CDAC>յ<EFBFBD>һ<EFBFBD><D2BB> GPL <20>ĸ<EFBFBD><C4B8><EFBFBD>
* <20><><EFBFBD><EFBFBD>û<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><https://www.gnu.org/licenses/>
*
* <20><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>ʹ<EFBFBD><CAB9> GPL3.0 <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>֤Э<D6A4><D0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>İ汾
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӣ<EFBFBD>İ<EFBFBD><C4B0><EFBFBD> libraries/doc <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>µ<EFBFBD> GPL3_permission_statement.txt <20>ļ<EFBFBD><C4BC><EFBFBD>
* <20><><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> libraries <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>µ<EFBFBD> LICENSE <20>ļ<EFBFBD>
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> zf_device_ips200pro
* <20><>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> <20>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾
* <20><EFBFBD><E6B1BE>Ϣ <20>鿴 libraries/doc <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> version <20>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ADS v1.10.2
* <20><><EFBFBD><EFBFBD>ƽ̨ TC264D
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> https://seekfree.taobao.com/
*
* <20>޸ļ<DEB8>¼
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
* 2025-05-15 seekfree first version
********************************************************************************************************************/
/********************************************************************************************************************
* <20><><EFBFBD>߶<EFBFBD><DFB6>
* ------------------------------------
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
* // SPI <20><><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* SCL <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_SCL_PIN_SPI <20><EFBFBD><EAB6A8>
* SDA <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_SDA_PIN_SPI <20><EFBFBD><EAB6A8>
* RST <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_RST_PIN_SPI <20><EFBFBD><EAB6A8>
* DC <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_DC_PIN_SPI <20><EFBFBD><EAB6A8>
* CS <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_CS_PIN_SPI <20><EFBFBD><EAB6A8>
* BLk <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_BLk_PIN_SPI <20><EFBFBD><EAB6A8>
* VCC 3.3V<EFBFBD><EFBFBD>Դ
* GND <20><>Դ<EFBFBD><D4B4>
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
* ------------------------------------
********************************************************************************************************************/
#include "zf_common_debug.h"
#include "zf_common_function.h"
#include "zf_driver_delay.h"
#include "zf_driver_soft_spi.h"
#include "zf_driver_spi.h"
#include "zf_device_type.h"
#include "zf_device_config.h"
#include "zf_device_ips200pro.h"
#define IPS200PRO_SPI_LENGTH ( 4096 ) // ÿ<><C3BF>SPIͨѶ<CDA8><D1B6><EFBFBD>󳤶<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
#define MAX_ID_PAGE ( 30 )
#define MAX_ID_LABEL ( 50 )
#define MAX_ID_TABLE ( 20 )
#define MAX_ID_METER ( 10 )
#define MAX_ID_CLOCK ( 1 )
#define MAX_ID_PROGRESS_BAR ( 20 )
#define MAX_ID_CALENDAR ( 1 )
#define MAX_ID_WAVEFORM ( 5 )
#define MAX_ID_IMAGE ( 5 )
#define MAX_ID_IMAGE_LINE ( 10 )
#define MAX_ID_IMAGE_RECTANGLE ( 5 )
ips200pro_information_struct ips200pro_information;
ips200pro_time_struct ips200pro_time;
static uint8 ips200pro_page_num = 0;
static char ips200pro_printf_buffer[51];
typedef enum
{
IPS200PRO_PARAMETER_SET = 0x01, // <20><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_PARAMETER_GET, // <20><>ȡϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_PAGE = 0x10, // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_LABEL, // <20>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_TABLE, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_METER, // <20>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_CLOCK, // ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_BAR, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_CALENDAR, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_WAVEFORM, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_IMAGE, // ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_CONTAINER, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_MAX, // ռλʹ<CEBB><CAB9>
}ips200pro_command1_enum;
// ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef enum
{
// <20>ɶ<EFBFBD><C9B6><EFBFBD>д<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
IPS200PRO_SYSTEM_DATE = 0x01,// ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
IPS200PRO_SYSTEM_TIME, // ϵͳʱ<CDB3><CAB1>
IPS200PRO_SYSTEM_PARENT, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_SYSTEM_CODED_FORMAT, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
IPS200PRO_SYSTEM_BACKLIGHT, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_SYSTEM_DIRECTION, // <20><>Ļ<EFBFBD><C4BB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
IPS200PRO_SYSTEM_CRC_STATE, // CRCʹ<43><CAB9>״̬
IPS200PRO_SYSTEM_FONT_SIZE, // ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SCREEN_SYSTEM_OPTIMIZE, // <20>Ż<EFBFBD> Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><><C4AC><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD>)
IPS200PRO_SYSTEM_THEME, // ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
IPS200PRO_SYSTEM_SET_MAX, // ռλʹ<CEBB><CAB9>
// <20><><EFBFBD>ɶ<EFBFBD><C9B6>IJ<EFBFBD><C4B2><EFBFBD>
IPS200PRO_SYSTEM_INFORMATION = 0x10, // <20><>ĻID<49><44><EFBFBD>š<EFBFBD><C5A1>ֱ<EFBFBD><D6B1>ʡ<EFBFBD><CAA1>̼<EFBFBD><CCBC>
IPS200PRO_SYSTEM_FREE_STACK, // ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>С
IPS200PRO_SYSTEM_GET_MAX, // ռλʹ<CEBB><CAB9>
// ͨ<>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_COMMON_CREATE = 0x01, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_COMMON_DELETE, // <20><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>
IPS200PRO_COMMON_FONT_SIZE, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
IPS200PRO_COMMON_COLOR, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
IPS200PRO_COMMON_VALUE, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ <20><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD>ͬ
IPS200PRO_COMMON_POSITION, // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
IPS200PRO_COMMON_HIDDEN, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_COMMON_MAX, // ռλ
// PAGE<47><45><EFBFBD><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_PAGE_SWITCH = 0x10, // <20>л<EFBFBD>ҳ<EFBFBD><D2B3>
IPS200PRO_PAGE_TITLE, // <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾλ<CABE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_PAGE_MAX,
// LABEL<45><4C><EFBFBD><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_LABEL_LONG_MODE = 0x10, // <20><><EFBFBD>ı<EFBFBD>ģʽ
IPS200PRO_LABEL_MAX,
// TABLE<4C><45><EFBFBD><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_TABLE_COL_WIDTH = 0x10, // <20><><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_TABLE_SELECT, // <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Ԫ<EFBFBD><D4AA>ѡ<EFBFBD><D1A1>
IPS200PRO_TABLE_MAX,
// WAVEFORM<52><4D><EFBFBD><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WAVEFORM_LINE_STATE = 0x10, // <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WAVEFORM_LINE_TYPE, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WAVEFORM_CLEAR, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WAVEFORM_MAX,
// IMAGE<47><45><EFBFBD><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_IMAGE_DRAW_LINE = 0x10, // ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_IMAGE_DRAW_RECTANGLE, // ͼ<>񻭿<EFBFBD>
IPS200PRO_IMAGE_MAX,
}ips200pro_command2_enum;
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>ú궨<C3BA><EAB6A8><EFBFBD>ķ<EFBFBD>ʽ<EFBFBD><CABD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>Ϊ<EFBFBD>˱<EFBFBD><CBB1><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A3AC><EFBFBD>²<EFBFBD><C2B2><EFBFBD>IDE<44>޷<EFBFBD><DEB7><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5>Ե<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define IPS200PRO_HEADER \
uint8 command1; /* <20><><EFBFBD><EFBFBD>1 */ \
uint8 command2; /* <20><><EFBFBD><EFBFBD>2 */ \
uint8 check_crc8; /* CRCУ<43>顢Ĭ<E9A1A2><C4AC>δ<EFBFBD><CEB4><EFBFBD><EFBFBD> */ \
uint8 widgets_id; /* ID<49><44><EFBFBD><EFBFBD> */ \
uint32 length /* <20><><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD><EFBFBD><EFBFBD> */ \
typedef struct
{
IPS200PRO_HEADER;
}ips200pro_header_struct;
// <20><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef union
{
int8 int8_data[2]; // <20>з<EFBFBD><D0B7><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>
uint8 uint8_data[2]; // <20>޷<EFBFBD><DEB7><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>
int16 int16_data; // <20>з<EFBFBD><D0B7>Ű<EFBFBD><C5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint16 uint16_data; // <20>޷<EFBFBD><DEB7>Ű<EFBFBD><C5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}data_split_union;
// ͨ<>ýṹ<C3BD><E1B9B9>
#define IPS200PRO_COMMON_STRUCT(name, num) \
struct common_packet\
{\
IPS200PRO_HEADER; \
data_split_union data[num]; \
}name;
#define ips200pro_write_8bit_data_spi_array(data, len) (spi_write_8bit_array(IPS200PRO_SPI_INDEX, (data), (len)))
#define ips200pro_transfer_8bit_data_spi_array(tx_data, rx_data, len) (spi_transfer_8bit(IPS200PRO_SPI_INDEX, (tx_data), (rx_data), (len)))
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ļ<EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> wait_time <20>ȴ<EFBFBD>ʱ<EFBFBD><CAB1>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 1<><31><EFBFBD><EFBFBD>ʱ<EFBFBD>˳<EFBFBD> 0<><30>δ<EFBFBD><CEB4>ʱ
// ʹ<><CAB9>ʾ<EFBFBD><CABE>
// <20><>ע<EFBFBD><D7A2>Ϣ <20>ڲ<EFBFBD>ʹ<EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
static uint8 ips200pro_wait_idle (uint32 wait_time)
{
wait_time = wait_time * 100;
while(0 == gpio_get_level(IPS200PRO_INT_PIN) && (0 != wait_time))
{
func_soft_delay(1000);
wait_time--;
}
return (!wait_time);
}
#if(1 == IPS200PRO_CRC_ENABLE)
static uint8 ips200pro_calculate_crc8(uint8 *data, uint32 length)
{
uint8 i, crc = 0;
while(length--)
{
crc ^= *data++;
for (i = 0; i < 8; i++)
{
crc = (crc & 0x80) ? ((crc << 1) ^ 0x07) : (crc <<= 1);
}
}
return crc;
}
#endif
uint8 ips200pro_send_buffer(const void *buffer, uint32 length, uint32 time_out, uint8 end_flag)
{
uint8 return_state = 1;
if( ((0 == time_out) || (0 == ips200pro_wait_idle(time_out))) // <20>ȴ<EFBFBD>δ<EFBFBD><CEB4>ʱ
&& (IPS200PRO_SPI_LENGTH >= length) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
&& (NULL != buffer)) // ָ<>벻Ϊ<EBB2BB><CEAA>
{
gpio_low(IPS200PRO_CS_PIN);
ips200pro_write_8bit_data_spi_array((const uint8 *)buffer, length);
if(1 == end_flag)
{
gpio_high(IPS200PRO_CS_PIN);
}
return_state = 0;
}
return return_state;
}
uint8 ips200pro_receive_buffer(void *buffer, uint32 length, uint32 time_out)
{
uint8 return_state = 1;
if( ((0 == time_out) || (0 == ips200pro_wait_idle(time_out))) // <20>ȴ<EFBFBD>δ<EFBFBD><CEB4>ʱ
&& (IPS200PRO_SPI_LENGTH >= length) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
&& (NULL != buffer)) // ָ<>벻Ϊ<EBB2BB><CEAA>
{
gpio_low(IPS200PRO_CS_PIN);
ips200pro_transfer_8bit_data_spi_array((const uint8 *)buffer, (uint8 *)buffer, length);
gpio_high(IPS200PRO_CS_PIN);
return_state = 0;
}
return return_state;
}
uint8 ips200pro_write_packet(ips200pro_command1_enum command1, ips200pro_command2_enum command2, uint8 widgets_id, ips200pro_header_struct *temp, uint32 length, const void *buffer, uint32 buffer_length)
{
uint8 return_state = 1;
temp->command1 = command1;
temp->command2 = command2;
temp->widgets_id = widgets_id;
temp->length = length + buffer_length;
#if(1 == IPS200PRO_CRC_ENABLE)
temp->check_crc8 = 0;
temp->check_crc8 = ips200pro_calculate_crc8((uint8 *)temp, length);
#endif
return_state = ips200pro_send_buffer(temp, length, IPS200PRO_WAIT_TIME, NULL == buffer);
if((0 == return_state) && (NULL != buffer) && (0 != buffer_length))
{
return_state = ips200pro_send_buffer(buffer, buffer_length, 0, 1);
}
else
{
gpio_high(IPS200PRO_CS_PIN);
}
return return_state;
}
uint8 ips200pro_read_parameter(ips200pro_command2_enum command2, ips200pro_header_struct *temp, uint8 length)
{
uint8 return_state;
temp->command1 = IPS200PRO_PARAMETER_GET;
temp->command2 = command2;
temp->length = length;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
return_state = ips200pro_send_buffer(temp, length, IPS200PRO_WAIT_TIME, 1);
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
temp->command1 = 0x00;
return_state = ips200pro_receive_buffer(temp, length, IPS200PRO_WAIT_TIME);
//*parameter = temp.data[0].uint8_data[0];
return return_state;
}
uint8 ips200pro_set_date(uint16 year, uint8 month, uint8 day)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = year;
temp.data[1].uint8_data[0] = month;
temp.data[1].uint8_data[1] = day;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_DATE, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_time(uint8 hour, uint8 minute, uint8 second)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint8_data[0] = hour;
temp.data[0].uint8_data[1] = minute;
temp.data[1].uint8_data[0] = second;
temp.data[1].uint8_data[1] = 0;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_TIME, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_parent(uint16 child_id, uint16 parent_id)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint8_data[0] = (uint8)child_id;
temp.data[0].uint8_data[1] = child_id >> 8;
temp.data[1].uint8_data[0] = (uint8)parent_id;
temp.data[1].uint8_data[1] = parent_id >> 8;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_PARENT, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_format(ips200pro_format_enum format)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint8_data[0] = format;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_CODED_FORMAT, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_backlight(uint8 backlight)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint8_data[0] = backlight;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_BACKLIGHT, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_direction(ips200pro_display_direction_enum dir)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint8_data[0] = dir;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_DIRECTION, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_crc_state(uint8 crc_state)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint8_data[0] = crc_state;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_CRC_STATE, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_default_font(ips200pro_font_size_enum font)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint8_data[0] = font;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_FONT_SIZE, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_optimize(uint8 state)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint8_data[0] = state;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, SCREEN_SYSTEM_OPTIMIZE, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_get_date(ips200pro_time_struct *time)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
return_state = ips200pro_read_parameter(IPS200PRO_SYSTEM_DATE, (ips200pro_header_struct *)&temp, sizeof(temp));
if(0 == return_state)
{
memcpy(&time->year, &(temp.data[0]), 4);
}
return return_state;
}
uint8 ips200pro_get_time(ips200pro_time_struct *time)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
return_state = ips200pro_read_parameter(IPS200PRO_SYSTEM_TIME, (ips200pro_header_struct *)&temp, sizeof(temp));
if(0 == return_state)
{
memcpy(&time->hour, &(temp.data[0]), 4);
}
return return_state;
}
uint8 ips200pro_get_information(ips200pro_information_struct *information)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 4);
return_state = ips200pro_read_parameter(IPS200PRO_SYSTEM_INFORMATION, (ips200pro_header_struct *)&temp, sizeof(temp));
if(0 == return_state)
{
information->version_major = temp.widgets_id; // <20><><EFBFBD>
memcpy(&information->id, &(temp.data[0]), 8);
}
return return_state;
}
uint8 ips200pro_get_free_stack_size(uint32 *stack_size)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
return_state = ips200pro_read_parameter(IPS200PRO_SYSTEM_FREE_STACK, (ips200pro_header_struct *)&temp, sizeof(temp));
if(0 == return_state)
{
*stack_size = *((uint32 *)&temp.data[0]);
}
return return_state;
}
uint8 ips200pro_create_widgets(uint16 widgets_id, int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state = 1;
IPS200PRO_COMMON_STRUCT(temp, 4);
temp.data[0].int16_data = x;
temp.data[1].int16_data = y;
temp.data[2].uint16_data = width;
temp.data[3].uint16_data = height;
if(ips200pro_page_num || (IPS200PRO_WIDGETS_PAGE == (widgets_id >> 8)))
{
// ֻ<><D6BB><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬲<EFBFBD><F3A3ACB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
return_state = ips200pro_write_packet(widgets_id >> 8, IPS200PRO_COMMON_CREATE, (uint8)widgets_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
}
return return_state;
}
uint8 ips200pro_delete_widgets(uint16 widgets_id)
{
uint8 return_state;
ips200pro_header_struct temp;
return_state = ips200pro_write_packet(widgets_id >> 8, IPS200PRO_COMMON_DELETE, (uint8)widgets_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_font(uint16 widgets_id, ips200pro_font_size_enum font_size)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint16_data = font_size;
return_state = ips200pro_write_packet(widgets_id >> 8, IPS200PRO_COMMON_FONT_SIZE, (uint8)widgets_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_color(uint16 widgets_id, ips200pro_widgets_color_type_enum color_type, uint16 color)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = color_type;
temp.data[1].uint16_data = color;
return_state = ips200pro_write_packet(widgets_id >> 8, IPS200PRO_COMMON_COLOR, (uint8)widgets_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_position(uint16 widgets_id, int16 x, int16 y)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].int16_data = x;
temp.data[1].int16_data = y;
return_state = ips200pro_write_packet(widgets_id >> 8, IPS200PRO_COMMON_POSITION, (uint8)widgets_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_hidden(uint16 widgets_id, uint8 state)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint16_data = state;
return_state = ips200pro_write_packet(widgets_id >> 8, IPS200PRO_COMMON_HIDDEN, (uint8)widgets_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_page_create(char *str)
{
uint8 return_state = 1;
if(MAX_ID_PAGE > ips200pro_page_num)
{
return_state = ips200pro_create_widgets(++ips200pro_page_num | (IPS200PRO_WIDGETS_PAGE << 8), 0, 0, 0, 0);
if(1 == return_state)
{
ips200pro_page_num--;
}
else if(NULL != str)
{
return_state = ips200pro_page_set_title_name(ips200pro_page_num, str);
}
}
return return_state == 1 ? 0 : (ips200pro_page_num | (IPS200PRO_WIDGETS_PAGE << 8));
}
uint8 ips200pro_page_switch(uint16 page_id, ips200pro_page_animations_enum anim_en)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint16_data = anim_en;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_PAGE, IPS200PRO_PAGE_SWITCH, (uint8)page_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_page_hidden(uint16 page_id, uint8 state)
{
uint8 return_state;
if(0 == page_id)
{
page_id = 0 | (IPS200PRO_WIDGETS_PAGE << 8);
}
return_state = ips200pro_set_hidden(page_id, state);
return return_state;
}
uint8 ips200pro_page_set_title_name(uint16 page_id, char *str)
{
uint8 return_state;
ips200pro_header_struct temp;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_PAGE, IPS200PRO_COMMON_VALUE, (uint8)page_id, (ips200pro_header_struct *)&temp, sizeof(temp), str, strlen(str));
return return_state;
}
uint8 ips200pro_page_set_title_position_width(ips200pro_title_position_enum title_position, uint8 title_width)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = title_position;
temp.data[1].uint16_data = title_width;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_PAGE, IPS200PRO_PAGE_TITLE, 1, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_label_create(int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state = 1;
static uint8 lebel_num = 0;
if(MAX_ID_LABEL > lebel_num)
{
return_state = ips200pro_create_widgets(++lebel_num | (IPS200PRO_WIDGETS_LABEL << 8), x, y, width, height);
if(1 == return_state)
{
lebel_num--;
}
}
return return_state == 1 ? 0 : (lebel_num | (IPS200PRO_WIDGETS_LABEL << 8));
}
uint8 ips200pro_label_printf(uint16 label_id, const char *format, ...)
{
int32 str_length;
va_list arg;
va_start(arg, format);
uint8 return_state = 1;
ips200pro_header_struct temp;
str_length = vsnprintf(ips200pro_printf_buffer, sizeof(ips200pro_printf_buffer) - 1, format, arg);
if(0 <= str_length)
{
temp.length = (uint32)str_length;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_LABEL, IPS200PRO_COMMON_VALUE, (uint8)label_id, (ips200pro_header_struct *)&temp, sizeof(temp), ips200pro_printf_buffer, temp.length);
}
va_end(arg);
return return_state;
}
uint8 ips200pro_label_show_string(uint16 label_id, const char *str)
{
uint8 return_state;
ips200pro_header_struct temp;
temp.length = strlen(str);
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_LABEL, IPS200PRO_COMMON_VALUE, (uint8)label_id, (ips200pro_header_struct *)&temp, sizeof(temp), str, temp.length);
return return_state;
}
uint8 ips200pro_label_mode(uint16 label_id, ips200pro_label_mode_enum mode)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint16_data = mode;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_LABEL, IPS200PRO_LABEL_LONG_MODE, (uint8)label_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_table_create(int16 x, int16 y, uint16 row_num, uint16 col_num)
{
uint8 return_state = 1;
static uint8 table_num = 0;
if(MAX_ID_TABLE > table_num)
{
return_state = ips200pro_create_widgets(++table_num | (IPS200PRO_WIDGETS_TABLE << 8), x, y, row_num, col_num);
if(1 == return_state)
{
table_num--;
}
}
return return_state == 1 ? 0 : (table_num | (IPS200PRO_WIDGETS_TABLE << 8));
}
uint8 ips200pro_table_cell_printf(uint16 table_id, uint8 row, uint8 col, char *format, ...)
{
int32 str_length;
va_list arg;
va_start(arg, format);
uint8 return_state = 1;
IPS200PRO_COMMON_STRUCT(temp, 2);
str_length = vsnprintf(ips200pro_printf_buffer, sizeof(ips200pro_printf_buffer) - 1, format, arg);
if(0 <= str_length)
{
temp.length = (uint32)str_length;
temp.data[0].uint16_data = row;
temp.data[1].uint16_data = col;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_TABLE, IPS200PRO_COMMON_VALUE, (uint8)table_id, (ips200pro_header_struct *)&temp, sizeof(temp), ips200pro_printf_buffer, temp.length);
}
va_end(arg);
return return_state;
}
uint8 ips200pro_table_set_col_width(uint16 table_id, uint8 col, uint16 width)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = width;
temp.data[1].uint16_data = col;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_TABLE, IPS200PRO_TABLE_COL_WIDTH, (uint8)table_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_table_select(uint16 table_id, uint8 row, uint8 col)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = row;
temp.data[1].uint16_data = col;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_TABLE, IPS200PRO_TABLE_SELECT, (uint8)table_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_meter_create(int16 x, int16 y, uint16 size, ips200pro_meter_style_enum style)
{
uint8 return_state = 1;
static uint8 meter_num = 0;
if(MAX_ID_METER > meter_num)
{
return_state = ips200pro_create_widgets(++meter_num | (IPS200PRO_WIDGETS_METER << 8), x, y, size, style);
if(1 == return_state)
{
meter_num--;
}
}
return return_state == 1 ? 0 : (meter_num | (IPS200PRO_WIDGETS_METER << 8));
}
uint8 ips200pro_meter_set_value(uint16 meter_id, int16 value)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].int16_data = value;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_METER, IPS200PRO_COMMON_VALUE, (uint8)meter_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_clock_create(int16 x, int16 y, uint16 clock_size, ips200pro_clock_style_enum clock_type)
{
uint8 return_state = 1;
static uint8 clock_num = 0;
if(MAX_ID_CLOCK > clock_num)
{
return_state = ips200pro_create_widgets(++clock_num | (IPS200PRO_WIDGETS_CLOCK << 8), x, y, clock_size, clock_type);
if(1 == return_state)
{
clock_num--;
}
}
return return_state == 1 ? 0 : (clock_num | (IPS200PRO_WIDGETS_CLOCK << 8));
}
uint16 ips200pro_progress_bar_create(int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state = 1;
static uint8 progress_bar_num = 0;
if(MAX_ID_PROGRESS_BAR > progress_bar_num)
{
return_state = ips200pro_create_widgets(++progress_bar_num | (IPS200PRO_WIDGETS_BAR << 8), x, y, width, height);
if(1 == return_state)
{
progress_bar_num--;
}
}
return return_state == 1 ? 0 : (progress_bar_num | (IPS200PRO_WIDGETS_BAR << 8));
}
uint8 ips200pro_progress_bar_set_value(uint16 progress_bar_id, uint8 start_value, uint8 end_value)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = start_value;
temp.data[1].uint16_data = end_value;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_BAR, IPS200PRO_COMMON_VALUE, (uint8)progress_bar_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_calendar_create(int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state;
// ֻ<>ܴ<EFBFBD><DCB4><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD>
return_state = ips200pro_create_widgets(1 | (IPS200PRO_WIDGETS_CALENDAR << 8), x, y, width, height);
return return_state == 1 ? 0 : (1 | (IPS200PRO_WIDGETS_CALENDAR << 8));
}
uint8 ips200pro_calendar_display(uint16 year, uint8 month, ips200pro_calendar_mode_enum mode)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = year;
temp.data[1].uint8_data[0] = month;
temp.data[1].uint8_data[1] = mode;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_CALENDAR, IPS200PRO_COMMON_VALUE, 1, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_waveform_create(int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state = 1;
static uint8 waveform_num = 0;
if(MAX_ID_WAVEFORM > waveform_num)
{
return_state = ips200pro_create_widgets(++waveform_num | (IPS200PRO_WIDGETS_WAVEFORM << 8), x, y, width, height);
if(1 == return_state)
{
waveform_num--;
}
}
return return_state == 1 ? 0 : (waveform_num | (IPS200PRO_WIDGETS_WAVEFORM << 8));
}
uint8 ips200pro_waveform_add_value(uint16 waveform_id, uint8 line_id, const uint16 *data, uint16 length, uint16 color)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = line_id;
temp.data[1].uint16_data = color;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_WAVEFORM, IPS200PRO_COMMON_VALUE, (uint8)waveform_id, (ips200pro_header_struct *)&temp, sizeof(temp), data, length * 2);
return return_state;
}
uint8 ips200pro_waveform_line_state(uint16 waveform_id, uint16 line_id, uint16 line_state)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = line_id;
temp.data[1].uint16_data = line_state;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_WAVEFORM, IPS200PRO_WAVEFORM_LINE_STATE, (uint8)waveform_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_waveform_line_type(uint16 waveform_id, uint8 line_type)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint16_data = line_type;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_WAVEFORM, IPS200PRO_WAVEFORM_LINE_TYPE, (uint8)waveform_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_waveform_clear(uint16 waveform_id)
{
uint8 return_state;
ips200pro_header_struct temp;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_WAVEFORM, IPS200PRO_WAVEFORM_CLEAR, (uint8)waveform_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_image_create(int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state = 1;
static uint8 image_num = 0;
if(MAX_ID_IMAGE > image_num)
{
return_state = ips200pro_create_widgets(++image_num | (IPS200PRO_WIDGETS_IMAGE << 8), x, y, width, height);
if(1 == return_state)
{
image_num--;
}
}
return return_state == 1 ? 0 : (image_num | (IPS200PRO_WIDGETS_IMAGE << 8));
}
uint8 ips200pro_image_display(uint16 image_id, const void *image, uint16 width, uint16 height, ips200pro_image_type_enum image_type, uint8 threshold)
{
uint8 return_state = 0;
uint16 send_length;
uint32 image_size;
uint8 const *image_data;
IPS200PRO_COMMON_STRUCT(temp, 4);
image_data = (uint8 *)image;
image_size = width * height * (IMAGE_RGB565 == image_type ? 2 : 1);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>֪ͨ<CDA8><D6AA>Ļ<EFBFBD><C4BB><EFBFBD>±<EFBFBD><C2B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
if((NULL == image) || (!width) || (!height) || (IMAGE_NULL == image_type))
{
temp.data[0].uint16_data = 0;
temp.data[1].uint16_data = 0;
temp.data[2].uint8_data[1] = IMAGE_NULL;
}
else
{
temp.data[0].uint16_data = width;
temp.data[1].uint16_data = height;
temp.data[2].uint8_data[1] = image_type;
}
temp.data[2].uint8_data[0] = 1; // ͼ<><CDBC><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ
temp.data[3].uint16_data = threshold;
do
{
// <20><><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
send_length = image_size > (IPS200PRO_SPI_LENGTH - sizeof(temp)) ? (IPS200PRO_SPI_LENGTH - sizeof(temp)) : (uint16)image_size;
return_state += ips200pro_write_packet(IPS200PRO_WIDGETS_IMAGE, IPS200PRO_COMMON_VALUE, (uint8)image_id, (ips200pro_header_struct *)&temp, sizeof(temp), image_data, send_length);
image_data += send_length;
image_size -= send_length;
temp.data[2].uint8_data[0] = 0;
}while(image_size);
return return_state;
}
uint8 ips200pro_image_draw_line(uint16 image_id, uint8 line_id, void *line_data, uint16 line_length, ips200pro_image_line_type_enum data_type, uint16 color)
{
uint8 return_state = 1;
IPS200PRO_COMMON_STRUCT(temp, 2);
if(MAX_ID_IMAGE_LINE >= line_id)
{
temp.length = data_type * line_length * 2 + sizeof(temp);
temp.data[0].uint8_data[0] = line_id;
temp.data[0].uint8_data[1] = data_type;
temp.data[1].uint16_data = color;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_IMAGE, IPS200PRO_IMAGE_DRAW_LINE, (uint8)image_id, (ips200pro_header_struct *)&temp, sizeof(temp), line_data, data_type * line_length * 2);
}
return return_state;
}
uint8 ips200pro_image_draw_rectangle(uint16 image_id, uint8 rectangle_id, int16 x, int16 y, uint16 rectangle_width, uint16 rectangle_height, uint16 color)
{
uint8 return_state = 1;
IPS200PRO_COMMON_STRUCT(temp, 6);
if(MAX_ID_IMAGE_RECTANGLE >= rectangle_id)
{
temp.data[0].uint16_data = rectangle_id;
temp.data[1].int16_data = x;
temp.data[2].int16_data = y;
temp.data[3].uint16_data = rectangle_width;
temp.data[4].uint16_data = rectangle_height;
temp.data[5].uint16_data = color;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_IMAGE, IPS200PRO_IMAGE_DRAW_RECTANGLE, (uint8)image_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
}
return return_state;
}
uint16 ips200pro_container_create(int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state = 1;
static uint8 container_num = 0;
if(MAX_ID_IMAGE_RECTANGLE > container_num)
{
return_state = ips200pro_create_widgets(++container_num | (IPS200PRO_WIDGETS_CONTAINER << 8), x, y, width, height);
if(1 == return_state)
{
container_num--;
}
}
return return_state == 1 ? 0 : (container_num | (IPS200PRO_WIDGETS_CONTAINER << 8));
}
uint8 ips200pro_container_radius(uint16 container_id, uint16 border_width, uint16 radius)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = border_width;
temp.data[1].uint16_data = radius;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_CONTAINER, IPS200PRO_COMMON_VALUE, (uint8)container_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_init(char *str, ips200pro_title_position_enum title_position, uint8 title_size)
{
uint16 page_id = 0;
spi_init(IPS200PRO_SPI_INDEX, SPI_MODE0, IPS200PRO_SPI_SPEED, IPS200PRO_CLK_PIN, IPS200PRO_MOSI_PIN, IPS200PRO_MISO_PIN, SPI_CS_NULL);
gpio_init(IPS200PRO_RST_PIN, GPO, GPIO_HIGH, GPO_PUSH_PULL);
gpio_init(IPS200PRO_CS_PIN, GPO, GPIO_HIGH, GPO_PUSH_PULL);
// <20><><EFBFBD><EFBFBD>ĻӦ<C4BB><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>Ļ<EFBFBD><C4BB>ʹ<EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD>б<EFBFBD><D0B1>ε<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>³<EFBFBD><C2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gpio_init(IPS200PRO_INT_PIN, GPI, GPIO_HIGH, GPI_PULL_UP);
gpio_set_level(IPS200PRO_RST_PIN, 0);
system_delay_ms(5);
gpio_set_level(IPS200PRO_RST_PIN, 1);
system_delay_ms(20);
// ijһЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD>ȡ<EFBFBD><C8A1>Ļ<EFBFBD><C4BB>Ϣ
// ips200pro_get_information(&ips200pro_information);
// ips200pro_get_time(&ips200pro_time);
// <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>е<EFBFBD><D0B5><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>е<EFBFBD><D0B5>þͻᵼ<CDBB><E1B5BC>ÿ<EFBFBD><C3BF><EFBFBD>ϵ<EFBFBD>֮<EFBFBD><D6AE>ʱ<EFBFBD><EFBFBD>ỹԭ
// ips200pro_set_time(15, 54, 30);
// <20>ر<EFBFBD>ע<EFBFBD><EFBFBD>ر<EFBFBD>ע<EFBFBD><EFBFBD>ر<EFBFBD>ע<EFBFBD><D7A2>
// <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾλ<CABE><CEBB><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD>Ҫע<D2AA><D7A2><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ҳ<EFBFBD><D2B3>֮ǰ<D6AE><C7B0><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>Ч
// <20>ر<EFBFBD>ע<EFBFBD><EFBFBD>ر<EFBFBD>ע<EFBFBD><EFBFBD>ر<EFBFBD>ע<EFBFBD><D7A2>
ips200pro_page_set_title_position_width(title_position, title_size);
ips200pro_set_format(IPS200PRO_DEFAULT_FORMAT);
ips200pro_set_default_font(IPS200PRO_DEFAULT_FONT_SIZE);
ips200pro_set_optimize(IPS200PRO_DEFAULT_OPTIMIZE);
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ҳ<EFBFBD><D2B3>
if(NULL != str)
{
page_id = ips200pro_page_create(str); // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ҳ<EFBFBD><D2B3>
}
#if(1 == IPS200PRO_CRC_ENABLE)
ips200pro_set_crc_state(1); // ʹ<><CAB9>CRCģʽ<C4A3><CABD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CRC<52><43><EFBFBD><EFBFBD>
#endif
return page_id;
}

View File

@@ -0,0 +1,788 @@
/*********************************************************************************************************************
* TC264 Opensourec Library <20><><EFBFBD><EFBFBD>TC264 <20><>Դ<EFBFBD><EFBFBD><E2A3A9>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ڹٷ<DAB9> SDK <20>ӿڵĵ<DAB5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
* Copyright (c) 2022 SEEKFREE <20><><EFBFBD>ɿƼ<C9BF>
*
* <20><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD> TC264 <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
*
* TC264 <20><>Դ<EFBFBD><D4B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B7A2><EFBFBD><EFBFBD> GPL<50><4C>GNU General Public License<73><65><EFBFBD><EFBFBD> GNUͨ<55>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><> GPL <20>ĵ<EFBFBD>3<EFBFBD><EFBFBD><E6A3A8> GPL3.0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>κκ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>İ汾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD>޸<EFBFBD><DEB8><EFBFBD>
*
* <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κεı<CEB5>֤
* <20><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB>ʺ<EFBFBD><CABA>ض<EFBFBD><D8B6><EFBFBD>;<EFBFBD>ı<EFBFBD>֤
* <20><><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD> GPL
*
* <20><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>ͬʱ<CDAC>յ<EFBFBD>һ<EFBFBD><D2BB> GPL <20>ĸ<EFBFBD><C4B8><EFBFBD>
* <20><><EFBFBD><EFBFBD>û<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><https://www.gnu.org/licenses/>
*
* <20><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>ʹ<EFBFBD><CAB9> GPL3.0 <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>֤Э<D6A4><D0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>İ汾
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӣ<EFBFBD>İ<EFBFBD><C4B0><EFBFBD> libraries/doc <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>µ<EFBFBD> GPL3_permission_statement.txt <20>ļ<EFBFBD><C4BC><EFBFBD>
* <20><><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> libraries <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>µ<EFBFBD> LICENSE <20>ļ<EFBFBD>
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> zf_device_ips200pro
* <20><>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> <20>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾
* <20><EFBFBD><E6B1BE>Ϣ <20>鿴 libraries/doc <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> version <20>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ADS v1.10.2
* <20><><EFBFBD><EFBFBD>ƽ̨ TC264D
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> https://seekfree.taobao.com/
*
* <20>޸ļ<DEB8>¼
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
* 2025-05-15 seekfree first version
********************************************************************************************************************/
/********************************************************************************************************************
* <20><><EFBFBD>߶<EFBFBD><DFB6>
* ------------------------------------
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
* // SPI <20><><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* SCL <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_SCL_PIN_SPI <20><EFBFBD><EAB6A8>
* SDA <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_SDA_PIN_SPI <20><EFBFBD><EAB6A8>
* RST <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_RST_PIN_SPI <20><EFBFBD><EAB6A8>
* DC <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_DC_PIN_SPI <20><EFBFBD><EAB6A8>
* CS <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_CS_PIN_SPI <20><EFBFBD><EAB6A8>
* BLk <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_BLk_PIN_SPI <20><EFBFBD><EAB6A8>
* VCC 3.3V<EFBFBD><EFBFBD>Դ
* GND <20><>Դ<EFBFBD><D4B4>
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
* ------------------------------------
********************************************************************************************************************/
#ifndef _zf_device_ips200pro_h_
#define _zf_device_ips200pro_h_
#include "zf_common_typedef.h"
#define IPS200PRO_SPI_SPEED ( 40*1000*1000 ) // Ӳ<><D3B2> SPI <20><><EFBFBD><EFBFBD>
#define IPS200PRO_SPI_INDEX ( SPI_2 ) // Ӳ<><D3B2> SPI <20><>
#define IPS200PRO_CLK_PIN ( SPI2_SCLK_P15_3 ) // Ӳ<><D3B2> SPI SCK <20><><EFBFBD><EFBFBD>
#define IPS200PRO_MOSI_PIN ( SPI2_MOSI_P15_5 ) // Ӳ<><D3B2> SPI MOSI <20><><EFBFBD><EFBFBD>
#define IPS200PRO_MISO_PIN ( SPI2_MISO_P15_4 ) // Ӳ<><D3B2> SPI MISO <20><><EFBFBD><EFBFBD> TFTû<54><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><E5A3AC>spi<70>ij<EFBFBD>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>Ҫʹ<D2AA><CAB9>
#define IPS200PRO_RST_PIN ( P15_1 ) // Һ<><D2BA><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
#define IPS200PRO_INT_PIN ( P15_0 ) // Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
#define IPS200PRO_CS_PIN ( P15_2 ) // CS Ƭѡ<C6AC><D1A1><EFBFBD><EFBFBD>
#define IPS200PRO_WAIT_TIME ( 900 ) // ͨѶ<CDA8>ȴ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʱ<EFBFBD>䵥λ
#define IPS200PRO_CRC_ENABLE ( 0 ) // 0<><30><EFBFBD>ر<EFBFBD>CRCģʽ<C4A3><CABD>ͨ<EFBFBD><CDA8><EFBFBD>رռ<D8B1><D5BC>ɣ<EFBFBD> 1<><31>ʹ<EFBFBD><CAB9>CRCģʽ<C4A3><CABD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD><DDB0>м<EFBFBD><D0BC><EFBFBD>CRCУ<43><EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>
#define IPS200PRO_DEFAULT_FORMAT (IPS200PRO_FORMAT_GBK) // Ĭ<>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define IPS200PRO_DEFAULT_FONT_SIZE ( FONT_SIZE_16 ) // Ĭ<><C4AC>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define IPS200PRO_DEFAULT_OPTIMIZE ( 1 ) // 0:<3A>ر<EFBFBD><D8B1>Ż<EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// RGB888תRGB565<36><EFBFBD><EAB6A8>
#define IPS200PRO_RGB888_TO_RGB565(r8, g8, b8) ((((r8 >> 3) & 0x1FU) << 11) | (((g8 >> 2) & 0x3FU) << 5) | ((b8 >> 3) & 0x1FU))
typedef enum
{
// <20><>16<31><36>20<32><30>24<32><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>Ӣ<EFBFBD><D3A2><EFBFBD><EFBFBD>ʾ
FONT_SIZE_12,
FONT_SIZE_14,
FONT_SIZE_16, // 16<31><36><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
FONT_SIZE_18,
FONT_SIZE_20, // 20<32><30><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
FONT_SIZE_22,
FONT_SIZE_24, // 24<32><34><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
FONT_SIZE_26,
FONT_SIZE_28,
FONT_SIZE_30,
FONT_SIZE_32,
FONT_SIZE_34,
FONT_SIZE_36,
FONT_SIZE_40,
}ips200pro_font_size_enum;
typedef enum
{
COLOR_FOREGROUND, // ǰ<><C7B0>ɫ
COLOR_BACKGROUND, // <20><><EFBFBD><EFBFBD>ɫ <20><>IMAGE<47><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>
COLOR_BORDER, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ ֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LABEL TABLE METER CLOCK CALENDAR CONTAINER
// ר<><D7A8>ָ<EFBFBD><D6B8>
COLOR_PAGE_SELECTED_TEXT, // ѡ<><D1A1>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
COLOR_PAGE_SELECTED_BG, // ѡ<><D1A1>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><E2B1B3><EFBFBD><EFBFBD>ɫ
COLOR_TABLE_SELECTED_BG, // <20><><EFBFBD><EFBFBD>ѡ<EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD>ɫ
COLOR_MRTER_INDICATOR, // <20>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ɫ
COLOR_MRTER_TICKS, // <20>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><CCB6><EFBFBD>ɫ
COLOR_CLOCK_HOUR, // Բ<><D4B2>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ɫ
COLOR_CLOCK_MINUTE, // Բ<><D4B2>ʱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD>ɫ
COLOR_CLOCK_SECOND, // Բ<><D4B2>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
COLOR_CLOCK_TICKS, // Բ<><D4B2>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><CCB6><EFBFBD>ɫ
COLOR_CALENDAR_YEAR, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
COLOR_CALENDAR_WEEK, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
COLOR_CALENDAR_TODAY, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
}ips200pro_widgets_color_type_enum;
typedef enum
{
PAGE_ANIM_OFF, // ҳ<><D2B3><EFBFBD>л<EFBFBD>ʱ<EFBFBD>رն<D8B1><D5B6><EFBFBD>Ч<EFBFBD><D0A7>
PAGE_ANIM_ON, // ҳ<><D2B3><EFBFBD>л<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
}ips200pro_page_animations_enum;
typedef enum
{
LABEL_AUTO, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD>ʾȫ<CABE><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
LABEL_DOT, // <20><><EFBFBD>޷<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ĩβ<C4A9><CEB2><EFBFBD>½<EFBFBD><C2BD><EFBFBD>ʾ...
LABEL_SCROLL, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD>ʾȫ<CABE><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><DFB6>޷<EFBFBD><DEB7><EFBFBD>ʾȫ<CABE><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD><C2B9><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LABEL_SCROLL_CIRCULAR, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD>ʾȫ<CABE><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><DFB6>޷<EFBFBD><DEB7><EFBFBD>ʾȫ<CABE><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LABEL_CLIP, // <20><><EFBFBD>޷<EFBFBD><DEB7><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ݲü<DDB2><C3BC><EFBFBD>
}ips200pro_label_mode_enum;
typedef enum
{
IPS200PRO_PORTRAIT = 0x01, // <20><><EFBFBD><EFBFBD>ģʽ
IPS200PRO_PORTRAIT_180 = 0x02, // <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180
IPS200PRO_CROSSWISE = 0x03, // <20><><EFBFBD><EFBFBD>ģʽ
IPS200PRO_CROSSWISE_180 = 0x04, // <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180
}ips200pro_display_direction_enum;
typedef enum
{
IPS200PRO_TITLE_LEFT = 0x00, // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>򽫱<EFBFBD><F2BDABB1><EFBFBD><EFBFBD>߶<EFBFBD><DFB6><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD>
IPS200PRO_TITLE_RIGHT = 0x01, // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>Ҳ<EFBFBD>
IPS200PRO_TITLE_TOP = 0x02, // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ϲ<EFBFBD>
IPS200PRO_TITLE_BOTTOM = 0x03, // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ڵײ<DAB5>
}ips200pro_title_position_enum;
typedef enum
{
IPS200PRO_CALENDAR_CHINESE = 0x01, // <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ <20><>16<31><36>20<32><30>24<32><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
IPS200PRO_CALENDAR_ENGLISH = 0x02, // <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>Ӣ<EFBFBD><D3A2><EFBFBD><EFBFBD>ʾ
}ips200pro_calendar_mode_enum;
typedef enum
{
IMAGE_NULL = 0x00, // ͼ<><CDBC>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
IMAGE_GRAYSCALE = 0x03, // <20>Ҷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>С<E7A1A2><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ʹ<EFBFBD>ô<EFBFBD>ö<EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>
IMAGE_RGB565, // RGB565<36><35>ɫ <20><>ͫʹ<CDAB>ô<EFBFBD>ö<EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>
}ips200pro_image_type_enum;
typedef enum
{
IMAGE_LINE_TYPE_UINT8 = 0x01, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><38><CEBB><EFBFBD><EFBFBD>
IMAGE_LINE_TYPE_UINT16 = 0x02, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16λ<36><CEBB><EFBFBD><EFBFBD>
}ips200pro_image_line_type_enum;
typedef enum
{
IPS200PRO_FORMAT_GBK = 0x01, // GBK<42><4B><EFBFBD><EFBFBD><EBA3AC>Դ<EFBFBD><D4B4>Ĭ<EFBFBD>ϵ<EFBFBD><CFB5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>GBK<42><4B><EFBFBD><EFBFBD>
IPS200PRO_FORMAT_UTF8 = 0x02, // UTF-8<><38><EFBFBD><EFBFBD>
}ips200pro_format_enum;
typedef enum
{
METER_ANGLE = 0x01, // <20>Ƕ<EFBFBD>ָʾ<D6B8>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1>̶ȡ<CCB6>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
METER_SPEED, // <20>ٶ<EFBFBD>ָʾ<D6B8>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1>̶ȡ<CCB6>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
}ips200pro_meter_style_enum;
typedef enum
{
CLOCK_DIGITAL = 0x01, // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>ɫ
CLOCK_ANALOG, // ָ<><D6B8>ʱ<EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1>̶ȡ<CCB6>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
}ips200pro_clock_style_enum;
// ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> uint8<74><38><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9B9>
typedef struct
{
uint8 x; // <20><><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD>
uint8 y; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}ips200pro_image_line_uint8_struct;
// ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> uint16<31><36><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9B9>
typedef struct
{
uint16 x; // <20><><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD>
uint16 y; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}ips200pro_image_line_uint16_struct;
typedef struct
{
uint16 id; // <20><>ĻID<49><44><EFBFBD><EFBFBD>
uint16 width; // <20><>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
uint16 height; // <20><>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD>
uint8 version_major; // <20>̼<EFBFBD><CCBC>汾-<2D><><EFBFBD>
uint8 version_middle; // <20>̼<EFBFBD><CCBC>汾-<2D>а
uint8 version_micro; // <20>̼<EFBFBD><CCBC>汾-΢<>
}ips200pro_information_struct;
typedef struct
{
uint16 year; // <20><>
uint8 month; // <20><>
uint8 day; // <20><>
uint8 hour; // ʱ
uint8 minute; // <20><>
uint8 second; // <20><>
uint8 week; // <20><><EFBFBD><EFBFBD>
}ips200pro_time_struct;
extern ips200pro_information_struct ips200pro_information;
extern ips200pro_time_struct ips200pro_time;
//------------------------------------<2D><><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>-------------------------------------------
//------------------------------------ϵͳ<CFB5><CDB3><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD>-------------------------------------------
// uint8 ips200pro_set_date (uint16 year, uint8 month, uint8 day); // <20><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
// uint8 ips200pro_set_time (uint8 hour, uint8 minute, uint8 second); // <20><><EFBFBD><EFBFBD>ϵͳʱ<CDB3><CAB1>
// uint8 ips200pro_set_parent (uint16 child_id, uint16 parent_id); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_set_format (ips200pro_format_enum format); // <20><><EFBFBD>ú<EFBFBD><C3BA>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ʽ
// uint8 ips200pro_set_backlight (uint8 backlight); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_set_direction (ips200pro_display_direction_enum dir); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
// uint8 ips200pro_set_default_font (ips200pro_font_size_enum font); // <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
// uint8 ips200pro_set_optimize (uint8 state) // <20><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD>ģ<EFBFBD>
//
// uint8 ips200pro_get_date (ips200pro_time_struct *time); // <20><>ȡϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
// uint8 ips200pro_get_time (ips200pro_time_struct *time); // <20><>ȡϵͳʱ<CDB3><CAB1>
// uint8 ips200pro_get_information (ips200pro_information_struct *information); // <20><>ȡϵͳ<CFB5><CDB3>Ϣ
// uint8 ips200pro_get_free_stack_size (uint32 *stack_size); // <20><>ȡϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>С
//-----------------------------------ͨ<>ú<EFBFBD><C3BA><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint8 ips200pro_delete_widgets (uint16 widgets_id); // ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_set_font (uint16 widgets_id, ips200pro_font_size_enum font_size); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_set_color (uint16 widgets_id, ips200pro_widgets_color_type_enum color_type, uint16 color); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
// uint8 ips200pro_set_position (uint16 widgets_id, int16 x, int16 y); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
// uint8 ips200pro_set_hidden (uint16 widgets_id, uint8 state); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//-----------------------------------PAGEҳ<45><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_page_create (char *str); // ҳ<><EFBFBD><E6B4B4>
// uint8 ips200pro_page_switch (uint16 page_id, ips200pro_page_animations_enum anim_en); // ҳ<><D2B3><EFBFBD>л<EFBFBD>
// uint8 ips200pro_page_hidden (uint16 page_id, uint8 state) // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_page_set_title_name (uint16 page_id, char *str); // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//-----------------------------------<2D>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_label_create (int16 x, int16 y, uint16 width, uint16 height); // <20>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>
// uint8 ips200pro_label_printf (uint16 label_id, const char *format, ...); // <20>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_label_show_string (uint16 label_id, const char *str) // <20>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʾ
// uint8 ips200pro_label_mode (uint16 label_id, ips200pro_label_mode_enum mode); // <20>ı<EFBFBD><C4B1><EFBFBD>ǩģʽ<C4A3><CABD><EFBFBD><EFBFBD>
//-----------------------------------<2D><><EFBFBD><EFBFBD>TABLE<4C><45><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_table_create (int16 x, int16 y, uint16 row_num, uint16 col_num); // <20><><EFBFBD>񴴽<EFBFBD>
// uint8 ips200pro_table_cell_printf (uint16 table_id, uint8 row, uint8 col, char *format, ...); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_table_set_col_width (uint16 table_id, uint8 col, uint16 width); // <20><><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_table_select (uint16 table_id, uint8 row, uint8 col); // <20><>Ԫ<EFBFBD><D4AA>ѡ<EFBFBD><D1A1>
//-----------------------------------<2D>DZ<EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_meter_create (int16 x, int16 y, uint16 size, ips200pro_meter_style_enum style); // <20>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_meter_set_value (uint16 meter_id, int16 value); // <20>DZ<EFBFBD><C7B1><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
//-----------------------------------ʱ<>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_clock_create (int16 x, int16 y, uint16 clock_size, ips200pro_clock_style_enum clock_type) // ʱ<>Ӵ<EFBFBD><D3B4><EFBFBD>
//-----------------------------------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_progress_bar_create (int16 x, int16 y, uint16 width, uint16 height); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_progress_bar_set_value (uint16 progress_bar_id, uint8 start_value, uint8 end_value); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
//-----------------------------------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_calendar_create (int16 x, int16 y, uint16 width, uint16 height); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_calendar_display (uint16 year, uint8 month, uint8 ips200pro_calendar_mode_enum); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
//-----------------------------------<2D><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_waveform_create (int16 x, int16 y, uint16 width, uint16 height); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
// uint8 ips200pro_waveform_add_value (uint16 waveform_id, uint8 line_id, const uint16 *data, uint16 length, uint16 color); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_waveform_line_state (uint16 waveform_id, uint16 line_id, uint16 line_state); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
// uint8 ips200pro_waveform_line_type (uint16 waveform_id, uint8 line_type); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_waveform_clear (uint16 waveform_id); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//-----------------------------------ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_image_create (int16 x, int16 y, uint16 width, uint16 height); // ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_image_display (image_id, *image, width, height, image_type, threshold); // ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD>
// uint8 ips200pro_image_draw_line (image_id, line_id, *line_data, line_length, data_type, color); // ͼ<><CDBC><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD> <20>ȷ<EFBFBD><C8B7><EFBFBD>ips200pro_image_draw_line<6E>ٷ<EFBFBD><D9B7><EFBFBD>ips200pro_image_display
// uint8 ips200pro_image_draw_rectangle (image_id, rectangle_id, x, y, rectangle_width, rectangle_height, color); // ͼ<><CDBC><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD> <20>ȷ<EFBFBD><C8B7><EFBFBD>ips200pro_image_draw_rectangle<6C>ٷ<EFBFBD><D9B7><EFBFBD>ips200pro_image_display
//-----------------------------------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_container_create (int16 x, int16 y, uint16 width, uint16 height); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_container_radius (uint16 container_id, uint16 border_width, uint16 radius); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD>ǰ뾶
//-----------------------------------<2D><>Ļ<EFBFBD><C4BB>ʼ<EFBFBD><CABC>-------------------------------------------
// uint16 ips200pro_init (char *str, ips200pro_title_position_enum title_position, uint8 title_size); // <20><>Ļ<EFBFBD><C4BB>ʼ<EFBFBD><CABC>
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> year <20><>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> month <20><>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> day <20><>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_date(2024, 10, 31); // 2024<32><34>10<31><30>31<33><31>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_date (uint16 year, uint8 month, uint8 day);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳʱ<CDB3><CAB1>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> hour ʱ 24Сʱ<D0A1>ƣ<EFBFBD><C6A3><EFBFBD>֧<EFBFBD><D6A7>24Сʱ<D0A1>ƣ<EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> minute <20><>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> second <20><>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_time(13, 19, 15); // 13<31><33>19<31><39>15<31><35>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_time (uint8 hour, uint8 minute, uint8 second);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> child_id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> parent_id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_parent(1, label_id, container_id); // <20><>label<65><6C>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ú<EFBFBD>label<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻǣ<CFBD><C7A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>Ͻǣ<CFBD><C7A3><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_parent (uint16 child_id, uint16 parent_id);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>ʽ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> format <20><><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>ʽ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_format(IPS200PRO_FORMAT_GBK); // <20><>IDΪ1<CEAA>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>IDΪ2<CEAA><32>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_format (ips200pro_format_enum format);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> backlight <20><><EFBFBD><EFBFBD>1-255
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_backlight(100); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ100
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_backlight (uint8 backlight);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> dir <20><><EFBFBD><EFBFBD>1-255
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_backlight(100); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ100
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_direction (ips200pro_display_direction_enum dir);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> font Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_default_font(FONT_SIZE_20); // <20><>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ20<32><30>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_default_font (ips200pro_font_size_enum font);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>״̬<D7B4><CCAC>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> font Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_optimize(1); // <20><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>
// <20><>ע˵<D7A2><CBB5> Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ϴε<CFB4>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>򱾴<EFBFBD>ͼ<EFBFBD><CDBC>ֱ<EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ȴ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ɣ<EFBFBD><C9A3>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4>ϴ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD>ٴ<EFBFBD><D9B4><EFBFBD><EFBFBD>µ<EFBFBD>ͼ<EFBFBD><CDBC>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_optimize (uint8 state);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȡϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *time <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_get_date(&ips200pro_time); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_get_date (ips200pro_time_struct *time);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȡϵͳʱ<CDB3><CAB1>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *time <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_get_time(&ips200pro_time); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_get_time (ips200pro_time_struct *time);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>С
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *information <20><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>ָ<EFBFBD><D6B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_get_information(&ips200pro_information); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_get_information (ips200pro_information_struct *information);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȡϵͳ<CFB5><CDB3>Ϣ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *stack_size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>С<EFBFBD><D0A1>ָ<EFBFBD><D6B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_get_free_stack_size(&stack_size); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_get_free_stack_size (uint32 *stack_size);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> widgets_id <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_delete_widgets(widgets_id); // <20><>ѡ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_delete_widgets (uint16 widgets_id);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> widgets_id <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> font_size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>16 20 24<32><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_font(widgets_id, FONT_SIZE_20); // <20><>ѡ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>Ϊ20<32><30>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_font (uint16 widgets_id, ips200pro_font_size_enum font_size);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> widgets_id <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> color_type <20><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> color RGB565<36><35>ֵ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_color(widgets_id, COLOR_BORDER, RGB565_RED); // <20><>ѡ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ɫ
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_color (uint16 widgets_id, ips200pro_widgets_color_type_enum color_type, uint16 color);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> widgets_id <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_position(widgets_id, 10, 10); // <20><>ѡ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ10,10
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_position (uint16 widgets_id, int16 x, int16 y);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> widgets_id <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> state 0<><30>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_hidden(widgets_id, 1); // <20><>ѡ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_hidden (uint16 widgets_id, uint8 state);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *str ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>д ""
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 page1_id = ips200pro_page_create("Test"); // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪTest<73><74>ҳ<EFBFBD><D2B3>
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_page_create (char *str);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>л<EFBFBD>ҳ<EFBFBD><D2B3>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> page_id ҳ<><D2B3>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> anim_en <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_page_switch(page_id, PAGE_ANIM_ON); // <20>л<EFBFBD><D0BB><EFBFBD>ѡ<EFBFBD>е<EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_page_switch (uint16 page_id, ips200pro_page_animations_enum anim_en);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> page_id ҳ<><D2B3>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> state <20><><EFBFBD><EFBFBD>״̬ 1<><31><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_page_hidden(page_id, 1); // <20><>ѡ<EFBFBD>е<EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID<49><44><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ҳ<EFBFBD><D2B3>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_page_hidden (uint16 page_id, uint8 state);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> page_id ҳ<><D2B3>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *str ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_page_set_title_name(page_id, "Test"); // <20><>ѡ<EFBFBD>е<EFBFBD>ҳ<EFBFBD><EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪTest
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_page_set_title_name (uint16 page_id, char *str);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ǩ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height <20><><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 label_id = ips200pro_label_create(0, 0, 50, 20); // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ǩ <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD>0,0 <20><><EFBFBD><EFBFBD>50 <20>߶<EFBFBD>20
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_label_create (int16 x, int16 y, uint16 width, uint16 height);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD><C7A9>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> label_id <20>ı<EFBFBD><C4B1><EFBFBD>ǩID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *format <20>ַ<EFBFBD><D6B7><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ... <20>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>printf<74><66>ͬ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_label_printf(label_id, "tset=%d", test);
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_label_printf (uint16 label_id, const char *format, ...);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʾ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> label_id <20>ı<EFBFBD><C4B1><EFBFBD>ǩID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *str <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>׵<EFBFBD>ַ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_label_show_string(label_id, <20><>This is a test<73><74>);
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_label_show_string(uint16 label_id, const char *str);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD>ı<EFBFBD>ģʽ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> label_id <20>ı<EFBFBD><C4B1><EFBFBD>ǩID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> mode <20><><EFBFBD>ı<EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Χʱ<CEA7>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ʽ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_label_mode(label_id, "tset=%d", test);
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_label_mode (uint16 label_id, ips200pro_label_mode_enum mode);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> row_num <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> col_num <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 table2_id = ips200pro_table_create(0, 0, 5, 4); // <20><><EFBFBD><EFBFBD>5<EFBFBD><35>4<EFBFBD>б<EFBFBD><D0B1><EFBFBD> <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD>0,0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ips200pro_table_set_col_width<74><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_table_create (int16 x, int16 y, uint16 row_num, uint16 col_num);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> table_id <20><><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> row <20><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>кŴ<D0BA>1<EFBFBD><31>ʼ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> col <20><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>кŴ<D0BA>1<EFBFBD><31>ʼ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *format <20>ַ<EFBFBD><D6B7><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ... <20>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>printf<74><66>ͬ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_label_printf(table_id, 1, 1, "tset=%d", test); // <20><>ʽ<EFBFBD><CABD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD>ĵ<EFBFBD>һ<EFBFBD><D2BB> <20><>һ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻǵĵ<C7B5>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_table_cell_printf (uint16 table_id, uint8 row, uint8 col, char *format, ...);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> table_id <20><><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> col <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD> <20>кŴ<D0BA>1<EFBFBD><31>ʼ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20>п<EFBFBD><D0BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_table_set_col_width(table_id, 1, 20); // <20><>ѡ<EFBFBD>еı<D0B5><C4B1><EFBFBD> <20>ĵ<EFBFBD>һ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ20
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_table_set_col_width (uint16 table_id, uint8 col, uint16 width);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> table_id <20><><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> row <20><>Ҫѡ<D2AA>е<EFBFBD><D0B5>к<EFBFBD> <20>кŴ<D0BA>1<EFBFBD><31>ʼ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> col <20><>Ҫѡ<D2AA>е<EFBFBD><D0B5>к<EFBFBD> <20>кŴ<D0BA>1<EFBFBD><31>ʼ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_table_select(table_id, 1, 2); // <20><>ѡ<EFBFBD>еı<D0B5><C4B1><EFBFBD> <20>ĵ<EFBFBD>һ<EFBFBD>С<EFBFBD><D0A1><EFBFBD>һ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻǣ<CFBD>ѡ<EFBFBD><D1A1>
// <20><>ע˵<D7A2><CBB5> ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ָ<EFBFBD><D6B8>col row<6F><77><EFBFBD><EFBFBD>Ϊ0x00 ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ָ<EFBFBD><D6B8>row col<6F><6C><EFBFBD><EFBFBD>Ϊ0x00 ȡ<><C8A1>ѡ<EFBFBD><D1A1>row col<6F><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0x00
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_table_select (uint16 table_id, uint8 row, uint8 col);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD>ָʾ<D6B8><CABE>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> size <20>DZ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> style <20>DZ<EFBFBD><C7B1><EFBFBD>ʽ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 table2_id = ips200pro_meter_create(0, 0, 60, 1); // 1<><31><EFBFBD>Ƕ<EFBFBD>ָʾ<D6B8><CABE> 2<><32><EFBFBD>ٶ<EFBFBD>ָʾ<D6B8><CABE>
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_meter_create (int16 x, int16 y, uint16 size, ips200pro_meter_style_enum style);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>DZ<EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> meter_id <20>DZ<EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> value <20><>ֵ <09>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Χ0-360 <20>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>Χ0-100
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_meter_set_value(meter_id, 50); // <20><>ѡ<EFBFBD>е<EFBFBD><D0B5>DZ<EFBFBD><C7B1><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>Ϊ50
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_meter_set_value (uint16 meter_id, int16 value);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> clock_size ʱ<>Ӵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>Χ<EFBFBD>鿴ips200pro_font_size_enumö<6D><C3B6><EFBFBD><EFBFBD>
// ָ<><D6B8>ʱ<EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD>ʾʱ<CABE>ӵ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>Ϊ80<38><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>240
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> clock_type ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>Ͳ鿴ips200pro_clock_style_enumö<6D>ٶ<EFBFBD><D9B6><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 clock2_id = ips200pro_clock_create(0, 0, 150, CLOCK_ANALOG); //
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1>ΪԲ<CEAA><D4B2>ָ<EFBFBD><D6B8>ʱ<EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>޸<EFBFBD>ʱ<EFBFBD>ʹ<E4A3AC><CAB9>ips200pro_set_time<6D><65><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_clock_create (int16 x, int16 y, uint16 clock_size, ips200pro_clock_style_enum clock_type);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height <20><><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 bar2_id = ips200pro_progress_bar_create(0, 0, 60, 10); //
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1>ΪԲ<CEAA>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_progress_bar_create (int16 x, int16 y, uint16 width, uint16 height);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> progress_bar_id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> start_value <20><>ʼ<EFBFBD><CABC>ֵ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> end_value <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_progress_bar_set_value(progress_bar_id, 10, 60); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_progress_bar_set_value (uint16 progress_bar_id, uint8 start_value, uint8 end_value);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height <20><><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 test_id = ips200pro_calendar_create(0, 0, 200, 200); //
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_calendar_create (int16 x, int16 y, uint16 width, uint16 height);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> year <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д0<D0B4><30><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ǰ<EFBFBD><C7B0><EFBFBD>ڵ<EFBFBD><DAB5>·<EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> month <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>·<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д0<D0B4><30><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ǰ<EFBFBD><C7B0><EFBFBD>ڵ<EFBFBD><DAB5>·<EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> mode <20><>ʾģʽ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>16<31><36>20<32><30>24<32><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_calendar_display(2036, 1, IPS200PRO_CALENDAR_CHINESE); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ2036<33><36>1<EFBFBD>·<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_calendar_display (uint16 year, uint8 month, ips200pro_calendar_mode_enum mode);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height <20><><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 test_id = ips200pro_waveform_create(0, 0, 200, 200); //
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_waveform_create (int16 x, int16 y, uint16 width, uint16 height);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ӵ<EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> waveform_id <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> line_id <20><><EFBFBD><EFBFBD>ID ID<49><44>1<EFBFBD><31>ʼ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *data <20><><EFBFBD>ӵĵ<D3B5><C4B5><EFBFBD><EFBFBD>ݵ<EFBFBD>ַ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> length <20><><EFBFBD>ӵĵ<D3B5><C4B5><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> color <20><><EFBFBD><EFBFBD>ɫ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_waveform_add_value(1, 1, &point[0], 10, RGB565_RED); //
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ʾ<EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>յ<EFBFBD><D5B5>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_waveform_add_value (uint16 waveform_id, uint8 line_id, const uint16 *data, uint16 length, uint16 color);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>״̬
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> waveform_id <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> line_id <20><><EFBFBD><EFBFBD>ID <20><>1<EFBFBD><31>ʼ <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> line_state 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_waveform_line_state(waveform_id, 1, 0); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_waveform_line_state (uint16 waveform_id, uint16 line_id, uint16 line_state);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> waveform_id <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> line_type <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30>ɢ<EFBFBD><C9A2>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĵ<D0B5><C4B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ߣ<EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_waveform_line_type(waveform_id, 0); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_waveform_line_type (uint16 waveform_id, uint8 line_type);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> waveform_id <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ID
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_waveform_clear(waveform_id); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_waveform_clear (uint16 waveform_id);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height <20><><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 test_id = ips200pro_image_create(0, 0, 188, 120); //
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_image_create (int16 x, int16 y, uint16 width, uint16 height);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ͼ<><CDBC><EFBFBD><EFBFBD>ʾ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> image_id ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *image ͼ<><CDBC><EFBFBD><EFBFBD>ַ NULL<4C>򲻷<EFBFBD><F2B2BBB7><EFBFBD>ͼ<EFBFBD>񣬽<EFBFBD>֪ͨ<CDA8><D6AA>Ļ<EFBFBD><C4BB><EFBFBD>±<EFBFBD><C2B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<>򲻷<EFBFBD><F2B2BBB7><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>֪ͨ<CDA8><D6AA>Ļ<EFBFBD><C4BB><EFBFBD>±<EFBFBD><C2B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height ͼ<><CDBC><EFBFBD>߶<EFBFBD> 0<>򲻷<EFBFBD><F2B2BBB7><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>֪ͨ<CDA8><D6AA>Ļ<EFBFBD><C4BB><EFBFBD>±<EFBFBD><C2B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> image_type ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>磺IMAGE_GRAYSCALE <20><>ͫ<EFBFBD><CDAB>IMAGE_RGB565 С<><D0A1><EFBFBD><EFBFBD><E7A3BA>Ҫ<EFBFBD><D2AA><EFBFBD>н<EFBFBD>ѹ<EFBFBD><D1B9>ѡ<EFBFBD><D1A1>IMAGE_GRAYSCALE IMAGE_NULL<4C><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>֪ͨ<CDA8><D6AA>Ļ<EFBFBD><C4BB><EFBFBD>±<EFBFBD><C2B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> threshold <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ֵ <20><><EFBFBD><EFBFBD>IMAGE_GRAYSCALE<4C><45><EFBFBD>Ҷȣ<D2B6>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>Ч 0:<3A><><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>ֵ<EFBFBD><D6B5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>ֵ<EFBFBD><D6B5>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_image_display(image_id, mt9v03x_image[0], 188, 120, IMAGE_GRAYSCALE, 0); //
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>߶<EFBFBD><DFB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>ȡ<EFBFBD><C8A1>߶Ȳ<DFB6>һ<EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żᵼ<C5BB><E1B5BC><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>ʾ֡<CABE><D6A1><EFBFBD>½<EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_image_display (uint16 image_id, const void *image, uint16 width, uint16 height, ips200pro_image_type_enum image_type, uint8 threshold);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> image_id ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> line_id <20><><EFBFBD><EFBFBD>ID <20><>1<EFBFBD><31>ʼ <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *line_data <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ַ ֻ<><D6BB>ʹ<EFBFBD><CAB9>ips200pro_image_line_uint8_struct<63><74><EFBFBD><EFBFBD>ips200pro_image_line_uint16_struct<63><74><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> line_length <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> data_type <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><38><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16Ϊ<36><CEAA><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> color <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_image_draw_line(image_id, 1, line, 120, IMAGE_LINE_TYPE_UINT8, RGB565_RED); //
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ips200pro_image_display<61><79><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>֮ǰ <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_image_draw_line (uint16 image_id, uint8 line_id, void *line_data, uint16 line_length, ips200pro_image_line_type_enum data_type, uint16 color);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD><D3BE>ο<EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> image_id ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> rectangle_id <20><><EFBFBD>ο<EFBFBD>ID <20><>1<EFBFBD><31>ʼ <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> rectangle_width <20><><EFBFBD>ο<EFBFBD><CEBF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> rectangle_height <20><><EFBFBD>θ߶<CEB8>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> color <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_image_draw_rectangle(image_id, 1, 10, 10, 20, 30, RGB565_RED); //
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ips200pro_image_display<61><79><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>֮ǰ <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>־<EFBFBD><D6BE>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_image_draw_rectangle (uint16 image_id, uint8 rectangle_id, int16 x, int16 y, uint16 rectangle_width, uint16 rectangle_height, uint16 color);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height <20><><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 test_id = ips200pro_container_create(0, 0, 60, 60); //
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_container_create (int16 x, int16 y, uint16 width, uint16 height);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD>ǰ뾶
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> container_id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> border_width <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> radius <20><><EFBFBD><EFBFBD>Բ<EFBFBD>ǰ뾶
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_container_radius(container_id, 1, 10); // <20><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ1<CEAA><31>Բ<EFBFBD>ǰ뾶<C7B0><EBBEB6><EFBFBD><EFBFBD>Ϊ10
// ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ȸ߶<C8B8><DFB6><EFBFBD>ͬ<EFBFBD><CDAC>Բ<EFBFBD>ǰ뾶<C7B0>Ǹ߶ȵ<DFB6>һ<EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪԲ<CEAA><D4B2>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_container_radius (uint16 container_id, uint16 border_width, uint16 radius);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ļ<EFBFBD><C4BB>ʼ<EFBFBD><CABC>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> str ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NULL:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3> <20><>Ϊ<EFBFBD>գ<EFBFBD><D5A3>򴴽<EFBFBD>һ<EFBFBD><D2BB>ҳ<EFBFBD><EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊҳ<CEAA><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> title_position <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> title_size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ҳ<><D2B3>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_init("<22><><EFBFBD><EFBFBD>", IPS200PRO_TITLE_BOTTOM, 30); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>Ե<EFBFBD>ҳ<EFBFBD><EFBFBD><E6A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ڵײ<DAB5><D7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ30
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_init (char *str, ips200pro_title_position_enum title_position, uint8 title_size);
#endif

View File

@@ -60,15 +60,15 @@
#define OV7725_COF_UART_RX (UART1_TX_P02_2) // С<><D0A1><EFBFBD><EFBFBD> UART-RX <20><><EFBFBD><EFBFBD> Ҫ<><D2AA><EFBFBD>ڵ<EFBFBD>Ƭ<EFBFBD><C6AC> TX <20><>
#define OV7725_COF_IIC_DELAY (640 ) // С<><D0A1><EFBFBD><EFBFBD> IIC <20><>ʱ
#define OV7725_COF_IIC_SCL (P02_3) // С<><D0A1><EFBFBD><EFBFBD> IIC-SCL <20><><EFBFBD><EFBFBD>
#define OV7725_COF_IIC_SDA (P02_2) // С<><D0A1><EFBFBD><EFBFBD> IIC-SDA <20><><EFBFBD><EFBFBD>
#define OV7725_COF_IIC_SCL (P33_13) // С<><D0A1><EFBFBD><EFBFBD> IIC-SCL <20><><EFBFBD><EFBFBD>
#define OV7725_COF_IIC_SDA (P32_4) // С<><D0A1><EFBFBD><EFBFBD> IIC-SDA <20><><EFBFBD><EFBFBD>
#define OV7725_DMA_CH (IfxDma_ChannelId_5) // ERU<52><55><EFBFBD><EFBFBD>DMAͨ<41><CDA8><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
#define OV7725_DMA_CH (IfxDma_ChannelId_7) // ERU<52><55><EFBFBD><EFBFBD>DMAͨ<41><CDA8><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
#define OV7725_PCLK_PIN (ERU_CH2_REQ14_P02_1) // GPIO<49><4F><EFBFBD><EFBFBD>TIM<49><4D><EFBFBD>Ž<EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
#define OV7725_PCLK_PIN (ERU_CH1_REQ10_P14_3) // GPIO<49><4F><EFBFBD><EFBFBD>TIM<49><4D><EFBFBD>Ž<EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
#define OV7725_VSYNC_PIN (ERU_CH3_REQ6_P02_0 ) // <20><><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
#define OV7725_VSYNC_PORT_PIN (P02_0 ) // <20><><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
#define OV7725_VSYNC_PIN (ERU_CH4_REQ8_P33_7 ) // <20><><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
#define OV7725_VSYNC_PORT_PIN (P33_7 ) // <20><><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
#define OV7725_DATA_PIN (P00_0 ) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ֻ<><D6BB><EFBFBD><EFBFBD> GPIOx0 <20><><EFBFBD><EFBFBD> GPIOx8 <20><>ʼ <20><><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> F0-F7
#define OV7725_DATA_ADD get_port_in_addr(OV7725_DATA_PIN)

View File

@@ -60,12 +60,12 @@
#define SCC8660_COF_UART_RX (UART1_TX_P02_2) // <20><>ͫ UART-RX <20><><EFBFBD><EFBFBD> Ҫ<><D2AA><EFBFBD>ڵ<EFBFBD>Ƭ<EFBFBD><C6AC> TX <20><>
#define SCC8660_COF_IIC_DELAY (800) // <20><>ͫ IIC <20><>ʱ
#define SCC8660_COF_IIC_SCL (P02_3) // <20><>ͫ IIC-SCL <20><><EFBFBD><EFBFBD>
#define SCC8660_COF_IIC_SDA (P02_2) // <20><>ͫ IIC-SDA <20><><EFBFBD><EFBFBD>
#define SCC8660_COF_IIC_SCL (P33_13) // <20><>ͫ IIC-SCL <20><><EFBFBD><EFBFBD>
#define SCC8660_COF_IIC_SDA (P32_4) // <20><>ͫ IIC-SDA <20><><EFBFBD><EFBFBD>
#define SCC8660_DMA_CH (IfxDma_ChannelId_5)
#define SCC8660_PCLK_PIN (ERU_CH2_REQ14_P02_1) // PCLK <20><><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> TIM_ETR <20><><EFBFBD>Ž<EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
#define SCC8660_VSYNC_PIN (ERU_CH3_REQ6_P02_0 ) // <20><><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
#define SCC8660_DMA_CH (IfxDma_ChannelId_7)
#define SCC8660_PCLK_PIN (ERU_CH1_REQ10_P14_3) // PCLK <20><><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> TIM_ETR <20><><EFBFBD>Ž<EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
#define SCC8660_VSYNC_PIN (ERU_CH4_REQ8_P33_7 ) // <20><><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
#define SCC8660_DATA_PIN (P00_0) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ֻ<><D6BB><EFBFBD><EFBFBD> GPIOx0 <20><><EFBFBD><EFBFBD> GPIOx8 <20><>ʼ <20><><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> F0-F7
#define SCC8660_DATA_ADD (get_port_in_addr(SCC8660_DATA_PIN))

View File

@@ -57,7 +57,7 @@
#define WIFI_UART_TX_PIN (UART2_RX_P10_6) // <20><><EFBFBD><EFBFBD> WIFI ģ<><C4A3> TX
#define WIFI_UART_RX_PIN (UART2_TX_P10_5) // <20><><EFBFBD><EFBFBD> WIFI ģ<><C4A3> RX
#define WIFI_UART_BAUD (115200) // ģ<><EFBFBD><E9B9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define WIFI_UART_RTS_PIN (P10_2) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> ָʾ<D6B8><CABE>ǰģ<C7B0><C4A3><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-<2D><><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define WIFI_UART_RTS_PIN (P33_8) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> ָʾ<D6B8><CABE>ǰģ<C7B0><C4A3><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0-<2D><><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-<2D><><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define WIFI_UART_HARDWARE_RST (1) // <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> 0-ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ 1-ʹ<><CAB9>Ӳ<EFBFBD><D3B2> RST
#if WIFI_UART_HARDWARE_RST // <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׳<EFBFBD><D7B3>ֵ<EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ģ<EFBFBD><C4A3>
#define WIFI_UART_RST_PIN (P11_6) // <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>

View File

@@ -55,7 +55,7 @@
#define WIRELESS_UART_BUAD_RATE (115200) // <20><><EFBFBD>ߴ<EFBFBD><DFB4>ڶ<EFBFBD>Ӧʹ<D3A6>õĴ<C3B5><C4B4>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
#define WIRELESS_UART_TX_PIN (UART2_RX_P10_6) // <20><><EFBFBD>ߴ<EFBFBD><DFB4>ڶ<EFBFBD>Ӧģ<D3A6><C4A3><EFBFBD><EFBFBD> TX Ҫ<>ӵ<EFBFBD><D3B5><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD> RX
#define WIRELESS_UART_RX_PIN (UART2_TX_P10_5) // <20><><EFBFBD>ߴ<EFBFBD><DFB4>ڶ<EFBFBD>Ӧģ<D3A6><C4A3><EFBFBD><EFBFBD> RX Ҫ<>ӵ<EFBFBD><D3B5><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD> TX
#define WIRELESS_UART_RTS_PIN (P10_2) // <20><><EFBFBD>ߴ<EFBFBD><DFB4>ڶ<EFBFBD>Ӧģ<D3A6><C4A3><EFBFBD><EFBFBD> RTS <20><><EFBFBD><EFBFBD>
#define WIRELESS_UART_RTS_PIN (P33_8) // <20><><EFBFBD>ߴ<EFBFBD><DFB4>ڶ<EFBFBD>Ӧģ<D3A6><C4A3><EFBFBD><EFBFBD> RTS <20><><EFBFBD><EFBFBD>
//====================================================<3D>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>====================================================
// ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><E6B1BE>V2.0<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵġ<EFBFBD>
// ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RTS<54><53><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1BFAA>ʧ<EFBFBD>ܡ<EFBFBD>

View File

@@ -94,6 +94,7 @@
#include "zf_device_imu963ra.h"
#include "zf_device_ips114.h"
#include "zf_device_ips200.h"
#include "zf_device_ips200pro.h"
#include "zf_device_key.h"
#include "zf_device_menc15a.h"
#include "zf_device_mpu6050.h"

View File

@@ -0,0 +1,995 @@
/*********************************************************************************************************************
* TC264 Opensourec Library <20><><EFBFBD><EFBFBD>TC264 <20><>Դ<EFBFBD><EFBFBD><E2A3A9>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ڹٷ<DAB9> SDK <20>ӿڵĵ<DAB5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
* Copyright (c) 2022 SEEKFREE <20><><EFBFBD>ɿƼ<C9BF>
*
* <20><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD> TC264 <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
*
* TC264 <20><>Դ<EFBFBD><D4B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B7A2><EFBFBD><EFBFBD> GPL<50><4C>GNU General Public License<73><65><EFBFBD><EFBFBD> GNUͨ<55>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><> GPL <20>ĵ<EFBFBD>3<EFBFBD><EFBFBD><E6A3A8> GPL3.0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>κκ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>İ汾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD>޸<EFBFBD><DEB8><EFBFBD>
*
* <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κεı<CEB5>֤
* <20><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB>ʺ<EFBFBD><CABA>ض<EFBFBD><D8B6><EFBFBD>;<EFBFBD>ı<EFBFBD>֤
* <20><><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD> GPL
*
* <20><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>ͬʱ<CDAC>յ<EFBFBD>һ<EFBFBD><D2BB> GPL <20>ĸ<EFBFBD><C4B8><EFBFBD>
* <20><><EFBFBD><EFBFBD>û<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><https://www.gnu.org/licenses/>
*
* <20><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>ʹ<EFBFBD><CAB9> GPL3.0 <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>֤Э<D6A4><D0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>İ汾
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӣ<EFBFBD>İ<EFBFBD><C4B0><EFBFBD> libraries/doc <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>µ<EFBFBD> GPL3_permission_statement.txt <20>ļ<EFBFBD><C4BC><EFBFBD>
* <20><><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> libraries <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>µ<EFBFBD> LICENSE <20>ļ<EFBFBD>
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> zf_device_ips200pro
* <20><>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> <20>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾
* <20><EFBFBD><E6B1BE>Ϣ <20>鿴 libraries/doc <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> version <20>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ADS v1.10.2
* <20><><EFBFBD><EFBFBD>ƽ̨ TC264D
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> https://seekfree.taobao.com/
*
* <20>޸ļ<DEB8>¼
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
* 2025-05-15 seekfree first version
********************************************************************************************************************/
/********************************************************************************************************************
* <20><><EFBFBD>߶<EFBFBD><DFB6>
* ------------------------------------
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
* // SPI <20><><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* SCL <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_SCL_PIN_SPI <20><EFBFBD><EAB6A8>
* SDA <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_SDA_PIN_SPI <20><EFBFBD><EAB6A8>
* RST <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_RST_PIN_SPI <20><EFBFBD><EAB6A8>
* DC <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_DC_PIN_SPI <20><EFBFBD><EAB6A8>
* CS <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_CS_PIN_SPI <20><EFBFBD><EAB6A8>
* BLk <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_BLk_PIN_SPI <20><EFBFBD><EAB6A8>
* VCC 3.3V<EFBFBD><EFBFBD>Դ
* GND <20><>Դ<EFBFBD><D4B4>
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
* ------------------------------------
********************************************************************************************************************/
#include "zf_common_debug.h"
#include "zf_common_function.h"
#include "zf_driver_delay.h"
#include "zf_driver_soft_spi.h"
#include "zf_driver_spi.h"
#include "zf_device_type.h"
#include "zf_device_config.h"
#include "zf_device_ips200pro.h"
#define IPS200PRO_SPI_LENGTH ( 4096 ) // ÿ<><C3BF>SPIͨѶ<CDA8><D1B6><EFBFBD>󳤶<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
#define MAX_ID_PAGE ( 30 )
#define MAX_ID_LABEL ( 50 )
#define MAX_ID_TABLE ( 20 )
#define MAX_ID_METER ( 10 )
#define MAX_ID_CLOCK ( 1 )
#define MAX_ID_PROGRESS_BAR ( 20 )
#define MAX_ID_CALENDAR ( 1 )
#define MAX_ID_WAVEFORM ( 5 )
#define MAX_ID_IMAGE ( 5 )
#define MAX_ID_IMAGE_LINE ( 10 )
#define MAX_ID_IMAGE_RECTANGLE ( 5 )
ips200pro_information_struct ips200pro_information;
ips200pro_time_struct ips200pro_time;
static uint8 ips200pro_page_num = 0;
static char ips200pro_printf_buffer[51];
typedef enum
{
IPS200PRO_PARAMETER_SET = 0x01, // <20><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_PARAMETER_GET, // <20><>ȡϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_PAGE = 0x10, // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_LABEL, // <20>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_TABLE, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_METER, // <20>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_CLOCK, // ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_BAR, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_CALENDAR, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_WAVEFORM, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_IMAGE, // ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_CONTAINER, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WIDGETS_MAX, // ռλʹ<CEBB><CAB9>
}ips200pro_command1_enum;
// ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef enum
{
// <20>ɶ<EFBFBD><C9B6><EFBFBD>д<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
IPS200PRO_SYSTEM_DATE = 0x01,// ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
IPS200PRO_SYSTEM_TIME, // ϵͳʱ<CDB3><CAB1>
IPS200PRO_SYSTEM_PARENT, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_SYSTEM_CODED_FORMAT, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
IPS200PRO_SYSTEM_BACKLIGHT, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_SYSTEM_DIRECTION, // <20><>Ļ<EFBFBD><C4BB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
IPS200PRO_SYSTEM_CRC_STATE, // CRCʹ<43><CAB9>״̬
IPS200PRO_SYSTEM_FONT_SIZE, // ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SCREEN_SYSTEM_OPTIMIZE, // <20>Ż<EFBFBD> Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><><C4AC><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD>)
IPS200PRO_SYSTEM_THEME, // ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
IPS200PRO_SYSTEM_SET_MAX, // ռλʹ<CEBB><CAB9>
// <20><><EFBFBD>ɶ<EFBFBD><C9B6>IJ<EFBFBD><C4B2><EFBFBD>
IPS200PRO_SYSTEM_INFORMATION = 0x10, // <20><>ĻID<49><44><EFBFBD>š<EFBFBD><C5A1>ֱ<EFBFBD><D6B1>ʡ<EFBFBD><CAA1>̼<EFBFBD><CCBC>
IPS200PRO_SYSTEM_FREE_STACK, // ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>С
IPS200PRO_SYSTEM_GET_MAX, // ռλʹ<CEBB><CAB9>
// ͨ<>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_COMMON_CREATE = 0x01, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_COMMON_DELETE, // <20><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>
IPS200PRO_COMMON_FONT_SIZE, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
IPS200PRO_COMMON_COLOR, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
IPS200PRO_COMMON_VALUE, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ <20><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD>ͬ
IPS200PRO_COMMON_POSITION, // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
IPS200PRO_COMMON_HIDDEN, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_COMMON_MAX, // ռλ
// PAGE<47><45><EFBFBD><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_PAGE_SWITCH = 0x10, // <20>л<EFBFBD>ҳ<EFBFBD><D2B3>
IPS200PRO_PAGE_TITLE, // <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾλ<CABE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_PAGE_MAX,
// LABEL<45><4C><EFBFBD><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_LABEL_LONG_MODE = 0x10, // <20><><EFBFBD>ı<EFBFBD>ģʽ
IPS200PRO_LABEL_MAX,
// TABLE<4C><45><EFBFBD><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_TABLE_COL_WIDTH = 0x10, // <20><><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_TABLE_SELECT, // <20><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>Ԫ<EFBFBD><D4AA>ѡ<EFBFBD><D1A1>
IPS200PRO_TABLE_MAX,
// WAVEFORM<52><4D><EFBFBD><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WAVEFORM_LINE_STATE = 0x10, // <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WAVEFORM_LINE_TYPE, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WAVEFORM_CLEAR, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_WAVEFORM_MAX,
// IMAGE<47><45><EFBFBD><EFBFBD>ר<EFBFBD><D7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_IMAGE_DRAW_LINE = 0x10, // ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IPS200PRO_IMAGE_DRAW_RECTANGLE, // ͼ<>񻭿<EFBFBD>
IPS200PRO_IMAGE_MAX,
}ips200pro_command2_enum;
// <20><><EFBFBD><EFBFBD>ʹ<EFBFBD>ú궨<C3BA><EAB6A8><EFBFBD>ķ<EFBFBD>ʽ<EFBFBD><CABD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>Ϊ<EFBFBD>˱<EFBFBD><CBB1><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A3AC><EFBFBD>²<EFBFBD><C2B2><EFBFBD>IDE<44>޷<EFBFBD><DEB7><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5>Ե<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define IPS200PRO_HEADER \
uint8 command1; /* <20><><EFBFBD><EFBFBD>1 */ \
uint8 command2; /* <20><><EFBFBD><EFBFBD>2 */ \
uint8 check_crc8; /* CRCУ<43>顢Ĭ<E9A1A2><C4AC>δ<EFBFBD><CEB4><EFBFBD><EFBFBD> */ \
uint8 widgets_id; /* ID<49><44><EFBFBD><EFBFBD> */ \
uint32 length /* <20><><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD><EFBFBD><EFBFBD> */ \
typedef struct
{
IPS200PRO_HEADER;
}ips200pro_header_struct;
// <20><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef union
{
int8 int8_data[2]; // <20>з<EFBFBD><D0B7><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>
uint8 uint8_data[2]; // <20>޷<EFBFBD><DEB7><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>
int16 int16_data; // <20>з<EFBFBD><D0B7>Ű<EFBFBD><C5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uint16 uint16_data; // <20>޷<EFBFBD><DEB7>Ű<EFBFBD><C5B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}data_split_union;
// ͨ<>ýṹ<C3BD><E1B9B9>
#define IPS200PRO_COMMON_STRUCT(name, num) \
struct common_packet\
{\
IPS200PRO_HEADER; \
data_split_union data[num]; \
}name;
#define ips200pro_write_8bit_data_spi_array(data, len) (spi_write_8bit_array(IPS200PRO_SPI_INDEX, (data), (len)))
#define ips200pro_transfer_8bit_data_spi_array(tx_data, rx_data, len) (spi_transfer_8bit(IPS200PRO_SPI_INDEX, (tx_data), (rx_data), (len)))
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ļ<EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> wait_time <20>ȴ<EFBFBD>ʱ<EFBFBD><CAB1>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 1<><31><EFBFBD><EFBFBD>ʱ<EFBFBD>˳<EFBFBD> 0<><30>δ<EFBFBD><CEB4>ʱ
// ʹ<><CAB9>ʾ<EFBFBD><CABE>
// <20><>ע<EFBFBD><D7A2>Ϣ <20>ڲ<EFBFBD>ʹ<EFBFBD>ã<EFBFBD><C3A3>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
static uint8 ips200pro_wait_idle (uint32 wait_time)
{
wait_time = wait_time * 100;
while(0 == gpio_get_level(IPS200PRO_INT_PIN) && (0 != wait_time))
{
func_soft_delay(1000);
wait_time--;
}
return (!wait_time);
}
#if(1 == IPS200PRO_CRC_ENABLE)
static uint8 ips200pro_calculate_crc8(uint8 *data, uint32 length)
{
uint8 i, crc = 0;
while(length--)
{
crc ^= *data++;
for (i = 0; i < 8; i++)
{
crc = (crc & 0x80) ? ((crc << 1) ^ 0x07) : (crc <<= 1);
}
}
return crc;
}
#endif
uint8 ips200pro_send_buffer(const void *buffer, uint32 length, uint32 time_out, uint8 end_flag)
{
uint8 return_state = 1;
if( ((0 == time_out) || (0 == ips200pro_wait_idle(time_out))) // <20>ȴ<EFBFBD>δ<EFBFBD><CEB4>ʱ
&& (IPS200PRO_SPI_LENGTH >= length) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
&& (NULL != buffer)) // ָ<>벻Ϊ<EBB2BB><CEAA>
{
gpio_low(IPS200PRO_CS_PIN);
ips200pro_write_8bit_data_spi_array((const uint8 *)buffer, length);
if(1 == end_flag)
{
gpio_high(IPS200PRO_CS_PIN);
}
return_state = 0;
}
return return_state;
}
uint8 ips200pro_receive_buffer(void *buffer, uint32 length, uint32 time_out)
{
uint8 return_state = 1;
if( ((0 == time_out) || (0 == ips200pro_wait_idle(time_out))) // <20>ȴ<EFBFBD>δ<EFBFBD><CEB4>ʱ
&& (IPS200PRO_SPI_LENGTH >= length) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
&& (NULL != buffer)) // ָ<>벻Ϊ<EBB2BB><CEAA>
{
gpio_low(IPS200PRO_CS_PIN);
ips200pro_transfer_8bit_data_spi_array((const uint8 *)buffer, (uint8 *)buffer, length);
gpio_high(IPS200PRO_CS_PIN);
return_state = 0;
}
return return_state;
}
uint8 ips200pro_write_packet(ips200pro_command1_enum command1, ips200pro_command2_enum command2, uint8 widgets_id, ips200pro_header_struct *temp, uint32 length, const void *buffer, uint32 buffer_length)
{
uint8 return_state = 1;
temp->command1 = command1;
temp->command2 = command2;
temp->widgets_id = widgets_id;
temp->length = length + buffer_length;
#if(1 == IPS200PRO_CRC_ENABLE)
temp->check_crc8 = 0;
temp->check_crc8 = ips200pro_calculate_crc8((uint8 *)temp, length);
#endif
return_state = ips200pro_send_buffer(temp, length, IPS200PRO_WAIT_TIME, NULL == buffer);
if((0 == return_state) && (NULL != buffer) && (0 != buffer_length))
{
return_state = ips200pro_send_buffer(buffer, buffer_length, 0, 1);
}
else
{
gpio_high(IPS200PRO_CS_PIN);
}
return return_state;
}
uint8 ips200pro_read_parameter(ips200pro_command2_enum command2, ips200pro_header_struct *temp, uint8 length)
{
uint8 return_state;
temp->command1 = IPS200PRO_PARAMETER_GET;
temp->command2 = command2;
temp->length = length;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
return_state = ips200pro_send_buffer(temp, length, IPS200PRO_WAIT_TIME, 1);
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
temp->command1 = 0x00;
return_state = ips200pro_receive_buffer(temp, length, IPS200PRO_WAIT_TIME);
//*parameter = temp.data[0].uint8_data[0];
return return_state;
}
uint8 ips200pro_set_date(uint16 year, uint8 month, uint8 day)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = year;
temp.data[1].uint8_data[0] = month;
temp.data[1].uint8_data[1] = day;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_DATE, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_time(uint8 hour, uint8 minute, uint8 second)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint8_data[0] = hour;
temp.data[0].uint8_data[1] = minute;
temp.data[1].uint8_data[0] = second;
temp.data[1].uint8_data[1] = 0;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_TIME, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_parent(uint16 child_id, uint16 parent_id)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint8_data[0] = (uint8)child_id;
temp.data[0].uint8_data[1] = child_id >> 8;
temp.data[1].uint8_data[0] = (uint8)parent_id;
temp.data[1].uint8_data[1] = parent_id >> 8;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_PARENT, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_format(ips200pro_format_enum format)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint8_data[0] = format;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_CODED_FORMAT, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_backlight(uint8 backlight)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint8_data[0] = backlight;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_BACKLIGHT, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_direction(ips200pro_display_direction_enum dir)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint8_data[0] = dir;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_DIRECTION, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_crc_state(uint8 crc_state)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint8_data[0] = crc_state;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_CRC_STATE, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_default_font(ips200pro_font_size_enum font)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint8_data[0] = font;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, IPS200PRO_SYSTEM_FONT_SIZE, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_optimize(uint8 state)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint8_data[0] = state;
return_state = ips200pro_write_packet(IPS200PRO_PARAMETER_SET, SCREEN_SYSTEM_OPTIMIZE, 0, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_get_date(ips200pro_time_struct *time)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
return_state = ips200pro_read_parameter(IPS200PRO_SYSTEM_DATE, (ips200pro_header_struct *)&temp, sizeof(temp));
if(0 == return_state)
{
memcpy(&time->year, &(temp.data[0]), 4);
}
return return_state;
}
uint8 ips200pro_get_time(ips200pro_time_struct *time)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
return_state = ips200pro_read_parameter(IPS200PRO_SYSTEM_TIME, (ips200pro_header_struct *)&temp, sizeof(temp));
if(0 == return_state)
{
memcpy(&time->hour, &(temp.data[0]), 4);
}
return return_state;
}
uint8 ips200pro_get_information(ips200pro_information_struct *information)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 4);
return_state = ips200pro_read_parameter(IPS200PRO_SYSTEM_INFORMATION, (ips200pro_header_struct *)&temp, sizeof(temp));
if(0 == return_state)
{
information->version_major = temp.widgets_id; // <20><><EFBFBD>
memcpy(&information->id, &(temp.data[0]), 8);
}
return return_state;
}
uint8 ips200pro_get_free_stack_size(uint32 *stack_size)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
return_state = ips200pro_read_parameter(IPS200PRO_SYSTEM_FREE_STACK, (ips200pro_header_struct *)&temp, sizeof(temp));
if(0 == return_state)
{
*stack_size = *((uint32 *)&temp.data[0]);
}
return return_state;
}
uint8 ips200pro_create_widgets(uint16 widgets_id, int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state = 1;
IPS200PRO_COMMON_STRUCT(temp, 4);
temp.data[0].int16_data = x;
temp.data[1].int16_data = y;
temp.data[2].uint16_data = width;
temp.data[3].uint16_data = height;
if(ips200pro_page_num || (IPS200PRO_WIDGETS_PAGE == (widgets_id >> 8)))
{
// ֻ<><D6BB><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬲<EFBFBD><F3A3ACB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
return_state = ips200pro_write_packet(widgets_id >> 8, IPS200PRO_COMMON_CREATE, (uint8)widgets_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
}
return return_state;
}
uint8 ips200pro_delete_widgets(uint16 widgets_id)
{
uint8 return_state;
ips200pro_header_struct temp;
return_state = ips200pro_write_packet(widgets_id >> 8, IPS200PRO_COMMON_DELETE, (uint8)widgets_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_font(uint16 widgets_id, ips200pro_font_size_enum font_size)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint16_data = font_size;
return_state = ips200pro_write_packet(widgets_id >> 8, IPS200PRO_COMMON_FONT_SIZE, (uint8)widgets_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_color(uint16 widgets_id, ips200pro_widgets_color_type_enum color_type, uint16 color)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = color_type;
temp.data[1].uint16_data = color;
return_state = ips200pro_write_packet(widgets_id >> 8, IPS200PRO_COMMON_COLOR, (uint8)widgets_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_position(uint16 widgets_id, int16 x, int16 y)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].int16_data = x;
temp.data[1].int16_data = y;
return_state = ips200pro_write_packet(widgets_id >> 8, IPS200PRO_COMMON_POSITION, (uint8)widgets_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_set_hidden(uint16 widgets_id, uint8 state)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint16_data = state;
return_state = ips200pro_write_packet(widgets_id >> 8, IPS200PRO_COMMON_HIDDEN, (uint8)widgets_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_page_create(char *str)
{
uint8 return_state = 1;
if(MAX_ID_PAGE > ips200pro_page_num)
{
return_state = ips200pro_create_widgets(++ips200pro_page_num | (IPS200PRO_WIDGETS_PAGE << 8), 0, 0, 0, 0);
if(1 == return_state)
{
ips200pro_page_num--;
}
else if(NULL != str)
{
return_state = ips200pro_page_set_title_name(ips200pro_page_num, str);
}
}
return return_state == 1 ? 0 : (ips200pro_page_num | (IPS200PRO_WIDGETS_PAGE << 8));
}
uint8 ips200pro_page_switch(uint16 page_id, ips200pro_page_animations_enum anim_en)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint16_data = anim_en;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_PAGE, IPS200PRO_PAGE_SWITCH, (uint8)page_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_page_hidden(uint16 page_id, uint8 state)
{
uint8 return_state;
if(0 == page_id)
{
page_id = 0 | (IPS200PRO_WIDGETS_PAGE << 8);
}
return_state = ips200pro_set_hidden(page_id, state);
return return_state;
}
uint8 ips200pro_page_set_title_name(uint16 page_id, char *str)
{
uint8 return_state;
ips200pro_header_struct temp;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_PAGE, IPS200PRO_COMMON_VALUE, (uint8)page_id, (ips200pro_header_struct *)&temp, sizeof(temp), str, strlen(str));
return return_state;
}
uint8 ips200pro_page_set_title_position_width(ips200pro_title_position_enum title_position, uint8 title_width)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = title_position;
temp.data[1].uint16_data = title_width;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_PAGE, IPS200PRO_PAGE_TITLE, 1, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_label_create(int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state = 1;
static uint8 lebel_num = 0;
if(MAX_ID_LABEL > lebel_num)
{
return_state = ips200pro_create_widgets(++lebel_num | (IPS200PRO_WIDGETS_LABEL << 8), x, y, width, height);
if(1 == return_state)
{
lebel_num--;
}
}
return return_state == 1 ? 0 : (lebel_num | (IPS200PRO_WIDGETS_LABEL << 8));
}
uint8 ips200pro_label_printf(uint16 label_id, const char *format, ...)
{
int32 str_length;
va_list arg;
va_start(arg, format);
uint8 return_state = 1;
ips200pro_header_struct temp;
str_length = vsnprintf(ips200pro_printf_buffer, sizeof(ips200pro_printf_buffer) - 1, format, arg);
if(0 <= str_length)
{
temp.length = (uint32)str_length;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_LABEL, IPS200PRO_COMMON_VALUE, (uint8)label_id, (ips200pro_header_struct *)&temp, sizeof(temp), ips200pro_printf_buffer, temp.length);
}
va_end(arg);
return return_state;
}
uint8 ips200pro_label_show_string(uint16 label_id, const char *str)
{
uint8 return_state;
ips200pro_header_struct temp;
temp.length = strlen(str);
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_LABEL, IPS200PRO_COMMON_VALUE, (uint8)label_id, (ips200pro_header_struct *)&temp, sizeof(temp), str, temp.length);
return return_state;
}
uint8 ips200pro_label_mode(uint16 label_id, ips200pro_label_mode_enum mode)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint16_data = mode;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_LABEL, IPS200PRO_LABEL_LONG_MODE, (uint8)label_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_table_create(int16 x, int16 y, uint16 row_num, uint16 col_num)
{
uint8 return_state = 1;
static uint8 table_num = 0;
if(MAX_ID_TABLE > table_num)
{
return_state = ips200pro_create_widgets(++table_num | (IPS200PRO_WIDGETS_TABLE << 8), x, y, row_num, col_num);
if(1 == return_state)
{
table_num--;
}
}
return return_state == 1 ? 0 : (table_num | (IPS200PRO_WIDGETS_TABLE << 8));
}
uint8 ips200pro_table_cell_printf(uint16 table_id, uint8 row, uint8 col, char *format, ...)
{
int32 str_length;
va_list arg;
va_start(arg, format);
uint8 return_state = 1;
IPS200PRO_COMMON_STRUCT(temp, 2);
str_length = vsnprintf(ips200pro_printf_buffer, sizeof(ips200pro_printf_buffer) - 1, format, arg);
if(0 <= str_length)
{
temp.length = (uint32)str_length;
temp.data[0].uint16_data = row;
temp.data[1].uint16_data = col;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_TABLE, IPS200PRO_COMMON_VALUE, (uint8)table_id, (ips200pro_header_struct *)&temp, sizeof(temp), ips200pro_printf_buffer, temp.length);
}
va_end(arg);
return return_state;
}
uint8 ips200pro_table_set_col_width(uint16 table_id, uint8 col, uint16 width)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = width;
temp.data[1].uint16_data = col;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_TABLE, IPS200PRO_TABLE_COL_WIDTH, (uint8)table_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_table_select(uint16 table_id, uint8 row, uint8 col)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = row;
temp.data[1].uint16_data = col;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_TABLE, IPS200PRO_TABLE_SELECT, (uint8)table_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_meter_create(int16 x, int16 y, uint16 size, ips200pro_meter_style_enum style)
{
uint8 return_state = 1;
static uint8 meter_num = 0;
if(MAX_ID_METER > meter_num)
{
return_state = ips200pro_create_widgets(++meter_num | (IPS200PRO_WIDGETS_METER << 8), x, y, size, style);
if(1 == return_state)
{
meter_num--;
}
}
return return_state == 1 ? 0 : (meter_num | (IPS200PRO_WIDGETS_METER << 8));
}
uint8 ips200pro_meter_set_value(uint16 meter_id, int16 value)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].int16_data = value;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_METER, IPS200PRO_COMMON_VALUE, (uint8)meter_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_clock_create(int16 x, int16 y, uint16 clock_size, ips200pro_clock_style_enum clock_type)
{
uint8 return_state = 1;
static uint8 clock_num = 0;
if(MAX_ID_CLOCK > clock_num)
{
return_state = ips200pro_create_widgets(++clock_num | (IPS200PRO_WIDGETS_CLOCK << 8), x, y, clock_size, clock_type);
if(1 == return_state)
{
clock_num--;
}
}
return return_state == 1 ? 0 : (clock_num | (IPS200PRO_WIDGETS_CLOCK << 8));
}
uint16 ips200pro_progress_bar_create(int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state = 1;
static uint8 progress_bar_num = 0;
if(MAX_ID_PROGRESS_BAR > progress_bar_num)
{
return_state = ips200pro_create_widgets(++progress_bar_num | (IPS200PRO_WIDGETS_BAR << 8), x, y, width, height);
if(1 == return_state)
{
progress_bar_num--;
}
}
return return_state == 1 ? 0 : (progress_bar_num | (IPS200PRO_WIDGETS_BAR << 8));
}
uint8 ips200pro_progress_bar_set_value(uint16 progress_bar_id, uint8 start_value, uint8 end_value)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = start_value;
temp.data[1].uint16_data = end_value;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_BAR, IPS200PRO_COMMON_VALUE, (uint8)progress_bar_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_calendar_create(int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state;
// ֻ<>ܴ<EFBFBD><DCB4><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD>
return_state = ips200pro_create_widgets(1 | (IPS200PRO_WIDGETS_CALENDAR << 8), x, y, width, height);
return return_state == 1 ? 0 : (1 | (IPS200PRO_WIDGETS_CALENDAR << 8));
}
uint8 ips200pro_calendar_display(uint16 year, uint8 month, ips200pro_calendar_mode_enum mode)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = year;
temp.data[1].uint8_data[0] = month;
temp.data[1].uint8_data[1] = mode;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_CALENDAR, IPS200PRO_COMMON_VALUE, 1, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_waveform_create(int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state = 1;
static uint8 waveform_num = 0;
if(MAX_ID_WAVEFORM > waveform_num)
{
return_state = ips200pro_create_widgets(++waveform_num | (IPS200PRO_WIDGETS_WAVEFORM << 8), x, y, width, height);
if(1 == return_state)
{
waveform_num--;
}
}
return return_state == 1 ? 0 : (waveform_num | (IPS200PRO_WIDGETS_WAVEFORM << 8));
}
uint8 ips200pro_waveform_add_value(uint16 waveform_id, uint8 line_id, const uint16 *data, uint16 length, uint16 color)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = line_id;
temp.data[1].uint16_data = color;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_WAVEFORM, IPS200PRO_COMMON_VALUE, (uint8)waveform_id, (ips200pro_header_struct *)&temp, sizeof(temp), data, length * 2);
return return_state;
}
uint8 ips200pro_waveform_line_state(uint16 waveform_id, uint16 line_id, uint16 line_state)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = line_id;
temp.data[1].uint16_data = line_state;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_WAVEFORM, IPS200PRO_WAVEFORM_LINE_STATE, (uint8)waveform_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_waveform_line_type(uint16 waveform_id, uint8 line_type)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 1);
temp.data[0].uint16_data = line_type;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_WAVEFORM, IPS200PRO_WAVEFORM_LINE_TYPE, (uint8)waveform_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint8 ips200pro_waveform_clear(uint16 waveform_id)
{
uint8 return_state;
ips200pro_header_struct temp;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_WAVEFORM, IPS200PRO_WAVEFORM_CLEAR, (uint8)waveform_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_image_create(int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state = 1;
static uint8 image_num = 0;
if(MAX_ID_IMAGE > image_num)
{
return_state = ips200pro_create_widgets(++image_num | (IPS200PRO_WIDGETS_IMAGE << 8), x, y, width, height);
if(1 == return_state)
{
image_num--;
}
}
return return_state == 1 ? 0 : (image_num | (IPS200PRO_WIDGETS_IMAGE << 8));
}
uint8 ips200pro_image_display(uint16 image_id, const void *image, uint16 width, uint16 height, ips200pro_image_type_enum image_type, uint8 threshold)
{
uint8 return_state = 0;
uint16 send_length;
uint32 image_size;
uint8 const *image_data;
IPS200PRO_COMMON_STRUCT(temp, 4);
image_data = (uint8 *)image;
image_size = width * height * (IMAGE_RGB565 == image_type ? 2 : 1);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3A3AC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>֪ͨ<CDA8><D6AA>Ļ<EFBFBD><C4BB><EFBFBD>±<EFBFBD><C2B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
if((NULL == image) || (!width) || (!height) || (IMAGE_NULL == image_type))
{
temp.data[0].uint16_data = 0;
temp.data[1].uint16_data = 0;
temp.data[2].uint8_data[1] = IMAGE_NULL;
}
else
{
temp.data[0].uint16_data = width;
temp.data[1].uint16_data = height;
temp.data[2].uint8_data[1] = image_type;
}
temp.data[2].uint8_data[0] = 1; // ͼ<><CDBC><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ
temp.data[3].uint16_data = threshold;
do
{
// <20><><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
send_length = image_size > (IPS200PRO_SPI_LENGTH - sizeof(temp)) ? (IPS200PRO_SPI_LENGTH - sizeof(temp)) : (uint16)image_size;
return_state += ips200pro_write_packet(IPS200PRO_WIDGETS_IMAGE, IPS200PRO_COMMON_VALUE, (uint8)image_id, (ips200pro_header_struct *)&temp, sizeof(temp), image_data, send_length);
image_data += send_length;
image_size -= send_length;
temp.data[2].uint8_data[0] = 0;
}while(image_size);
return return_state;
}
uint8 ips200pro_image_draw_line(uint16 image_id, uint8 line_id, void *line_data, uint16 line_length, ips200pro_image_line_type_enum data_type, uint16 color)
{
uint8 return_state = 1;
IPS200PRO_COMMON_STRUCT(temp, 2);
if(MAX_ID_IMAGE_LINE >= line_id)
{
temp.length = data_type * line_length * 2 + sizeof(temp);
temp.data[0].uint8_data[0] = line_id;
temp.data[0].uint8_data[1] = data_type;
temp.data[1].uint16_data = color;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_IMAGE, IPS200PRO_IMAGE_DRAW_LINE, (uint8)image_id, (ips200pro_header_struct *)&temp, sizeof(temp), line_data, data_type * line_length * 2);
}
return return_state;
}
uint8 ips200pro_image_draw_rectangle(uint16 image_id, uint8 rectangle_id, int16 x, int16 y, uint16 rectangle_width, uint16 rectangle_height, uint16 color)
{
uint8 return_state = 1;
IPS200PRO_COMMON_STRUCT(temp, 6);
if(MAX_ID_IMAGE_RECTANGLE >= rectangle_id)
{
temp.data[0].uint16_data = rectangle_id;
temp.data[1].int16_data = x;
temp.data[2].int16_data = y;
temp.data[3].uint16_data = rectangle_width;
temp.data[4].uint16_data = rectangle_height;
temp.data[5].uint16_data = color;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_IMAGE, IPS200PRO_IMAGE_DRAW_RECTANGLE, (uint8)image_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
}
return return_state;
}
uint16 ips200pro_container_create(int16 x, int16 y, uint16 width, uint16 height)
{
uint8 return_state = 1;
static uint8 container_num = 0;
if(MAX_ID_IMAGE_RECTANGLE > container_num)
{
return_state = ips200pro_create_widgets(++container_num | (IPS200PRO_WIDGETS_CONTAINER << 8), x, y, width, height);
if(1 == return_state)
{
container_num--;
}
}
return return_state == 1 ? 0 : (container_num | (IPS200PRO_WIDGETS_CONTAINER << 8));
}
uint8 ips200pro_container_radius(uint16 container_id, uint16 border_width, uint16 radius)
{
uint8 return_state;
IPS200PRO_COMMON_STRUCT(temp, 2);
temp.data[0].uint16_data = border_width;
temp.data[1].uint16_data = radius;
return_state = ips200pro_write_packet(IPS200PRO_WIDGETS_CONTAINER, IPS200PRO_COMMON_VALUE, (uint8)container_id, (ips200pro_header_struct *)&temp, sizeof(temp), NULL, 0);
return return_state;
}
uint16 ips200pro_init(char *str, ips200pro_title_position_enum title_position, uint8 title_size)
{
uint16 page_id = 0;
spi_init(IPS200PRO_SPI_INDEX, SPI_MODE0, IPS200PRO_SPI_SPEED, IPS200PRO_CLK_PIN, IPS200PRO_MOSI_PIN, IPS200PRO_MISO_PIN, SPI_CS_NULL);
gpio_init(IPS200PRO_RST_PIN, GPO, GPIO_HIGH, GPO_PUSH_PULL);
gpio_init(IPS200PRO_CS_PIN, GPO, GPIO_HIGH, GPO_PUSH_PULL);
// <20><><EFBFBD><EFBFBD>ĻӦ<C4BB><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>Ļ<EFBFBD><C4BB>ʹ<EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD>б<EFBFBD><D0B1>ε<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>³<EFBFBD><C2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gpio_init(IPS200PRO_INT_PIN, GPI, GPIO_HIGH, GPI_PULL_UP);
gpio_set_level(IPS200PRO_RST_PIN, 0);
system_delay_ms(5);
gpio_set_level(IPS200PRO_RST_PIN, 1);
system_delay_ms(20);
// ijһЩ<D2BB><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD>ȡ<EFBFBD><C8A1>Ļ<EFBFBD><C4BB>Ϣ
// ips200pro_get_information(&ips200pro_information);
// ips200pro_get_time(&ips200pro_time);
// <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>е<EFBFBD><D0B5><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>е<EFBFBD><D0B5>þͻᵼ<CDBB><E1B5BC>ÿ<EFBFBD><C3BF><EFBFBD>ϵ<EFBFBD>֮<EFBFBD><D6AE>ʱ<EFBFBD><EFBFBD>ỹԭ
// ips200pro_set_time(15, 54, 30);
// <20>ر<EFBFBD>ע<EFBFBD><EFBFBD>ر<EFBFBD>ע<EFBFBD><EFBFBD>ر<EFBFBD>ע<EFBFBD><D7A2>
// <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾλ<CABE><CEBB><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD>Ҫע<D2AA><D7A2><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ҳ<EFBFBD><D2B3>֮ǰ<D6AE><C7B0><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>Ч
// <20>ر<EFBFBD>ע<EFBFBD><EFBFBD>ر<EFBFBD>ע<EFBFBD><EFBFBD>ر<EFBFBD>ע<EFBFBD><D7A2>
ips200pro_page_set_title_position_width(title_position, title_size);
ips200pro_set_format(IPS200PRO_DEFAULT_FORMAT);
ips200pro_set_default_font(IPS200PRO_DEFAULT_FONT_SIZE);
ips200pro_set_optimize(IPS200PRO_DEFAULT_OPTIMIZE);
// <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ҳ<EFBFBD><D2B3>
if(NULL != str)
{
page_id = ips200pro_page_create(str); // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ҳ<EFBFBD><D2B3>
}
#if(1 == IPS200PRO_CRC_ENABLE)
ips200pro_set_crc_state(1); // ʹ<><CAB9>CRCģʽ<C4A3><CABD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CRC<52><43><EFBFBD><EFBFBD>
#endif
return page_id;
}

View File

@@ -0,0 +1,788 @@
/*********************************************************************************************************************
* TC264 Opensourec Library <20><><EFBFBD><EFBFBD>TC264 <20><>Դ<EFBFBD><EFBFBD><E2A3A9>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ڹٷ<DAB9> SDK <20>ӿڵĵ<DAB5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>
* Copyright (c) 2022 SEEKFREE <20><><EFBFBD>ɿƼ<C9BF>
*
* <20><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD> TC264 <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
*
* TC264 <20><>Դ<EFBFBD><D4B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><D4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B7A2><EFBFBD><EFBFBD> GPL<50><4C>GNU General Public License<73><65><EFBFBD><EFBFBD> GNUͨ<55>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <20><> GPL <20>ĵ<EFBFBD>3<EFBFBD><EFBFBD><E6A3A8> GPL3.0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>κκ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>İ汾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD>޸<EFBFBD><DEB8><EFBFBD>
*
* <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κεı<CEB5>֤
* <20><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB>ʺ<EFBFBD><CABA>ض<EFBFBD><D8B6><EFBFBD>;<EFBFBD>ı<EFBFBD>֤
* <20><><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD> GPL
*
* <20><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>ͬʱ<CDAC>յ<EFBFBD>һ<EFBFBD><D2BB> GPL <20>ĸ<EFBFBD><C4B8><EFBFBD>
* <20><><EFBFBD><EFBFBD>û<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><https://www.gnu.org/licenses/>
*
* <20><><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
* <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>ʹ<EFBFBD><CAB9> GPL3.0 <20><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>֤Э<D6A4><D0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>İ汾
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӣ<EFBFBD>İ<EFBFBD><C4B0><EFBFBD> libraries/doc <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>µ<EFBFBD> GPL3_permission_statement.txt <20>ļ<EFBFBD><C4BC><EFBFBD>
* <20><><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> libraries <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>µ<EFBFBD> LICENSE <20>ļ<EFBFBD>
* <20><>ӭ<EFBFBD><D3AD>λʹ<CEBB>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EBB1A3><EFBFBD><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC>İ<EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> zf_device_ips200pro
* <20><>˾<EFBFBD><CBBE><EFBFBD><EFBFBD> <20>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD>ɿƼ<C9BF><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾
* <20><EFBFBD><E6B1BE>Ϣ <20>鿴 libraries/doc <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> version <20>ļ<EFBFBD> <20>汾˵<E6B1BE><CBB5>
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ADS v1.10.2
* <20><><EFBFBD><EFBFBD>ƽ̨ TC264D
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> https://seekfree.taobao.com/
*
* <20>޸ļ<DEB8>¼
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ע
* 2025-05-15 seekfree first version
********************************************************************************************************************/
/********************************************************************************************************************
* <20><><EFBFBD>߶<EFBFBD><DFB6>
* ------------------------------------
* ģ<><C4A3><EFBFBD>ܽ<EFBFBD> <20><>Ƭ<EFBFBD><C6AC><EFBFBD>ܽ<EFBFBD>
* // SPI <20><><EFBFBD><EFBFBD> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* SCL <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_SCL_PIN_SPI <20><EFBFBD><EAB6A8>
* SDA <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_SDA_PIN_SPI <20><EFBFBD><EAB6A8>
* RST <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_RST_PIN_SPI <20><EFBFBD><EAB6A8>
* DC <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_DC_PIN_SPI <20><EFBFBD><EAB6A8>
* CS <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_CS_PIN_SPI <20><EFBFBD><EAB6A8>
* BLk <20>鿴 zf_device_ips200pro.h <20><> IPS200PRO_BLk_PIN_SPI <20><EFBFBD><EAB6A8>
* VCC 3.3V<EFBFBD><EFBFBD>Դ
* GND <20><>Դ<EFBFBD><D4B4>
* <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> 320 * 240
* ------------------------------------
********************************************************************************************************************/
#ifndef _zf_device_ips200pro_h_
#define _zf_device_ips200pro_h_
#include "zf_common_typedef.h"
#define IPS200PRO_SPI_SPEED ( 40*1000*1000 ) // Ӳ<><D3B2> SPI <20><><EFBFBD><EFBFBD>
#define IPS200PRO_SPI_INDEX ( SPI_2 ) // Ӳ<><D3B2> SPI <20><>
#define IPS200PRO_CLK_PIN ( SPI2_SCLK_P15_3 ) // Ӳ<><D3B2> SPI SCK <20><><EFBFBD><EFBFBD>
#define IPS200PRO_MOSI_PIN ( SPI2_MOSI_P15_5 ) // Ӳ<><D3B2> SPI MOSI <20><><EFBFBD><EFBFBD>
#define IPS200PRO_MISO_PIN ( SPI2_MISO_P15_4 ) // Ӳ<><D3B2> SPI MISO <20><><EFBFBD><EFBFBD> TFTû<54><C3BB>MISO<53><4F><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><E5A3AC>spi<70>ij<EFBFBD>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1>Ҫʹ<D2AA><CAB9>
#define IPS200PRO_RST_PIN ( P15_1 ) // Һ<><D2BA><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
#define IPS200PRO_INT_PIN ( P15_0 ) // Һ<><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
#define IPS200PRO_CS_PIN ( P15_2 ) // CS Ƭѡ<C6AC><D1A1><EFBFBD><EFBFBD>
#define IPS200PRO_WAIT_TIME ( 900 ) // ͨѶ<CDA8>ȴ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʱ<EFBFBD>䵥λ
#define IPS200PRO_CRC_ENABLE ( 0 ) // 0<><30><EFBFBD>ر<EFBFBD>CRCģʽ<C4A3><CABD>ͨ<EFBFBD><CDA8><EFBFBD>رռ<D8B1><D5BC>ɣ<EFBFBD> 1<><31>ʹ<EFBFBD><CAB9>CRCģʽ<C4A3><CABD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD><DDB0>м<EFBFBD><D0BC><EFBFBD>CRCУ<43><EFBFBD><E9A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>
#define IPS200PRO_DEFAULT_FORMAT (IPS200PRO_FORMAT_GBK) // Ĭ<>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define IPS200PRO_DEFAULT_FONT_SIZE ( FONT_SIZE_16 ) // Ĭ<><C4AC>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define IPS200PRO_DEFAULT_OPTIMIZE ( 1 ) // 0:<3A>ر<EFBFBD><D8B1>Ż<EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD>Ĭ<EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// RGB888תRGB565<36><EFBFBD><EAB6A8>
#define IPS200PRO_RGB888_TO_RGB565(r8, g8, b8) ((((r8 >> 3) & 0x1FU) << 11) | (((g8 >> 2) & 0x3FU) << 5) | ((b8 >> 3) & 0x1FU))
typedef enum
{
// <20><>16<31><36>20<32><30>24<32><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>Ӣ<EFBFBD><D3A2><EFBFBD><EFBFBD>ʾ
FONT_SIZE_12,
FONT_SIZE_14,
FONT_SIZE_16, // 16<31><36><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
FONT_SIZE_18,
FONT_SIZE_20, // 20<32><30><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
FONT_SIZE_22,
FONT_SIZE_24, // 24<32><34><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
FONT_SIZE_26,
FONT_SIZE_28,
FONT_SIZE_30,
FONT_SIZE_32,
FONT_SIZE_34,
FONT_SIZE_36,
FONT_SIZE_40,
}ips200pro_font_size_enum;
typedef enum
{
COLOR_FOREGROUND, // ǰ<><C7B0>ɫ
COLOR_BACKGROUND, // <20><><EFBFBD><EFBFBD>ɫ <20><>IMAGE<47><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>
COLOR_BORDER, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ ֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LABEL TABLE METER CLOCK CALENDAR CONTAINER
// ר<><D7A8>ָ<EFBFBD><D6B8>
COLOR_PAGE_SELECTED_TEXT, // ѡ<><D1A1>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
COLOR_PAGE_SELECTED_BG, // ѡ<><D1A1>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><E2B1B3><EFBFBD><EFBFBD>ɫ
COLOR_TABLE_SELECTED_BG, // <20><><EFBFBD><EFBFBD>ѡ<EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD>ɫ
COLOR_MRTER_INDICATOR, // <20>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ɫ
COLOR_MRTER_TICKS, // <20>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><CCB6><EFBFBD>ɫ
COLOR_CLOCK_HOUR, // Բ<><D4B2>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ɫ
COLOR_CLOCK_MINUTE, // Բ<><D4B2>ʱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD>ɫ
COLOR_CLOCK_SECOND, // Բ<><D4B2>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
COLOR_CLOCK_TICKS, // Բ<><D4B2>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̶<EFBFBD><CCB6><EFBFBD>ɫ
COLOR_CALENDAR_YEAR, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
COLOR_CALENDAR_WEEK, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
COLOR_CALENDAR_TODAY, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
}ips200pro_widgets_color_type_enum;
typedef enum
{
PAGE_ANIM_OFF, // ҳ<><D2B3><EFBFBD>л<EFBFBD>ʱ<EFBFBD>رն<D8B1><D5B6><EFBFBD>Ч<EFBFBD><D0A7>
PAGE_ANIM_ON, // ҳ<><D2B3><EFBFBD>л<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
}ips200pro_page_animations_enum;
typedef enum
{
LABEL_AUTO, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD>ʾȫ<CABE><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
LABEL_DOT, // <20><><EFBFBD>޷<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ĩβ<C4A9><CEB2><EFBFBD>½<EFBFBD><C2BD><EFBFBD>ʾ...
LABEL_SCROLL, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD>ʾȫ<CABE><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><DFB6>޷<EFBFBD><DEB7><EFBFBD>ʾȫ<CABE><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹<EFBFBD><C2B9><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LABEL_SCROLL_CIRCULAR, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޷<EFBFBD><DEB7><EFBFBD>ʾȫ<CABE><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><DFB6>޷<EFBFBD><DEB7><EFBFBD>ʾȫ<CABE><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LABEL_CLIP, // <20><><EFBFBD>޷<EFBFBD><DEB7><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ݲü<DDB2><C3BC><EFBFBD>
}ips200pro_label_mode_enum;
typedef enum
{
IPS200PRO_PORTRAIT = 0x01, // <20><><EFBFBD><EFBFBD>ģʽ
IPS200PRO_PORTRAIT_180 = 0x02, // <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180
IPS200PRO_CROSSWISE = 0x03, // <20><><EFBFBD><EFBFBD>ģʽ
IPS200PRO_CROSSWISE_180 = 0x04, // <20><><EFBFBD><EFBFBD>ģʽ <20><>ת180
}ips200pro_display_direction_enum;
typedef enum
{
IPS200PRO_TITLE_LEFT = 0x00, // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>򽫱<EFBFBD><F2BDABB1><EFBFBD><EFBFBD>߶<EFBFBD><DFB6><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD>
IPS200PRO_TITLE_RIGHT = 0x01, // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>Ҳ<EFBFBD>
IPS200PRO_TITLE_TOP = 0x02, // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>ϲ<EFBFBD>
IPS200PRO_TITLE_BOTTOM = 0x03, // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ڵײ<DAB5>
}ips200pro_title_position_enum;
typedef enum
{
IPS200PRO_CALENDAR_CHINESE = 0x01, // <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ <20><>16<31><36>20<32><30>24<32><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
IPS200PRO_CALENDAR_ENGLISH = 0x02, // <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>Ӣ<EFBFBD><D3A2><EFBFBD><EFBFBD>ʾ
}ips200pro_calendar_mode_enum;
typedef enum
{
IMAGE_NULL = 0x00, // ͼ<><CDBC>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
IMAGE_GRAYSCALE = 0x03, // <20>Ҷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>С<E7A1A2><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ʹ<EFBFBD>ô<EFBFBD>ö<EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>
IMAGE_RGB565, // RGB565<36><35>ɫ <20><>ͫʹ<CDAB>ô<EFBFBD>ö<EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>
}ips200pro_image_type_enum;
typedef enum
{
IMAGE_LINE_TYPE_UINT8 = 0x01, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><38><CEBB><EFBFBD><EFBFBD>
IMAGE_LINE_TYPE_UINT16 = 0x02, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16λ<36><CEBB><EFBFBD><EFBFBD>
}ips200pro_image_line_type_enum;
typedef enum
{
IPS200PRO_FORMAT_GBK = 0x01, // GBK<42><4B><EFBFBD><EFBFBD><EBA3AC>Դ<EFBFBD><D4B4>Ĭ<EFBFBD>ϵ<EFBFBD><CFB5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>GBK<42><4B><EFBFBD><EFBFBD>
IPS200PRO_FORMAT_UTF8 = 0x02, // UTF-8<><38><EFBFBD><EFBFBD>
}ips200pro_format_enum;
typedef enum
{
METER_ANGLE = 0x01, // <20>Ƕ<EFBFBD>ָʾ<D6B8>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1>̶ȡ<CCB6>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
METER_SPEED, // <20>ٶ<EFBFBD>ָʾ<D6B8>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1>̶ȡ<CCB6>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
}ips200pro_meter_style_enum;
typedef enum
{
CLOCK_DIGITAL = 0x01, // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>ɫ
CLOCK_ANALOG, // ָ<><D6B8>ʱ<EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1>̶ȡ<CCB6>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
}ips200pro_clock_style_enum;
// ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> uint8<74><38><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9B9>
typedef struct
{
uint8 x; // <20><><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD>
uint8 y; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}ips200pro_image_line_uint8_struct;
// ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> uint16<31><36><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9B9>
typedef struct
{
uint16 x; // <20><><EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD><EFBFBD><EFBFBD>
uint16 y; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}ips200pro_image_line_uint16_struct;
typedef struct
{
uint16 id; // <20><>ĻID<49><44><EFBFBD><EFBFBD>
uint16 width; // <20><>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
uint16 height; // <20><>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>߶<EFBFBD>
uint8 version_major; // <20>̼<EFBFBD><CCBC>汾-<2D><><EFBFBD>
uint8 version_middle; // <20>̼<EFBFBD><CCBC>汾-<2D>а
uint8 version_micro; // <20>̼<EFBFBD><CCBC>汾-΢<>
}ips200pro_information_struct;
typedef struct
{
uint16 year; // <20><>
uint8 month; // <20><>
uint8 day; // <20><>
uint8 hour; // ʱ
uint8 minute; // <20><>
uint8 second; // <20><>
uint8 week; // <20><><EFBFBD><EFBFBD>
}ips200pro_time_struct;
extern ips200pro_information_struct ips200pro_information;
extern ips200pro_time_struct ips200pro_time;
//------------------------------------<2D><><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>-------------------------------------------
//------------------------------------ϵͳ<CFB5><CDB3><EFBFBD>ܺ<EFBFBD><DCBA><EFBFBD>-------------------------------------------
// uint8 ips200pro_set_date (uint16 year, uint8 month, uint8 day); // <20><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
// uint8 ips200pro_set_time (uint8 hour, uint8 minute, uint8 second); // <20><><EFBFBD><EFBFBD>ϵͳʱ<CDB3><CAB1>
// uint8 ips200pro_set_parent (uint16 child_id, uint16 parent_id); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_set_format (ips200pro_format_enum format); // <20><><EFBFBD>ú<EFBFBD><C3BA>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ʽ
// uint8 ips200pro_set_backlight (uint8 backlight); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_set_direction (ips200pro_display_direction_enum dir); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
// uint8 ips200pro_set_default_font (ips200pro_font_size_enum font); // <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
// uint8 ips200pro_set_optimize (uint8 state) // <20><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD>ģ<EFBFBD>
//
// uint8 ips200pro_get_date (ips200pro_time_struct *time); // <20><>ȡϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
// uint8 ips200pro_get_time (ips200pro_time_struct *time); // <20><>ȡϵͳʱ<CDB3><CAB1>
// uint8 ips200pro_get_information (ips200pro_information_struct *information); // <20><>ȡϵͳ<CFB5><CDB3>Ϣ
// uint8 ips200pro_get_free_stack_size (uint32 *stack_size); // <20><>ȡϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>С
//-----------------------------------ͨ<>ú<EFBFBD><C3BA><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint8 ips200pro_delete_widgets (uint16 widgets_id); // ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_set_font (uint16 widgets_id, ips200pro_font_size_enum font_size); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_set_color (uint16 widgets_id, ips200pro_widgets_color_type_enum color_type, uint16 color); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
// uint8 ips200pro_set_position (uint16 widgets_id, int16 x, int16 y); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
// uint8 ips200pro_set_hidden (uint16 widgets_id, uint8 state); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//-----------------------------------PAGEҳ<45><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_page_create (char *str); // ҳ<><EFBFBD><E6B4B4>
// uint8 ips200pro_page_switch (uint16 page_id, ips200pro_page_animations_enum anim_en); // ҳ<><D2B3><EFBFBD>л<EFBFBD>
// uint8 ips200pro_page_hidden (uint16 page_id, uint8 state) // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_page_set_title_name (uint16 page_id, char *str); // ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//-----------------------------------<2D>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_label_create (int16 x, int16 y, uint16 width, uint16 height); // <20>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>
// uint8 ips200pro_label_printf (uint16 label_id, const char *format, ...); // <20>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_label_show_string (uint16 label_id, const char *str) // <20>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʾ
// uint8 ips200pro_label_mode (uint16 label_id, ips200pro_label_mode_enum mode); // <20>ı<EFBFBD><C4B1><EFBFBD>ǩģʽ<C4A3><CABD><EFBFBD><EFBFBD>
//-----------------------------------<2D><><EFBFBD><EFBFBD>TABLE<4C><45><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_table_create (int16 x, int16 y, uint16 row_num, uint16 col_num); // <20><><EFBFBD>񴴽<EFBFBD>
// uint8 ips200pro_table_cell_printf (uint16 table_id, uint8 row, uint8 col, char *format, ...); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_table_set_col_width (uint16 table_id, uint8 col, uint16 width); // <20><><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_table_select (uint16 table_id, uint8 row, uint8 col); // <20><>Ԫ<EFBFBD><D4AA>ѡ<EFBFBD><D1A1>
//-----------------------------------<2D>DZ<EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_meter_create (int16 x, int16 y, uint16 size, ips200pro_meter_style_enum style); // <20>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_meter_set_value (uint16 meter_id, int16 value); // <20>DZ<EFBFBD><C7B1><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
//-----------------------------------ʱ<>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_clock_create (int16 x, int16 y, uint16 clock_size, ips200pro_clock_style_enum clock_type) // ʱ<>Ӵ<EFBFBD><D3B4><EFBFBD>
//-----------------------------------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_progress_bar_create (int16 x, int16 y, uint16 width, uint16 height); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_progress_bar_set_value (uint16 progress_bar_id, uint8 start_value, uint8 end_value); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
//-----------------------------------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_calendar_create (int16 x, int16 y, uint16 width, uint16 height); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_calendar_display (uint16 year, uint8 month, uint8 ips200pro_calendar_mode_enum); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
//-----------------------------------<2D><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_waveform_create (int16 x, int16 y, uint16 width, uint16 height); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
// uint8 ips200pro_waveform_add_value (uint16 waveform_id, uint8 line_id, const uint16 *data, uint16 length, uint16 color); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_waveform_line_state (uint16 waveform_id, uint16 line_id, uint16 line_state); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
// uint8 ips200pro_waveform_line_type (uint16 waveform_id, uint8 line_type); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_waveform_clear (uint16 waveform_id); // <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//-----------------------------------ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_image_create (int16 x, int16 y, uint16 width, uint16 height); // ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_image_display (image_id, *image, width, height, image_type, threshold); // ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD>
// uint8 ips200pro_image_draw_line (image_id, line_id, *line_data, line_length, data_type, color); // ͼ<><CDBC><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD> <20>ȷ<EFBFBD><C8B7><EFBFBD>ips200pro_image_draw_line<6E>ٷ<EFBFBD><D9B7><EFBFBD>ips200pro_image_display
// uint8 ips200pro_image_draw_rectangle (image_id, rectangle_id, x, y, rectangle_width, rectangle_height, color); // ͼ<><CDBC><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD> <20>ȷ<EFBFBD><C8B7><EFBFBD>ips200pro_image_draw_rectangle<6C>ٷ<EFBFBD><D9B7><EFBFBD>ips200pro_image_display
//-----------------------------------<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>-------------------------------------------
// uint16 ips200pro_container_create (int16 x, int16 y, uint16 width, uint16 height); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// uint8 ips200pro_container_radius (uint16 container_id, uint16 border_width, uint16 radius); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD>ǰ뾶
//-----------------------------------<2D><>Ļ<EFBFBD><C4BB>ʼ<EFBFBD><CABC>-------------------------------------------
// uint16 ips200pro_init (char *str, ips200pro_title_position_enum title_position, uint8 title_size); // <20><>Ļ<EFBFBD><C4BB>ʼ<EFBFBD><CABC>
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> year <20><>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> month <20><>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> day <20><>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_date(2024, 10, 31); // 2024<32><34>10<31><30>31<33><31>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_date (uint16 year, uint8 month, uint8 day);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϵͳʱ<CDB3><CAB1>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> hour ʱ 24Сʱ<D0A1>ƣ<EFBFBD><C6A3><EFBFBD>֧<EFBFBD><D6A7>24Сʱ<D0A1>ƣ<EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> minute <20><>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> second <20><>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_time(13, 19, 15); // 13<31><33>19<31><39>15<31><35>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_time (uint8 hour, uint8 minute, uint8 second);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> child_id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> parent_id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_parent(1, label_id, container_id); // <20><>label<65><6C>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ú<EFBFBD>label<65><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻǣ<CFBD><C7A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>Ͻǣ<CFBD><C7A3><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_parent (uint16 child_id, uint16 parent_id);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>ʽ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> format <20><><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>ʽ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_format(IPS200PRO_FORMAT_GBK); // <20><>IDΪ1<CEAA>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>IDΪ2<CEAA><32>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_format (ips200pro_format_enum format);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> backlight <20><><EFBFBD><EFBFBD>1-255
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_backlight(100); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ100
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_backlight (uint8 backlight);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> dir <20><><EFBFBD><EFBFBD>1-255
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_backlight(100); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ100
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_direction (ips200pro_display_direction_enum dir);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> font Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_default_font(FONT_SIZE_20); // <20><>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ20<32><30>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_default_font (ips200pro_font_size_enum font);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>״̬<D7B4><CCAC>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> font Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_optimize(1); // <20><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>
// <20><>ע˵<D7A2><CBB5> Ŀǰ<C4BF><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ϴε<CFB4>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>򱾴<EFBFBD>ͼ<EFBFBD><CDBC>ֱ<EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ȴ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ɣ<EFBFBD><C9A3>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><D8B1>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4>ϴ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD>ٴ<EFBFBD><D9B4><EFBFBD><EFBFBD>µ<EFBFBD>ͼ<EFBFBD><CDBC>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_optimize (uint8 state);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȡϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *time <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_get_date(&ips200pro_time); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_get_date (ips200pro_time_struct *time);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȡϵͳʱ<CDB3><CAB1>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *time <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_get_time(&ips200pro_time); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_get_time (ips200pro_time_struct *time);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>С
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *information <20><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ<EFBFBD><CFA2>ָ<EFBFBD><D6B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_get_information(&ips200pro_information); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_get_information (ips200pro_information_struct *information);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȡϵͳ<CFB5><CDB3>Ϣ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *stack_size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>С<EFBFBD><D0A1>ָ<EFBFBD><D6B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_get_free_stack_size(&stack_size); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_get_free_stack_size (uint32 *stack_size);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> widgets_id <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_delete_widgets(widgets_id); // <20><>ѡ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_delete_widgets (uint16 widgets_id);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> widgets_id <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> font_size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>16 20 24<32><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_font(widgets_id, FONT_SIZE_20); // <20><>ѡ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>Ϊ20<32><30>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_font (uint16 widgets_id, ips200pro_font_size_enum font_size);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> widgets_id <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> color_type <20><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> color RGB565<36><35>ֵ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_color(widgets_id, COLOR_BORDER, RGB565_RED); // <20><>ѡ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ɫ
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_color (uint16 widgets_id, ips200pro_widgets_color_type_enum color_type, uint16 color);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> widgets_id <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_position(widgets_id, 10, 10); // <20><>ѡ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ10,10
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_position (uint16 widgets_id, int16 x, int16 y);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> widgets_id <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> state 0<><30>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_set_hidden(widgets_id, 1); // <20><>ѡ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_set_hidden (uint16 widgets_id, uint8 state);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *str ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>д ""
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 page1_id = ips200pro_page_create("Test"); // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪTest<73><74>ҳ<EFBFBD><D2B3>
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_page_create (char *str);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>л<EFBFBD>ҳ<EFBFBD><D2B3>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> page_id ҳ<><D2B3>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> anim_en <20><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_page_switch(page_id, PAGE_ANIM_ON); // <20>л<EFBFBD><D0BB><EFBFBD>ѡ<EFBFBD>е<EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_page_switch (uint16 page_id, ips200pro_page_animations_enum anim_en);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> page_id ҳ<><D2B3>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> state <20><><EFBFBD><EFBFBD>״̬ 1<><31><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_page_hidden(page_id, 1); // <20><>ѡ<EFBFBD>е<EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID<49><44><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ҳ<EFBFBD><D2B3>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_page_hidden (uint16 page_id, uint8 state);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> page_id ҳ<><D2B3>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *str ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD>óɹ<C3B3> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_page_set_title_name(page_id, "Test"); // <20><>ѡ<EFBFBD>е<EFBFBD>ҳ<EFBFBD><EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪTest
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_page_set_title_name (uint16 page_id, char *str);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ǩ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height <20><><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 label_id = ips200pro_label_create(0, 0, 50, 20); // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ǩ <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD>0,0 <20><><EFBFBD><EFBFBD>50 <20>߶<EFBFBD>20
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_label_create (int16 x, int16 y, uint16 width, uint16 height);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD><C7A9>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> label_id <20>ı<EFBFBD><C4B1><EFBFBD>ǩID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *format <20>ַ<EFBFBD><D6B7><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ... <20>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>printf<74><66>ͬ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_label_printf(label_id, "tset=%d", test);
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_label_printf (uint16 label_id, const char *format, ...);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʾ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> label_id <20>ı<EFBFBD><C4B1><EFBFBD>ǩID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *str <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>׵<EFBFBD>ַ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_label_show_string(label_id, <20><>This is a test<73><74>);
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_label_show_string(uint16 label_id, const char *str);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD>ı<EFBFBD>ģʽ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> label_id <20>ı<EFBFBD><C4B1><EFBFBD>ǩID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> mode <20><><EFBFBD>ı<EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Χʱ<CEA7>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ʽ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_label_mode(label_id, "tset=%d", test);
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_label_mode (uint16 label_id, ips200pro_label_mode_enum mode);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> row_num <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> col_num <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 table2_id = ips200pro_table_create(0, 0, 5, 4); // <20><><EFBFBD><EFBFBD>5<EFBFBD><35>4<EFBFBD>б<EFBFBD><D0B1><EFBFBD> <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD>0,0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ips200pro_table_set_col_width<74><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_table_create (int16 x, int16 y, uint16 row_num, uint16 col_num);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> table_id <20><><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> row <20><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>кŴ<D0BA>1<EFBFBD><31>ʼ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> col <20><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>кŴ<D0BA>1<EFBFBD><31>ʼ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *format <20>ַ<EFBFBD><D6B7><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> ... <20>ɱ<EFBFBD><C9B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>printf<74><66>ͬ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_label_printf(table_id, 1, 1, "tset=%d", test); // <20><>ʽ<EFBFBD><CABD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD>ĵ<EFBFBD>һ<EFBFBD><D2BB> <20><>һ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻǵĵ<C7B5>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_table_cell_printf (uint16 table_id, uint8 row, uint8 col, char *format, ...);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD>п<EFBFBD><D0BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> table_id <20><><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> col <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD> <20>кŴ<D0BA>1<EFBFBD><31>ʼ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20>п<EFBFBD><D0BF>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_table_set_col_width(table_id, 1, 20); // <20><>ѡ<EFBFBD>еı<D0B5><C4B1><EFBFBD> <20>ĵ<EFBFBD>һ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ20
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_table_set_col_width (uint16 table_id, uint8 col, uint16 width);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> table_id <20><><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> row <20><>Ҫѡ<D2AA>е<EFBFBD><D0B5>к<EFBFBD> <20>кŴ<D0BA>1<EFBFBD><31>ʼ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> col <20><>Ҫѡ<D2AA>е<EFBFBD><D0B5>к<EFBFBD> <20>кŴ<D0BA>1<EFBFBD><31>ʼ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_table_select(table_id, 1, 2); // <20><>ѡ<EFBFBD>еı<D0B5><C4B1><EFBFBD> <20>ĵ<EFBFBD>һ<EFBFBD>С<EFBFBD><D0A1><EFBFBD>һ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͻǣ<CFBD>ѡ<EFBFBD><D1A1>
// <20><>ע˵<D7A2><CBB5> ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ָ<EFBFBD><D6B8>col row<6F><77><EFBFBD><EFBFBD>Ϊ0x00 ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ָ<EFBFBD><D6B8>row col<6F><6C><EFBFBD><EFBFBD>Ϊ0x00 ȡ<><C8A1>ѡ<EFBFBD><D1A1>row col<6F><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0x00
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_table_select (uint16 table_id, uint8 row, uint8 col);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD>ָʾ<D6B8><CABE>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> size <20>DZ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> style <20>DZ<EFBFBD><C7B1><EFBFBD>ʽ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 table2_id = ips200pro_meter_create(0, 0, 60, 1); // 1<><31><EFBFBD>Ƕ<EFBFBD>ָʾ<D6B8><CABE> 2<><32><EFBFBD>ٶ<EFBFBD>ָʾ<D6B8><CABE>
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_meter_create (int16 x, int16 y, uint16 size, ips200pro_meter_style_enum style);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>DZ<EFBFBD>ָʾ<D6B8><CABE><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> meter_id <20>DZ<EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> value <20><>ֵ <09>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Χ0-360 <20>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>Χ0-100
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_meter_set_value(meter_id, 50); // <20><>ѡ<EFBFBD>е<EFBFBD><D0B5>DZ<EFBFBD><C7B1><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>Ϊ50
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_meter_set_value (uint16 meter_id, int16 value);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> clock_size ʱ<>Ӵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>Χ<EFBFBD>鿴ips200pro_font_size_enumö<6D><C3B6><EFBFBD><EFBFBD>
// ָ<><D6B8>ʱ<EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD>ʾʱ<CABE>ӵ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>Ϊ80<38><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>240
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> clock_type ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>Ͳ鿴ips200pro_clock_style_enumö<6D>ٶ<EFBFBD><D9B6><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 clock2_id = ips200pro_clock_create(0, 0, 150, CLOCK_ANALOG); //
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1>ΪԲ<CEAA><D4B2>ָ<EFBFBD><D6B8>ʱ<EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>޸<EFBFBD>ʱ<EFBFBD>ʹ<E4A3AC><CAB9>ips200pro_set_time<6D><65><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_clock_create (int16 x, int16 y, uint16 clock_size, ips200pro_clock_style_enum clock_type);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height <20><><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 bar2_id = ips200pro_progress_bar_create(0, 0, 60, 10); //
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1>ΪԲ<CEAA>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_progress_bar_create (int16 x, int16 y, uint16 width, uint16 height);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> progress_bar_id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> start_value <20><>ʼ<EFBFBD><CABC>ֵ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> end_value <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_progress_bar_set_value(progress_bar_id, 10, 60); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_progress_bar_set_value (uint16 progress_bar_id, uint8 start_value, uint8 end_value);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height <20><><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 test_id = ips200pro_calendar_create(0, 0, 200, 200); //
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_calendar_create (int16 x, int16 y, uint16 width, uint16 height);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> year <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д0<D0B4><30><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ǰ<EFBFBD><C7B0><EFBFBD>ڵ<EFBFBD><DAB5>·<EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> month <20><>Ҫ<EFBFBD><D2AA>ʾ<EFBFBD><CABE><EFBFBD>·<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д0<D0B4><30><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ǰ<EFBFBD><C7B0><EFBFBD>ڵ<EFBFBD><DAB5>·<EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> mode <20><>ʾģʽ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>16<31><36>20<32><30>24<32><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_calendar_display(2036, 1, IPS200PRO_CALENDAR_CHINESE); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ2036<33><36>1<EFBFBD>·<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_calendar_display (uint16 year, uint8 month, ips200pro_calendar_mode_enum mode);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height <20><><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 test_id = ips200pro_waveform_create(0, 0, 200, 200); //
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_waveform_create (int16 x, int16 y, uint16 width, uint16 height);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ӵ<EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> waveform_id <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> line_id <20><><EFBFBD><EFBFBD>ID ID<49><44>1<EFBFBD><31>ʼ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *data <20><><EFBFBD>ӵĵ<D3B5><C4B5><EFBFBD><EFBFBD>ݵ<EFBFBD>ַ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> length <20><><EFBFBD>ӵĵ<D3B5><C4B5><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> color <20><><EFBFBD><EFBFBD>ɫ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_waveform_add_value(1, 1, &point[0], 10, RGB565_RED); //
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ʾ<EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>յ<EFBFBD><D5B5>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_waveform_add_value (uint16 waveform_id, uint8 line_id, const uint16 *data, uint16 length, uint16 color);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>״̬
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> waveform_id <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> line_id <20><><EFBFBD><EFBFBD>ID <20><>1<EFBFBD><31>ʼ <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> line_state 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_waveform_line_state(waveform_id, 1, 0); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_waveform_line_state (uint16 waveform_id, uint16 line_id, uint16 line_state);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> waveform_id <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> line_type <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30>ɢ<EFBFBD><C9A2>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĵ<D0B5><C4B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ߣ<EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_waveform_line_type(waveform_id, 0); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_waveform_line_type (uint16 waveform_id, uint8 line_type);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> waveform_id <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ID
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_waveform_clear(waveform_id); //
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_waveform_clear (uint16 waveform_id);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height <20><><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 test_id = ips200pro_image_create(0, 0, 188, 120); //
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_image_create (int16 x, int16 y, uint16 width, uint16 height);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ͼ<><CDBC><EFBFBD><EFBFBD>ʾ
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> image_id ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *image ͼ<><CDBC><EFBFBD><EFBFBD>ַ NULL<4C>򲻷<EFBFBD><F2B2BBB7><EFBFBD>ͼ<EFBFBD>񣬽<EFBFBD>֪ͨ<CDA8><D6AA>Ļ<EFBFBD><C4BB><EFBFBD>±<EFBFBD><C2B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<>򲻷<EFBFBD><F2B2BBB7><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>֪ͨ<CDA8><D6AA>Ļ<EFBFBD><C4BB><EFBFBD>±<EFBFBD><C2B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height ͼ<><CDBC><EFBFBD>߶<EFBFBD> 0<>򲻷<EFBFBD><F2B2BBB7><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>֪ͨ<CDA8><D6AA>Ļ<EFBFBD><C4BB><EFBFBD>±<EFBFBD><C2B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> image_type ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>磺IMAGE_GRAYSCALE <20><>ͫ<EFBFBD><CDAB>IMAGE_RGB565 С<><D0A1><EFBFBD><EFBFBD><E7A3BA>Ҫ<EFBFBD><D2AA><EFBFBD>н<EFBFBD>ѹ<EFBFBD><D1B9>ѡ<EFBFBD><D1A1>IMAGE_GRAYSCALE IMAGE_NULL<4C><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>֪ͨ<CDA8><D6AA>Ļ<EFBFBD><C4BB><EFBFBD>±<EFBFBD><C2B1>߻<EFBFBD><DFBB><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> threshold <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ֵ <20><><EFBFBD><EFBFBD>IMAGE_GRAYSCALE<4C><45><EFBFBD>Ҷȣ<D2B6>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>Ч 0:<3A><><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>ֵ<EFBFBD><D6B5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>ֵ<EFBFBD><D6B5>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_image_display(image_id, mt9v03x_image[0], 188, 120, IMAGE_GRAYSCALE, 0); //
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>߶<EFBFBD><DFB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>ȡ<EFBFBD><C8A1>߶Ȳ<DFB6>һ<EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żᵼ<C5BB><E1B5BC><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>ʾ֡<CABE><D6A1><EFBFBD>½<EFBFBD>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_image_display (uint16 image_id, const void *image, uint16 width, uint16 height, ips200pro_image_type_enum image_type, uint8 threshold);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> image_id ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> line_id <20><><EFBFBD><EFBFBD>ID <20><>1<EFBFBD><31>ʼ <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> *line_data <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ַ ֻ<><D6BB>ʹ<EFBFBD><CAB9>ips200pro_image_line_uint8_struct<63><74><EFBFBD><EFBFBD>ips200pro_image_line_uint16_struct<63><74><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> line_length <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> data_type <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><38><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16Ϊ<36><CEAA><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> color <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_image_draw_line(image_id, 1, line, 120, IMAGE_LINE_TYPE_UINT8, RGB565_RED); //
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ips200pro_image_display<61><79><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>֮ǰ <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_image_draw_line (uint16 image_id, uint8 line_id, void *line_data, uint16 line_length, ips200pro_image_line_type_enum data_type, uint16 color);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD><D3BE>ο<EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> image_id ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> rectangle_id <20><><EFBFBD>ο<EFBFBD>ID <20><>1<EFBFBD><31>ʼ <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> rectangle_width <20><><EFBFBD>ο<EFBFBD><CEBF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> rectangle_height <20><><EFBFBD>θ߶<CEB8>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> color <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD>ɹ<EFBFBD> 1<><31>ʧ<EFBFBD><CAA7>
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_image_draw_rectangle(image_id, 1, 10, 10, 20, 30, RGB565_RED); //
// <20><>ע˵<D7A2><CBB5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ips200pro_image_display<61><79><EFBFBD>ú<EFBFBD><C3BA><EFBFBD>֮ǰ <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>־<EFBFBD><D6BE>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_image_draw_rectangle (uint16 image_id, uint8 rectangle_id, int16 x, int16 y, uint16 rectangle_width, uint16 rectangle_height, uint16 color);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> x <20><><EFBFBD>ϽǺ<CFBD><C7BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> y <20><><EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> width <20><><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> height <20><><EFBFBD><EFBFBD><EFBFBD>ĸ߶<C4B8>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> uint16 test_id = ips200pro_container_create(0, 0, 60, 60); //
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_container_create (int16 x, int16 y, uint16 width, uint16 height);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD>ǰ뾶
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> container_id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> border_width <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD>߿<EFBFBD><DFBF><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> radius <20><><EFBFBD><EFBFBD>Բ<EFBFBD>ǰ뾶
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint8 ״̬ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE>PAGE<47><45>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_container_radius(container_id, 1, 10); // <20><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ1<CEAA><31>Բ<EFBFBD>ǰ뾶<C7B0><EBBEB6><EFBFBD><EFBFBD>Ϊ10
// ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ȸ߶<C8B8><DFB6><EFBFBD>ͬ<EFBFBD><CDAC>Բ<EFBFBD>ǰ뾶<C7B0>Ǹ߶ȵ<DFB6>һ<EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪԲ<CEAA><D4B2>
//-------------------------------------------------------------------------------------------------------------------
uint8 ips200pro_container_radius (uint16 container_id, uint16 border_width, uint16 radius);
//-------------------------------------------------------------------------------------------------------------------
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ļ<EFBFBD><C4BB>ʼ<EFBFBD><CABC>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> str ҳ<><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> NULL:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3> <20><>Ϊ<EFBFBD>գ<EFBFBD><D5A3>򴴽<EFBFBD>һ<EFBFBD><D2BB>ҳ<EFBFBD><EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊҳ<CEAA><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> title_position <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>λ<EFBFBD><CEBB>
// <20><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5> title_size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD>
// <20><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD> uint16 ҳ<><D2B3>ID
// ʹ<><CAB9>ʾ<EFBFBD><CABE> ips200pro_init("<22><><EFBFBD><EFBFBD>", IPS200PRO_TITLE_BOTTOM, 30); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>Ե<EFBFBD>ҳ<EFBFBD><EFBFBD><E6A1A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ڵײ<DAB5><D7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ30
//-------------------------------------------------------------------------------------------------------------------
uint16 ips200pro_init (char *str, ips200pro_title_position_enum title_position, uint8 title_size);
#endif