image/svg+xml
Brteve's API for EveApps
Version 0.0.1
The reference document for common folder of EveApps project.
 
Loading...
Searching...
No Matches
EVE_Config.h
Go to the documentation of this file.
1
32#ifndef EVE_CONFIG__H
33#define EVE_CONFIG__H
34
35#include "EVE_IntTypes.h"
36
37/*
38
39This file processes the input definitions,
40the available list of which is specified further below for ESD using these macros.
41- ESD_TARGET_GRAPHICS(definition, ...)
42- ESD_TARGET_DISPLAY(definition, ...)
43- ESD_TARGET_PLATFORM(definition, ...)
44- ESD_TARGET_FLASH(definition, ...)
45
46*/
47
48#define ESD_TARGET_GRAPHICS(name, ...)
49#define ESD_TARGET_DISPLAY(name, ...)
50#define ESD_TARGET_PLATFORM(name, ...)
51#define ESD_TARGET_FLASH(name, ...)
52#define ESD_TARGET_TOUCH(name, ...)
53
56#define EVE_FT800 0x10800
57#define EVE_FT801 0x10801
58#define EVE_FT810 0x20810
59#define EVE_FT811 0x20811
60#define EVE_FT812 0x20812
61#define EVE_FT813 0x20813
62#define EVE_BT880 0x20880
63#define EVE_BT881 0x20881
64#define EVE_BT882 0x20882
65#define EVE_BT883 0x20883
66#define EVE_BT815 0x30815
67#define EVE_BT816 0x30816
68#define EVE_BT817 0x40817
69#define EVE_BT818 0x40818
71
74#define EVE1 1
75#define EVE2 2
76#define EVE3 3
77#define EVE4 4
79
84
85/*
86
87Uses regex matching for supported targets.
88See https://regexr.com/ for help on regex.
89
90To match only PANL70:
91\bPANL70\b
92To match platforms starting with MM9
93\bMM9
94\bMM9\w*\b
95Match anything (default):
96\b\w+\b
97Match nothing:
98(?=a)b
99
100IntegratedPlatform specifies that the platform chip is part of the target, the specified string is a display name
101IntegratedFlash specifies that the flash chip is part of the target, the specified string is a display name
102OverrideSupport specifies that the supported flash of the target overrides the Supported option
103of any other target, overriding the Integrated options as well
104
105Example:
106SupportedPlatforms = "8XXEMU|\bMM9|FT4222|MPSSE"
107SupportedFlash = "\bW25Q\w*\b|\bMX25L\w*\b
108
109*/
110
111ESD_TARGET_GRAPHICS(ME810A_HV35R, DisplayName = "ME810A-HV35R", IntegratedDisplay = "ILI9488 (320x480)", SupportedFlash = "(?=a)b", SupportedTouch = "\b\w+RESISTIVE\w*\b", LibraryTargets = "\b(FT81X|FT810)\b")
112ESD_TARGET_GRAPHICS(ME812A_WH50R, DisplayName = "ME812A-WH50R", SupportedDisplays = "\b\w+WVGA\w*\b", SupportedFlash = "(?=a)b", SupportedTouch = "\b\w+RESISTIVE\w*\b", LibraryTargets = "\b(FT81X|FT812)\b")
113ESD_TARGET_GRAPHICS(ME813A_WH50C, DisplayName = "ME813A-WH50C", SupportedDisplays = "\b\w+WVGA\w*\b", SupportedFlash = "(?=a)b", SupportedTouch = "\b\w+FOCAL\w*\b", LibraryTargets = "\b(FT81X|FT813)\b")
114// ESD_TARGET_GRAPHICS(ME810AU_HV35R, DisplayName = "ME810AU-HV35R", IntegratedDisplay = "ILI9488 (320x480)", IntegratedPlatform = "FT4222", SupportedArchitectures = "\bFT4222\b", SupportedFlash = "(?=a)b", LibraryTargets = "\b(FT81X|FT810)\b")
115// ESD_TARGET_GRAPHICS(ME812AU_WH50R, DisplayName = "ME812AU-WH50R", SupportedDisplays = "\b\w+WVGA\w*\b", IntegratedPlatform = "FT4222", SupportedArchitectures = "\bFT4222\b", SupportedFlash = "(?=a)b", LibraryTargets = "\b(FT81X|FT812)\b")
116// ESD_TARGET_GRAPHICS(ME813AU_WH50C, DisplayName = "ME813AU-WH50C", SupportedDisplays = "\b\w+WVGA\w*\b", IntegratedPlatform = "FT4222", SupportedArchitectures = "\bFT4222\b", SupportedFlash = "(?=a)b", LibraryTargets = "\b(FT81X|FT813)\b")
117// ESD_TARGET_GRAPHICS(PANL35, DisplayName = "PanL35", IntegratedDisplay = "KD2401 (320x480)", IntegratedPlatform = "FT903", SupportedArchitectures = "\bFT32\b", SupportedFlash = "(?=a)b", LibraryTargets = "\b(FT81X|FT811)\b")
118// ESD_TARGET_GRAPHICS(PANL50, DisplayName = "PanL50", SupportedDisplays = "\b\w+WVGA\w*\b", IntegratedPlatform = "MM900EV1B", SupportedArchitectures = "\bFT32\b", SupportedFlash = "(?=a)b", LibraryTargets = "\b(FT81X|FT813)\b")
119// ESD_TARGET_GRAPHICS(PANL70, DisplayName = "PanL70", IntegratedDisplay = "WVGA (800x480)", IntegratedPlatform = "FT930", SupportedArchitectures = "\bFT32\b", SupportedFlash = "(?=a)b", LibraryTargets = "\b(FT81X|FT811)\b")
120// ESD_TARGET_GRAPHICS(PANL70PLUS, DisplayName = "PanL70 Plus", IntegratedDisplay = "WVGA (800x480)", IntegratedPlatform = "FT930", SupportedArchitectures = "\bFT32\b", SupportedFlash = "(?=a)b", LibraryTargets = "\b(FT81X|FT811)\b")
121// ESD_TARGET_GRAPHICS(EVE_GRAPHICS_VM800C, DisplayName = "VM800C", SupportedFlash = "(?=a)b", LibraryTargets = "\b(FT80X|FT800)\b")
122ESD_TARGET_GRAPHICS(EVE_GRAPHICS_VM810C, DisplayName = "VM810C", SupportedFlash = "(?=a)b", SupportedTouch = "\b\w+RESISTIVE\w*\b", LibraryTargets = "\b(FT81X|FT810)\b")
123ESD_TARGET_GRAPHICS(EVE_GRAPHICS_VM816C, DisplayName = "VM816C", IntegratedFlash = "W25Q128", SupportedTouch = "\b\w+RESISTIVE\w*\b", LibraryTargets = "\b(BT81X|BT816)\b", FirmwareFolder = "BT815")
124ESD_TARGET_GRAPHICS(EVE_GRAPHICS_ME817EV, DisplayName = "ME817EV", IntegratedFlash = "W25Q128", SupportedTouch = "\b\w+FOCAL\w*\b|\b\w+GOODIX\w*\b", LibraryTargets = "\b(BT81X|BT818)\b", FirmwareFolder = "BT817")
125
126ESD_TARGET_GRAPHICS(EVE_GRAPHICS_GD3X_DAZZLER, DisplayName = "GD3X Dazzler", IntegratedDisplay = "HDMI 720p (1280x720)", IntegratedFlash = "W25Q64", SupportedTouch = "\b\w+DISABLED\w*\b", LibraryTargets = "\b(BT81X|BT815)\b", FirmwareFolder = "BT815")
127ESD_TARGET_GRAPHICS(EVE_GRAPHICS_IDM2040, DisplayName = "IDM2040", IntegratedFlash = "W25Q128", SupportedTouch = "\b\w+FOCAL\w*\b|\b\w+GOODIX\w*\b", IntegratedPlatform = "IDM2040EV", LibraryTargets = "\b(BT81X|BT818)\b", FirmwareFolder = "BT817")
128
129// ESD_TARGET_GRAPHICS(EVE_GRAPHICS_FT800, DisplayName = "FT800 (Generic)", SupportedDisplays = "\b\w+(QVGA|HVGA|AT043B35)\w*\b", SupportedTouch = "\b\w+RESISTIVE\w*\b", LibraryTargets="\b(FT80X|FT800)\b")
130// ESD_TARGET_GRAPHICS(EVE_GRAPHICS_FT801, DisplayName = "FT801 (Generic)", SupportedDisplays = "\b\w+(QVGA|HVGA|AT043B35)\w*\b", SupportedTouch = "\b\w+FOCAL\w*\b", LibraryTargets="\b(FT80X|FT801)\b")
131// ESD_TARGET_GRAPHICS(EVE_GRAPHICS_FT810, DisplayName = "FT810 (Generic)", SupportedTouch = "\b\w+RESISTIVE\w*\b", LibraryTargets="\b(FT81X|FT810)\b")
132// ESD_TARGET_GRAPHICS(EVE_GRAPHICS_FT811, DisplayName = "FT811 (Generic)", SupportedTouch = "\b\w+FOCAL\w*\b", LibraryTargets="\b(FT81X|FT811)\b")
133// ESD_TARGET_GRAPHICS(EVE_GRAPHICS_FT812, DisplayName = "FT812 (Generic)", SupportedTouch = "\b\w+RESISTIVE\w*\b", LibraryTargets="\b(FT81X|FT812)\b")
134// ESD_TARGET_GRAPHICS(EVE_GRAPHICS_FT813, DisplayName = "FT813 (Generic)", SupportedTouch = "\b\w+FOCAL\w*\b", LibraryTargets="\b(FT81X|FT813)\b")
135// ESD_TARGET_GRAPHICS(EVE_GRAPHICS_BT815, DisplayName = "BT815 (Generic)", SupportedTouch = "\b\w+FOCAL\w*\b|\b\w+GOODIX\w*\b", LibraryTargets="\b(BT81X|BT815)\b")
136// ESD_TARGET_GRAPHICS(EVE_GRAPHICS_BT816, DisplayName = "BT816 (Generic)", SupportedTouch = "\b\w+RESISTIVE\w*\b", LibraryTargets="\b(BT81X|BT816)\b")
137
138/* Landscape */
139ESD_TARGET_DISPLAY(EVE_DISPLAY_QVGA, DisplayName = "QVGA (320x240)")
140ESD_TARGET_DISPLAY(EVE_DISPLAY_WQVGA, DisplayName = "WQVGA (480x272)")
141ESD_TARGET_DISPLAY(EVE_DISPLAY_WVGA, DisplayName = "WVGA (800x480)")
142ESD_TARGET_DISPLAY(EVE_DISPLAY_WSVGA, DisplayName = "WSVGA (1024x600)")
143ESD_TARGET_DISPLAY(EVE_DISPLAY_WXGA, DisplayName = "WXGA (1280x800)")
144// ESD_TARGET_DISPLAY(EVE_DISPLAY_AT043B35, DisplayName = "AT043B35 (480x272)")
145
146/* Portrait */
147// ESD_TARGET_DISPLAY(EVE_DISPLAY_ILI9488_HVGA_PORTRAIT, DisplayName = "ILI9488 (320x480)")
148// ESD_TARGET_DISPLAY(EVE_DISPLAY_KD2401_HVGA_PORTRAIT, DisplayName = "KD2401 (320x480)")
149
150ESD_TARGET_PLATFORM(EVE_PLATFORM_BT8XXEMU, DisplayName = "Emulator", Icon = ":/icons/game-monitor.png", OverrideSupport, SupportedFlash = "\b\w*_W25Q\w*\b|\b\w*_MX25L\w*\b", SupportedArchitectures = "\bBT8XXEMU\b")
151ESD_TARGET_PLATFORM(MM900EV1A, SupportedArchitectures = "\bFT32\b")
152ESD_TARGET_PLATFORM(MM900EV1B, SupportedArchitectures = "\bFT32\b")
153ESD_TARGET_PLATFORM(MM900EV2A, SupportedArchitectures = "\bFT32\b")
154ESD_TARGET_PLATFORM(MM900EV3A, SupportedArchitectures = "\bFT32\b")
155ESD_TARGET_PLATFORM(MM900EV_LITE, DisplayName = "MM900EV-Lite", SupportedArchitectures = "\bFT32\b")
156// ESD_TARGET_PLATFORM(MM930MINI, DisplayName = "MM930Mini", SupportedArchitectures = "\bFT32\b")
157// ESD_TARGET_PLATFORM(MM930LITE, DisplayName = "MM930Lite", SupportedArchitectures = "\bFT32\b")
158// ESD_TARGET_PLATFORM(MM932LC, DisplayName = "MM932LC", SupportedArchitectures = "\bFT32\b")
159ESD_TARGET_PLATFORM(EVE_PLATFORM_FT4222, DisplayName = "FT4222", Icon = ":/icons/terminal.png", SupportedArchitectures = "\bFT4222\b")
160ESD_TARGET_PLATFORM(EVE_PLATFORM_MPSSE, DisplayName = "MPSSE", Icon = ":/icons/terminal.png", SupportedArchitectures = "\bMPSSE\b")
161ESD_TARGET_PLATFORM(EVE_PLATFORM_RP2040, DisplayName = "Rapberry Pi Pico", SupportedArchitectures = "\bPICO\b")
162ESD_TARGET_PLATFORM(EVE_PLATFORM_MM2040EV, DisplayName = "MM2040EV", SupportedArchitectures = "\bPICO\b")
163
164ESD_TARGET_FLASH(EVE_FLASH_W25Q16, DisplayName = "W25Q16")
165ESD_TARGET_FLASH(EVE_FLASH_W25Q32, DisplayName = "W25Q32")
166ESD_TARGET_FLASH(EVE_FLASH_W25Q64, DisplayName = "W25Q64")
167ESD_TARGET_FLASH(EVE_FLASH_W25Q128, DisplayName = "W25Q128")
168
169ESD_TARGET_FLASH(EVE_FLASH_MX25L16, DisplayName = "MX25L16")
170ESD_TARGET_FLASH(EVE_FLASH_MX25L32, DisplayName = "MX25L32")
171ESD_TARGET_FLASH(EVE_FLASH_MX25L64, DisplayName = "MX25L64")
172ESD_TARGET_FLASH(EVE_FLASH_MX25L128, DisplayName = "MX25L128")
173ESD_TARGET_FLASH(EVE_FLASH_MX25L256, DisplayName = "MX25L256", FlashFirmware = "unified.blob")
174ESD_TARGET_FLASH(EVE_FLASH_MX25L512, DisplayName = "MX25L512", FlashFirmware = "unified.blob")
175ESD_TARGET_FLASH(EVE_FLASH_MX25L1024, DisplayName = "MX25L1024", FlashFirmware = "unified.blob")
176ESD_TARGET_FLASH(EVE_FLASH_MX25L2048, DisplayName = "MX25L2048", FlashFirmware = "unified.blob")
177
178ESD_TARGET_TOUCH(EVE_TOUCH_FOCAL, DisplayName = "FocalTech")
179ESD_TARGET_TOUCH(EVE_TOUCH_GOODIX, DisplayName = "Goodix")
180ESD_TARGET_TOUCH(EVE_TOUCH_RESISTIVE, DisplayName = "Resistive")
181ESD_TARGET_TOUCH(EVE_TOUCH_DISABLED, DisplayName = "Disabled")
183
239
240/*
241
242Remap options.
243
244*/
245
246#ifdef ME810AU_HV35R
247#define ME810A_HV35R
248#endif
249#ifdef ME812AU_WH50R
250#define ME812A_WH50R
251#endif
252#ifdef ME813AU_WV7C
253#define ME813A_WV7C
254#endif
255#ifdef ME813AU_WH50C
256#define ME813A_WH50C
257#endif
258#ifdef VM800C35A_D /* This module has 1 integrated LCD*/
259#define VM800C35A_N /* This module is same but no integrated LCD*/
260#endif
261#ifdef VM800C43A_D /* This module has 1 integrated LCD*/
262#define VM800C43A_N /* This module is same but no integrated LCD*/
263#endif
264#ifdef VM816C50A_D /* This module has 1 integrated LCD*/
265#define VM816C50A_N /* This module is same but no integrated LCD*/
266#endif
267#ifdef VM816CU50A_D /* This module has 1 integrated LCD*/
268#define VM816CU50A_N /* This module is same but no integrated LCD*/
269#endif
270#ifdef VM810C50A_D /* This module has 1 more integrated LCD*/
271#define VM810C50A_N /* This module is same but no integrated LCD*/
272#endif
273
274/*
275
276Remap manual use of internal macros, internal macros are mapped at the end of this file (due to ESD_SIMULATION overrides)
277(Conditional code should check the internal macros MPSSE_PLATFORM, etc. and not the user-specified macros.)
278
279*/
280#if defined(BT8XXEMU_PLATFORM)
281#undef BT8XXEMU_PLATFORM
282#define EVE_PLATFORM_BT8XXEMU
283#elif defined(MPSSE_PLATFORM)
284#undef MPSSE_PLATFORM
285#define EVE_PLATFORM_MPSSE
286#elif defined(FT4222_PLATFORM)
287#undef FT4222_PLATFORM
288#define EVE_PLATFORM_FT4222
289#endif
290
291/*
292
293Validate the configured options.
294
295*/
296#if defined(VM800B35A_BK) || defined(VM800B43A_BK) \
297 || defined(VM800B50A_BK) || defined(VM801B43A_BK) \
298 || defined(VM801B50A_BK) || defined(VM800C35A_N) \
299 || defined(VM800C43A_N) || defined(VM800C35A_D) \
300 || defined(VM800C43A_D) || defined(VM800C50A_D) \
301 || defined(ME812A_WH50R) || defined(ME812AU_WH50R) \
302 || defined(ME813A_WH50C) || defined(ME813AU_WH50C) \
303 || defined(VM810C50A_D) || defined(VM810C50A_N) \
304 || defined(ME810A_HV35R) || defined(VM816C50A_D) \
305 || defined(VM816C50A_N) || defined(VM816CU50A_D) \
306 || defined(VM816CU50A_N) || defined(ME810AU_HV35R) \
307 || defined(ME813A_WV7C) || defined(EVE_MODULE_PANL) \
308 || defined(PANL50) \
309 || defined(EVE_GRAPHICS_VM800C) || defined(EVE_GRAPHICS_VM810C) \
310 || defined(EVE_GRAPHICS_VM816C) || defined(EVE_GRAPHICS_ME817EV) \
311 || defined(EVE_GRAPHICS_FT800) || defined(EVE_GRAPHICS_FT801) \
312 || defined(EVE_GRAPHICS_FT810) || defined(EVE_GRAPHICS_FT811) \
313 || defined(EVE_GRAPHICS_FT812) || defined(EVE_GRAPHICS_FT813) \
314 || defined(EVE_GRAPHICS_BT880) || defined(EVE_GRAPHICS_BT881) \
315 || defined(EVE_GRAPHICS_BT882) || defined(EVE_GRAPHICS_BT883) \
316 || defined(EVE_GRAPHICS_BT815) || defined(EVE_GRAPHICS_BT816) \
317 || defined(EVE_GRAPHICS_BT817) || defined(EVE_GRAPHICS_BT818) \
318 || defined(EVE_GRAPHICS_GD3X_DAZZLER) \
319 || defined(EVE_GRAPHICS_IDM2040)
320#define EVE_GRAPHICS_AVAILABLE
321#endif
322
323#if defined(EVE_DISPLAY_QVGA) || defined(EVE_DISPLAY_WQVGA) \
324 || defined(EVE_DISPLAY_WVGA) || defined(EVE_DISPLAY_WSVGA) \
325 || defined(EVE_DISPLAY_WXGA) \
326 || defined(EVE_DISPLAY_ILI9488_HVGA_PORTRAIT) \
327 || defined(EVE_DISPLAY_KD2401_HVGA_PORTRAIT)
328#define EVE_DISPLAY_AVAILABLE
329#endif
330
331#if defined(ESD_SIMULATION) || defined(EVE_PLATFORM_BT8XXEMU) \
332 || defined(MM900EV1A) || defined(MM900EV1B) \
333 || defined(MM900EV2A) || defined(MM900EV3A) \
334 || defined(MM900EV_LITE) || defined(MM930MINI) \
335 || defined(MM930LITE) || defined(MM932LC) \
336 || defined(EVE_PLATFORM_FT4222) || defined(EVE_PLATFORM_MPSSE) \
337 || defined(EVE_PLATFORM_RP2040) || defined(EVE_PLATFORM_MM2040EV)
338#define EVE_PLATFORM_AVAILABLE
339#endif
340
341#if defined(EVE_FLASH_W25Q16) || defined(EVE_FLASH_W25Q32) \
342 || defined(EVE_FLASH_W25Q64) || defined(EVE_FLASH_W25Q128) \
343 || defined(EVE_FLASH_MX25L16) || defined(EVE_FLASH_MX25L32) \
344 || defined(EVE_FLASH_MX25L64) || defined(EVE_FLASH_MX25L128) \
345 || defined(EVE_FLASH_MX25L256) || defined(EVE_FLASH_MX25L512) \
346 || defined(EVE_FLASH_MX25L1024) || defined(EVE_FLASH_MX25L2048)
347#define EVE_FLASH_AVAILABLE
348#endif
349
350#if defined(EVE_TOUCH_FOCAL) || defined(EVE_TOUCH_GOODIX) || defined(EVE_TOUCH_RESISTIVE) || defined(EVE_TOUCH_DISABLED)
351#define EVE_TOUCH_AVAILABLE
352#endif
353
354#if !defined(EVE_PLATFORM_AVAILABLE) && defined(WIN32)
355#define EVE_MULTI_PLATFORM_TARGET
356#endif
357
361
384#if defined(VM800P35A_BK)
385#Error Host ATMEGA328P is not supported
386
387#elif defined(VM800P43A_BK)
388#Host ATMEGA328P is not supported
389
390#elif defined(VM800P50A_BK)
391#Host ATMEGA328P is not supported
392
393#elif defined(VM801P43A_BK)
394#Host ATMEGA328P is not supported
395
396#elif defined(VM801P50A_BK)
397#Host ATMEGA328P is not supported
398
399#elif defined(VM800B35A_BK) /* EVE module */
400#define FT800_ENABLE
401#define ENABLE_SPI_SINGLE
402#define RESISTANCE_THRESHOLD (1800)
403
404#ifndef EVE_DISPLAY_AVAILABLE
405#define EVE_DISPLAY_AVAILABLE
406#define DISPLAY_RESOLUTION_QVGA
407#endif
408
409#ifndef EVE_TOUCH_AVAILABLE
410#define EVE_TOUCH_AVAILABLE
411#define EVE_TOUCH_RESISTIVE
412#endif
413
414#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
415#define EVE_PLATFORM_AVAILABLE
416#define EVE_PLATFORM_MPSSE
417#endif
418
419#elif defined(VM800B43A_BK) || defined(VM800B50A_BK) || defined(VM800C43A_D) || defined(VM800C50A_D) /* EVE module */
420#define FT800_ENABLE
421#define ENABLE_SPI_SINGLE
422#define RESISTANCE_THRESHOLD (1800)
423
424#ifndef EVE_DISPLAY_AVAILABLE
425#define EVE_DISPLAY_AVAILABLE
426#define DISPLAY_RESOLUTION_WQVGA
427#endif
428
429#ifndef EVE_TOUCH_AVAILABLE
430#define EVE_TOUCH_AVAILABLE
431#define EVE_TOUCH_FOCAL
432#endif
433
434#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
435#define EVE_PLATFORM_AVAILABLE
436#define EVE_PLATFORM_MPSSE
437#endif
438
439#elif defined(VM801B43A_BK) || defined(VM801B50A_BK) /* EVE module */
440#define FT801_ENABLE
441#define ENABLE_SPI_SINGLE
442
443#ifndef EVE_DISPLAY_AVAILABLE
444#define EVE_DISPLAY_AVAILABLE
445#define DISPLAY_RESOLUTION_WQVGA
446#endif
447
448#ifndef EVE_TOUCH_AVAILABLE
449#define EVE_TOUCH_AVAILABLE
450#define EVE_TOUCH_FOCAL
451#endif
452
453#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
454#define EVE_PLATFORM_AVAILABLE
455#define EVE_PLATFORM_MPSSE
456#endif
457
458#elif defined(VM800C35A_N) /* EVE module */
459/* This module has no integrated LCD */
460#define FT800_ENABLE
461#define ENABLE_SPI_SINGLE
462#define RESISTANCE_THRESHOLD (1800)
463
464#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
465#define EVE_PLATFORM_AVAILABLE
466#define EVE_PLATFORM_MPSSE
467#endif
468
469#if defined(VM800C35A_D)
470
471#ifndef EVE_DISPLAY_AVAILABLE
472#define EVE_DISPLAY_AVAILABLE
473#define DISPLAY_RESOLUTION_QVGA
474#endif
475
476#ifndef EVE_TOUCH_AVAILABLE
477#define EVE_TOUCH_AVAILABLE
478#define EVE_TOUCH_RESISTIVE
479#endif
480
481#endif
482
483#elif defined(VM800C43A_N) /* EVE module */
484/* This module has no integrated LCD */
485#define FT800_ENABLE
486#define ENABLE_SPI_SINGLE
487#define RESISTANCE_THRESHOLD (1800)
488
489#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
490#define EVE_PLATFORM_AVAILABLE
491#define EVE_PLATFORM_MPSSE
492#endif
493
494#elif defined(ME812A_WH50R) /* EVE 2 module */
495
496#define FT812_ENABLE
497#define ENABLE_SPI_QUAD
498#define RESISTANCE_THRESHOLD (1800)
499#define EVE_USE_INTERNAL_OSC
500
501#ifndef EVE_DISPLAY_AVAILABLE
502#define EVE_DISPLAY_AVAILABLE
503#define DISPLAY_RESOLUTION_WVGA
504#endif
505
506#ifdef ME812AU_WH50R
507
508#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
509#define EVE_PLATFORM_AVAILABLE
510#define EVE_PLATFORM_FT4222
511#endif
512
513#ifndef EVE_TOUCH_AVAILABLE
514#define EVE_TOUCH_AVAILABLE
515#define EVE_TOUCH_RESISTIVE
516#endif
517
518#endif
519
520#elif defined(ME813A_WH50C) /* EVE 2 module */
521
522#define FT813_ENABLE
523#define ENABLE_SPI_QUAD
524#define EVE_USE_INTERNAL_OSC
525
526#ifndef EVE_DISPLAY_AVAILABLE
527#define EVE_DISPLAY_AVAILABLE
528#define DISPLAY_RESOLUTION_WVGA
529#endif
530
531#ifdef ME813AU_WH50C
532
533#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
534#define EVE_PLATFORM_AVAILABLE
535#define EVE_PLATFORM_FT4222
536#endif
537
538#ifndef EVE_TOUCH_AVAILABLE
539#define EVE_TOUCH_AVAILABLE
540#define EVE_TOUCH_FOCAL
541#endif
542
543#endif
544
545#elif defined(VM810C50A_N) /* EVE 2 module */
546
547#define FT810_ENABLE
548#define ENABLE_SPI_SINGLE
549
550#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
551#define EVE_PLATFORM_AVAILABLE
552#define EVE_PLATFORM_MPSSE
553#endif
554
555#if defined(VM810C50A_D)
556
557#ifndef EVE_DISPLAY_AVAILABLE
558#define EVE_DISPLAY_AVAILABLE
559#define DISPLAY_RESOLUTION_WVGA
560#endif
561
562#ifndef EVE_TOUCH_AVAILABLE
563#define EVE_TOUCH_AVAILABLE
564#define EVE_TOUCH_RESISTIVE
565#endif
566
567#endif
568
569#elif defined(ME810A_HV35R) /* EVE 2 module */
570#define FT810_ENABLE
571#define ENABLE_SPI_QUAD
572#define RESISTANCE_THRESHOLD (1800)
573#define EVE_USE_INTERNAL_OSC
574
575#ifndef EVE_DISPLAY_AVAILABLE
576#define EVE_DISPLAY_AVAILABLE
577#define DISPLAY_RESOLUTION_HVGA_PORTRAIT
578#define ENABLE_ILI9488_HVGA_PORTRAIT
579#endif
580
581#ifdef ME810AU_HV35R
582
583#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
584#define EVE_PLATFORM_AVAILABLE
585#define EVE_PLATFORM_FT4222
586#endif
587
588#ifndef EVE_TOUCH_AVAILABLE
589#define EVE_TOUCH_AVAILABLE
590#define EVE_TOUCH_RESISTIVE
591#endif
592
593#endif
594
595#elif defined(VM816C50A_N) /* EVE 3 module */
596
597#define BT816_ENABLE
598#define ENABLE_SPI_SINGLE
599#define RESISTANCE_THRESHOLD (1800)
600
601#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
602#define EVE_PLATFORM_AVAILABLE
603#define EVE_PLATFORM_MPSSE
604#endif
605
606#ifndef EVE_FLASH_AVAILABLE
607#define EVE_FLASH_AVAILABLE
608#define EVE_FLASH_MX25L128
609#endif
610
611#if defined(VM816C50A_D) /* EVE 3 module */
612
613#ifndef EVE_DISPLAY_AVAILABLE
614#define EVE_DISPLAY_AVAILABLE
615#define DISPLAY_RESOLUTION_WVGA
616#endif
617
618#ifndef EVE_TOUCH_AVAILABLE
619#define EVE_TOUCH_AVAILABLE
620#define EVE_TOUCH_RESISTIVE
621#endif
622
623#endif
624
625#elif defined(VM816CU50A_N) /* EVE 3 module */
626
627#define BT816_ENABLE
628#define ENABLE_SPI_QUAD
629#define RESISTANCE_THRESHOLD (1800)
630
631#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
632#define EVE_PLATFORM_AVAILABLE
633#define EVE_PLATFORM_FT4222
634#endif
635
636#ifndef EVE_FLASH_AVAILABLE
637#define EVE_FLASH_AVAILABLE
638#define EVE_FLASH_MX25L128
639#endif
640
641#if defined(VM816CU50A_D) /* EVE 3 module */
642
643#ifndef EVE_DISPLAY_AVAILABLE
644#define EVE_DISPLAY_AVAILABLE
645#define DISPLAY_RESOLUTION_WVGA
646#endif
647
648#ifndef EVE_TOUCH_AVAILABLE
649#define EVE_TOUCH_AVAILABLE
650#define EVE_TOUCH_RESISTIVE
651#endif
652
653#endif
654
655#elif defined(ME813A_WV7C)
656
657#define FT813_ENABLE
658#define ENABLE_SPI_QUAD
659
660#ifndef EVE_DISPLAY_AVAILABLE
661#define EVE_DISPLAY_AVAILABLE
662#define DISPLAY_RESOLUTION_WVGA
663#endif
664
665#ifdef ME813AU_WV7C
666
667#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
668#define EVE_PLATFORM_AVAILABLE
669#define EVE_PLATFORM_FT4222
670#endif
671
672#ifndef EVE_TOUCH_AVAILABLE
673#define EVE_TOUCH_AVAILABLE
674#define EVE_TOUCH_FOCAL
675#endif
676
677#endif
678
679#elif defined(EVE_GRAPHICS_VM816C)
680
681#define BT816_ENABLE
682#define ENABLE_SPI_QUAD
683#define RESISTANCE_THRESHOLD (1800)
684
685#ifndef EVE_DISPLAY_AVAILABLE
686#define EVE_DISPLAY_AVAILABLE
687#define DISPLAY_RESOLUTION_WVGA
688#endif
689
690#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
691#define EVE_PLATFORM_AVAILABLE
692#define EVE_PLATFORM_FT4222
693#endif
694
695#ifndef EVE_FLASH_AVAILABLE
696#define EVE_FLASH_AVAILABLE
697#define EVE_FLASH_W25Q128
698#endif
699
700#ifndef EVE_TOUCH_AVAILABLE
701#define EVE_TOUCH_AVAILABLE
702#define EVE_TOUCH_RESISTIVE
703#endif
704
705#elif defined(EVE_GRAPHICS_ME817EV)
706
707#define BT817_ENABLE
708#define ENABLE_SPI_QUAD
709
710#ifndef EVE_DISPLAY_AVAILABLE
711#define EVE_DISPLAY_AVAILABLE
712#define DISPLAY_RESOLUTION_WVGA
713#endif
714
715#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
716#define EVE_PLATFORM_AVAILABLE
717#define EVE_PLATFORM_FT4222
718#endif
719
720#ifndef EVE_FLASH_AVAILABLE
721#define EVE_FLASH_AVAILABLE
722#define EVE_FLASH_W25Q128
723#endif
724
725#ifndef EVE_TOUCH_AVAILABLE
726#define EVE_TOUCH_AVAILABLE
727#ifdef DISPLAY_RESOLUTION_WXGA
728#define EVE_TOUCH_GOODIX
729#else
730#define EVE_TOUCH_FOCAL
731#endif
732#endif
733
734#elif defined(EVE_GRAPHICS_VM810C)
735
736#define FT810_ENABLE
737#define ENABLE_SPI_QUAD
738#define RESISTANCE_THRESHOLD (1800)
739
740#ifndef EVE_DISPLAY_AVAILABLE
741#define EVE_DISPLAY_AVAILABLE
742#define DISPLAY_RESOLUTION_WVGA
743#endif
744
745#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
746#define EVE_PLATFORM_AVAILABLE
747#define EVE_PLATFORM_FT4222
748#endif
749
750#ifndef EVE_TOUCH_AVAILABLE
751#define EVE_TOUCH_AVAILABLE
752#define EVE_TOUCH_RESISTIVE
753#endif
754
755#elif defined(EVE_GRAPHICS_VM800C)
756
757#define FT800_ENABLE
758#define ENABLE_SPI_QUAD
759#define RESISTANCE_THRESHOLD (1800)
760
761#ifndef EVE_DISPLAY_AVAILABLE
762#define EVE_DISPLAY_AVAILABLE
763#define DISPLAY_RESOLUTION_WQVGA
764#endif
765
766#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
767#define EVE_PLATFORM_AVAILABLE
768#define EVE_PLATFORM_MPSSE
769#endif
770
771#ifndef EVE_TOUCH_AVAILABLE
772#define EVE_TOUCH_AVAILABLE
773#define EVE_TOUCH_RESISTIVE
774#endif
775
776#elif defined(EVE_GRAPHICS_GD3X_DAZZLER)
777
778#define BT815_ENABLE
779#define ENABLE_SPI_QUAD
780#define EVE_USE_INTERNAL_OSC
781
782#ifndef EVE_DISPLAY_AVAILABLE
783#define EVE_DISPLAY_AVAILABLE
784#define DISPLAY_RESOLUTION_HDTV
785#endif
786
787#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
788#define EVE_PLATFORM_AVAILABLE
789#define EVE_PLATFORM_RP2040
790#endif
791
792#ifndef EVE_FLASH_AVAILABLE
793#define EVE_FLASH_AVAILABLE
794#define EVE_FLASH_W25Q64
795#endif
796
797#ifndef EVE_TOUCH_AVAILABLE
798#define EVE_TOUCH_AVAILABLE
799#define EVE_TOUCH_DISABLED
800#endif
801
802#elif defined(EVE_GRAPHICS_IDM2040)
803
804#define BT817_ENABLE
805#define ENABLE_SPI_QUAD
806
807#ifndef EVE_DISPLAY_AVAILABLE
808#define EVE_DISPLAY_AVAILABLE
809#define DISPLAY_RESOLUTION_WVGA
810#endif
811
812#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
813#define EVE_PLATFORM_AVAILABLE
814#define EVE_PLATFORM_RP2040
815#endif
816
817#ifndef EVE_FLASH_AVAILABLE
818#define EVE_FLASH_AVAILABLE
819#define EVE_FLASH_W25Q128
820#endif
821
822#ifndef EVE_TOUCH_AVAILABLE
823#define EVE_TOUCH_AVAILABLE
824#ifdef DISPLAY_RESOLUTION_WXGA
825#define EVE_TOUCH_GOODIX
826#else
827#define EVE_TOUCH_FOCAL
828#endif
829#endif
830
831#elif defined(PANL35)
832
833#define FT811_ENABLE
834#define ENABLE_SPI_QUAD
835
836#ifndef EVE_DISPLAY_AVAILABLE
837#define EVE_DISPLAY_AVAILABLE
838#define DISPLAY_RESOLUTION_HVGA_PORTRAIT
839#define ENABLE_KD2401_HVGA_PORTRAIT
840#endif
841
842#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
843#define EVE_PLATFORM_AVAILABLE
844#ifndef FT900_PLATFORM
845#define FT900_PLATFORM
846#endif // FT900_PLATFORM
847#define EVE_MODULE_PANL
848#define malloc pvPortMalloc
849#define calloc vPortCalloc
850#define free vPortFree
851#define PANL_HEAP_SIZE (20 * 1024)
852#define TINYPRINTF_OVERRIDE_LIBC (0)
853#endif
854
855#elif defined(PANL70)
856
857#define FT811_ENABLE
858#define ENABLE_SPI_QUAD
859
860#ifndef EVE_DISPLAY_AVAILABLE
861#define EVE_DISPLAY_AVAILABLE
862#define DISPLAY_RESOLUTION_WVGA
863#endif
864
865#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
866#define EVE_PLATFORM_AVAILABLE
867#ifndef FT900_PLATFORM
868#define FT900_PLATFORM
869#endif // FT900_PLATFORM
870#define EVE_MODULE_PANL
871#define malloc pvPortMalloc
872#define calloc vPortCalloc
873#define free vPortFree
874#define PANL_HEAP_SIZE (20 * 1024)
875#define TINYPRINTF_OVERRIDE_LIBC (0)
876#endif
877
878#elif defined(PANL70PLUS)
879
880#define FT811_ENABLE
881#define ENABLE_SPI_QUAD
882
883#ifndef EVE_DISPLAY_AVAILABLE
884#define EVE_DISPLAY_AVAILABLE
885#define DISPLAY_RESOLUTION_WVGA
886#endif
887
888#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
889#define EVE_PLATFORM_AVAILABLE
890#ifndef FT900_PLATFORM
891#define FT900_PLATFORM
892#endif // FT900_PLATFORM
893#define EVE_MODULE_PANL
894#define malloc pvPortMalloc
895#define calloc vPortCalloc
896#define free vPortFree
897#define PANL_HEAP_SIZE (20 * 1024)
898#define TINYPRINTF_OVERRIDE_LIBC (0)
899#endif
900
901#elif defined(PANL50)
902#define FT813_ENABLE
903#define ENABLE_SPI_QUAD
904
905#ifndef EVE_DISPLAY_AVAILABLE
906#define EVE_DISPLAY_AVAILABLE
907#define DISPLAY_RESOLUTION_WVGA
908#endif
909
910#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
911#define EVE_PLATFORM_AVAILABLE
912#define PANL_APPLET
913#ifndef FT900_PLATFORM
914#define FT900_PLATFORM
915#endif // FT900_PLATFORM
916#define EVE_MODULE_PANL
917#define malloc pvPortMalloc
918#define calloc vPortCalloc
919#define free vPortFree
920
921#define printf tfp_printf
922#define iprintf tfp_printf
923#define PANL_HEAP_SIZE (20 * 1024)
924#define TINYPRINTF_OVERRIDE_LIBC (0)
925#endif
926
927#elif defined(EVE_GRAPHICS_FT800)
928
929#define FT800_ENABLE
930#define ENABLE_SPI_QUAD
931#define RESISTANCE_THRESHOLD (1800)
932
933#ifndef EVE_DISPLAY_AVAILABLE
934#define EVE_DISPLAY_AVAILABLE
935#define DISPLAY_RESOLUTION_QVGA
936#endif
937
938#ifndef EVE_TOUCH_AVAILABLE
939#define EVE_TOUCH_AVAILABLE
940#define EVE_TOUCH_RESISTIVE
941#endif
942
943#elif defined(EVE_GRAPHICS_FT801)
944
945#define FT801_ENABLE
946
947#ifndef EVE_DISPLAY_AVAILABLE
948#define EVE_DISPLAY_AVAILABLE
949#define DISPLAY_RESOLUTION_WQVGA
950#endif
951
952#elif defined(EVE_GRAPHICS_FT810)
953
954#define FT810_ENABLE
955
956#ifndef EVE_DISPLAY_AVAILABLE
957#define EVE_DISPLAY_AVAILABLE
958#define DISPLAY_RESOLUTION_QVGA
959#endif
960
961#ifndef EVE_TOUCH_AVAILABLE
962#define EVE_TOUCH_AVAILABLE
963#define EVE_TOUCH_RESISTIVE
964#endif
965
966#elif defined(EVE_GRAPHICS_FT811)
967
968#define FT811_ENABLE
969#define ENABLE_SPI_QUAD
970
971#ifndef EVE_DISPLAY_AVAILABLE
972#define EVE_DISPLAY_AVAILABLE
973#define DISPLAY_RESOLUTION_WVGA
974#endif
975
976#elif defined(EVE_GRAPHICS_FT812)
977#define FT812_ENABLE
978#ifndef EVE_DISPLAY_AVAILABLE
979#define EVE_DISPLAY_AVAILABLE
980#define DISPLAY_RESOLUTION_QVGA
981#endif
982
983#ifndef EVE_TOUCH_AVAILABLE
984#define EVE_TOUCH_AVAILABLE
985#define EVE_TOUCH_RESISTIVE
986#endif
987
988#elif defined(EVE_GRAPHICS_FT813)
989#define FT813_ENABLE
990#ifndef EVE_DISPLAY_AVAILABLE
991#define EVE_DISPLAY_AVAILABLE
992#define DISPLAY_RESOLUTION_QVGA
993#endif
994
995#elif defined(EVE_GRAPHICS_BT880)
996
997#define BT880_ENABLE
998
999#ifndef EVE_DISPLAY_AVAILABLE
1000#define EVE_DISPLAY_AVAILABLE
1001#define DISPLAY_RESOLUTION_QVGA
1002#endif
1003
1004#ifndef EVE_TOUCH_AVAILABLE
1005#define EVE_TOUCH_AVAILABLE
1006#define EVE_TOUCH_RESISTIVE
1007#endif
1008
1009#elif defined(EVE_GRAPHICS_BT881)
1010
1011#define BT881_ENABLE
1012#define ENABLE_SPI_QUAD
1013
1014#ifndef EVE_DISPLAY_AVAILABLE
1015#define EVE_DISPLAY_AVAILABLE
1016#define DISPLAY_RESOLUTION_WVGA
1017#endif
1018
1019#elif defined(EVE_GRAPHICS_BT882)
1020#define BT882_ENABLE
1021#ifndef EVE_DISPLAY_AVAILABLE
1022#define EVE_DISPLAY_AVAILABLE
1023#define DISPLAY_RESOLUTION_QVGA
1024#endif
1025
1026#ifndef EVE_TOUCH_AVAILABLE
1027#define EVE_TOUCH_AVAILABLE
1028#define EVE_TOUCH_RESISTIVE
1029#endif
1030
1031#elif defined(EVE_GRAPHICS_BT883)
1032#define BT883_ENABLE
1033#ifndef EVE_DISPLAY_AVAILABLE
1034#define EVE_DISPLAY_AVAILABLE
1035#define DISPLAY_RESOLUTION_QVGA
1036#endif
1037
1038#elif defined(EVE_GRAPHICS_BT815)
1039
1040#define BT815_ENABLE
1041#define ENABLE_SPI_QUAD
1042
1043#ifndef EVE_DISPLAY_AVAILABLE
1044#define EVE_DISPLAY_AVAILABLE
1045#define DISPLAY_RESOLUTION_WVGA
1046#endif
1047
1048#ifndef EVE_FLASH_AVAILABLE
1049#define EVE_FLASH_AVAILABLE
1050#define EVE_FLASH_MX25L128
1051#endif
1052#ifndef EVE_TOUCH_AVAILABLE
1053#define EVE_TOUCH_AVAILABLE
1054#define EVE_TOUCH_FOCAL
1055#endif
1056
1057#elif defined(EVE_GRAPHICS_BT816)
1058
1059#define BT816_ENABLE
1060#define ENABLE_SPI_QUAD
1061#define RESISTANCE_THRESHOLD (-1)
1062
1063#ifndef EVE_DISPLAY_AVAILABLE
1064#define EVE_DISPLAY_AVAILABLE
1065#define DISPLAY_RESOLUTION_WVGA
1066#endif
1067
1068#ifndef EVE_FLASH_AVAILABLE
1069#define EVE_FLASH_AVAILABLE
1070#define EVE_FLASH_MX25L128
1071#endif
1072
1073#ifndef EVE_TOUCH_AVAILABLE
1074#define EVE_TOUCH_AVAILABLE
1075#define EVE_TOUCH_RESISTIVE
1076#endif
1077
1078#elif defined(EVE_GRAPHICS_BT817)
1079
1080#define BT817_ENABLE
1081#define ENABLE_SPI_QUAD
1082
1083#ifndef EVE_DISPLAY_AVAILABLE
1084#define EVE_DISPLAY_AVAILABLE
1085#define DISPLAY_RESOLUTION_WVGA
1086#endif
1087
1088#ifndef EVE_FLASH_AVAILABLE
1089#define EVE_FLASH_AVAILABLE
1090#define EVE_FLASH_MX25L128
1091#endif
1092
1093#ifndef EVE_TOUCH_AVAILABLE
1094#define EVE_TOUCH_AVAILABLE
1095#define EVE_TOUCH_FOCAL
1096#endif
1097
1098#elif defined(EVE_GRAPHICS_BT818)
1099
1100#define BT818_ENABLE
1101#define ENABLE_SPI_QUAD
1102#define RESISTANCE_THRESHOLD (1800)
1103
1104#ifndef EVE_DISPLAY_AVAILABLE
1105#define EVE_DISPLAY_AVAILABLE
1106#define DISPLAY_RESOLUTION_WVGA
1107#endif
1108
1109#ifndef EVE_FLASH_AVAILABLE
1110#define EVE_FLASH_AVAILABLE
1111#define EVE_FLASH_MX25L128
1112#endif
1113
1114#ifndef EVE_TOUCH_AVAILABLE
1115#define EVE_TOUCH_AVAILABLE
1116#define EVE_TOUCH_RESISTIVE
1117#endif
1118
1119#endif
1120
1121// Re-Mapping FT800 Series to FT80X
1122#if defined(FT800_ENABLE) || defined(FT801_ENABLE)
1123#define FT80X_ENABLE
1124#endif
1125
1126// Re-Mapping FT810 Series to FT81X
1127#if defined(FT810_ENABLE) || defined(FT811_ENABLE) || defined(FT812_ENABLE) || defined(FT813_ENABLE)
1128#define FT81X_ENABLE
1129#endif
1130
1131// Re-Mapping BT880 Series to BT88X
1132#if defined(BT880_ENABLE) || defined(BT881_ENABLE) || defined(BT882_ENABLE) || defined(BT883_ENABLE)
1133#define BT88X_ENABLE
1134#endif
1135
1136// Re-Mapping BT815 Series to BT81X
1137#if defined(BT815_ENABLE) || defined(BT816_ENABLE)
1138#define BT81X_ENABLE
1139#endif
1140
1141// Re-Mapping BT817 Series to BT81XA
1142#if defined(BT817_ENABLE) || defined(BT818_ENABLE)
1143#define BT81XA_ENABLE
1144#endif
1145
1146// Model numbered macro for versioning convenience.
1147#if defined(FT800_ENABLE)
1148#define EVE_SUPPORT_CHIPID EVE_FT800
1149#define EVE_SUPPORT_GEN EVE1
1150#define FT_800_ENABLE
1151#elif defined(FT801_ENABLE)
1152#define EVE_SUPPORT_CHIPID EVE_FT801
1153#define EVE_SUPPORT_GEN EVE1
1154#define FT_801_ENABLE
1155#elif defined(FT810_ENABLE)
1156#define EVE_SUPPORT_CHIPID EVE_FT810
1157#define EVE_SUPPORT_GEN EVE2
1158#define FT_810_ENABLE
1159#elif defined(FT811_ENABLE)
1160#define EVE_SUPPORT_CHIPID EVE_FT811
1161#define EVE_SUPPORT_GEN EVE2
1162#define FT_811_ENABLE
1163#elif defined(FT812_ENABLE)
1164#define EVE_SUPPORT_CHIPID EVE_FT812
1165#define EVE_SUPPORT_GEN EVE2
1166#define FT_812_ENABLE
1167#elif defined(FT813_ENABLE)
1168#define EVE_SUPPORT_CHIPID EVE_FT813
1169#define EVE_SUPPORT_GEN EVE2
1170#define FT_813_ENABLE
1171#elif defined(BT880_ENABLE)
1172#define EVE_SUPPORT_CHIPID EVE_BT880
1173#define EVE_SUPPORT_GEN EVE2
1174#define BT_880_ENABLE
1175#elif defined(BT881_ENABLE)
1176#define EVE_SUPPORT_CHIPID EVE_BT881
1177#define EVE_SUPPORT_GEN EVE2
1178#define BT_881_ENABLE
1179#elif defined(BT882_ENABLE)
1180#define EVE_SUPPORT_CHIPID EVE_BT882
1181#define EVE_SUPPORT_GEN EVE2
1182#define BT_882_ENABLE
1183#elif defined(BT883_ENABLE)
1184#define EVE_SUPPORT_CHIPID EVE_BT883
1185#define EVE_SUPPORT_GEN EVE2
1186#define BT_883_ENABLE
1187#elif defined(BT815_ENABLE)
1188#define EVE_SUPPORT_CHIPID EVE_BT815
1189#define EVE_SUPPORT_GEN EVE3
1190#define BT_815_ENABLE
1191#elif defined(BT816_ENABLE)
1192#define EVE_SUPPORT_CHIPID EVE_BT816
1193#define EVE_SUPPORT_GEN EVE3
1194#define BT_816_ENABLE
1195#elif defined(BT817_ENABLE)
1196#define EVE_SUPPORT_CHIPID EVE_BT817
1197#define EVE_SUPPORT_GEN EVE4
1198#define BT_817_ENABLE
1199#elif defined(BT818_ENABLE)
1200#define EVE_SUPPORT_CHIPID EVE_BT818
1201#define EVE_SUPPORT_GEN EVE4
1202#define BT_818_ENABLE
1203#endif
1204
1205#if defined(FT80X_ENABLE)
1206#define FT_80X_ENABLE
1207#elif defined(FT81X_ENABLE)
1208#define FT_81X_ENABLE
1209#elif defined(BT88X_ENABLE)
1210#define BT_88X_ENABLE
1211#elif defined(BT81X_ENABLE)
1212#define BT_81X_ENABLE
1213#elif defined(BT81XA_ENABLE)
1214#define BT_81XA_ENABLE
1215#endif
1216
1220
1221#if defined(EVE_DISPLAY_QVGA)
1222#define DISPLAY_RESOLUTION_QVGA
1223#elif defined(EVE_DISPLAY_WQVGA)
1224#define DISPLAY_RESOLUTION_WQVGA
1225#elif defined(EVE_DISPLAY_WVGA)
1226#define DISPLAY_RESOLUTION_WVGA
1227#elif defined(EVE_DISPLAY_WSVGA)
1228#define DISPLAY_RESOLUTION_WSVGA
1229#elif defined(EVE_DISPLAY_WXGA)
1230#define DISPLAY_RESOLUTION_WXGA
1231#elif defined(EVE_DISPLAY_ILI9488_HVGA_PORTRAIT)
1232#define DISPLAY_RESOLUTION_HVGA_PORTRAIT
1233#define ENABLE_ILI9488_HVGA_PORTRAIT
1234#elif defined(EVE_DISPLAY_KD2401_HVGA_PORTRAIT)
1235#define DISPLAY_RESOLUTION_HVGA_PORTRAIT
1236#define ENABLE_KD2401_HVGA_PORTRAIT
1237#endif
1238
1239#ifndef EVE_DISPLAY_REFRESH
1240#define EVE_DISPLAY_REFRESH 0
1241#endif
1242
1246
1247/* The following are only used in ESD to configure the most appropriate flash emulation */
1248#if defined(ESD_SIMULATION) || defined(EVE_DEFINE_FLASH)
1249#if defined(EVE_FLASH_W25Q16)
1250#define EVE_FLASH_W25Q
1251#define EVE_FLASH_SIZE 2
1252#elif defined(EVE_FLASH_W25Q32)
1253#define EVE_FLASH_W25Q
1254#define EVE_FLASH_SIZE 4
1255#elif defined(EVE_FLASH_W25Q64)
1256#define EVE_FLASH_W25Q
1257#define EVE_FLASH_SIZE 8
1258#elif defined(EVE_FLASH_W25Q128)
1259#define EVE_FLASH_W25Q
1260#define EVE_FLASH_SIZE 16
1261#elif defined(EVE_FLASH_GOODIX)
1262#define EVE_FLASH_SIZE 16
1263#elif defined(EVE_FLASH_MX25L16)
1264#define EVE_FLASH_MX25L
1265#define EVE_FLASH_SIZE 2
1266#elif defined(EVE_FLASH_MX25L32)
1267#define EVE_FLASH_MX25L
1268#define EVE_FLASH_SIZE 4
1269#elif defined(EVE_FLASH_MX25L64)
1270#define EVE_FLASH_MX25L
1271#define EVE_FLASH_SIZE 8
1272#elif defined(EVE_FLASH_MX25L128)
1273#define EVE_FLASH_MX25L
1274#define EVE_FLASH_SIZE 16
1275#elif defined(EVE_FLASH_MX25L256)
1276#define EVE_FLASH_MX25L
1277#define EVE_FLASH_SIZE 32
1278#elif defined(EVE_FLASH_MX25L512)
1279#define EVE_FLASH_MX25L
1280#define EVE_FLASH_SIZE 64
1281#elif defined(EVE_FLASH_MX25L1024)
1282#define EVE_FLASH_MX25L
1283#define EVE_FLASH_SIZE 128
1284#elif defined(EVE_FLASH_MX25L2048)
1285#define EVE_FLASH_MX25L
1286#define EVE_FLASH_SIZE 256
1287#endif
1288#endif
1289#if defined(ESD_SIMULATION)
1290#if (EVE_SUPPORT_CHIPID >= EVE_BT817)
1291#ifdef _WIN32
1292#define EVE_FLASH_FIRMWARE L"BT817/unified.blob"
1293#else
1294#define EVE_FLASH_FIRMWARE "BT817/unified.blob"
1295#endif
1296#else
1297#ifdef _WIN32
1298#define EVE_FLASH_FIRMWARE L"BT815/unified.blob"
1299#else
1300#define EVE_FLASH_FIRMWARE "BT815/unified.blob"
1301#endif
1302#endif
1303#endif
1304
1308
1309/*
1310
1311Ultimately, the platform selection must set one of the following internal platform flags.
1312- BT8XXEMU_PLATFORM
1313- FT9XX_PLATFORM
1314- FT4222_PLATFORM
1315- MPSSE_PLATFORM
1316- RP2040_PLATFORM
1317These may only be set by one of the platform target definitions, and should not be set manually by the user.
1318
1319*/
1320
1321#if defined(ESD_SIMULATION) || defined(EVE_PLATFORM_BT8XXEMU) /* ESD_SIMULATION overrides any other platform specifications */
1322#define BT8XXEMU_PLATFORM
1323#define EVE_HOST EVE_HOST_BT8XXEMU
1324
1325#elif defined(__FT900__) || defined(MM900EV1A) || defined(MM900EV1B) || defined(MM900EV2A) || defined(MM900EV3A) || defined(MM900EV_LITE)
1326#ifndef FT900_PLATFORM
1327#define FT900_PLATFORM
1328#endif // FT900_PLATFORM
1329
1330#elif defined(__FT930__) || defined(MM930MINI) || defined(MM930LITE) || defined(MM932LC)
1331#ifndef FT93X_PLATFORM
1332#define FT93X_PLATFORM
1333#endif // FT93X_PLATFORM
1334
1335#elif defined(EVE_PLATFORM_FT4222)
1336#define FT4222_PLATFORM
1337
1338#elif defined(EVE_PLATFORM_MPSSE)
1339#define MPSSE_PLATFORM
1340
1341#elif defined(EVE_PLATFORM_RP2040) || defined(EVE_PLATFORM_MM2040EV)
1342#define RP2040_PLATFORM
1343
1344#endif
1345
1346#if defined(FT4222_PLATFORM)
1347#define MSVC_PLATFORM
1348#define EVE_HOST EVE_HOST_FT4222
1349#endif
1350
1351#if defined(MPSSE_PLATFORM)
1352#define MSVC_PLATFORM
1353#define EVE_HOST EVE_HOST_MPSSE
1354#endif
1355
1356#if defined(FT900_PLATFORM) || defined(FT93X_PLATFORM)
1357#define FT9XX_PLATFORM
1358#define EMBEDDED_PLATFORM
1359#define EVE_HOST EVE_HOST_EMBEDDED
1360#endif
1361
1362#if defined(RP2040_PLATFORM)
1363#define EMBEDDED_PLATFORM
1364#define EVE_HOST EVE_HOST_EMBEDDED
1365#endif
1366
1367#define EVE_CONFIG__STR(x) #x
1368#define EVE_CONFIG_STR(x) EVE_CONFIG__STR(x)
1369
1373
1374#if defined(FT9XX_PLATFORM) \
1375 || defined(FT4222_PLATFORM) \
1376 || defined(MPSSE_PLATFORM) \
1377 || defined(BT8XXEMU_PLATFORM) \
1378 || defined(RP2040_PLATFORM)
1379#define EVE_PLATFORM_AVAILABLE
1380#endif
1381
1382#if defined(EVE_MULTI_PLATFORM_TARGET) && defined(EVE_PLATFORM_AVAILABLE)
1383#pragma message(__FILE__ "(" EVE_CONFIG_STR(__LINE__) "): warning PLATFORM: " \
1384 "Multi platform incorrectly overridden by defaults")
1385#endif
1386
1387#if !defined(EVE_SUPPORT_CHIPID)
1388#define EVE_MULTI_GRAPHICS_TARGET
1389#endif
1390
1391#if defined(EVE_MULTI_PLATFORM_TARGET) || defined(EVE_MULTI_GRAPHICS_TARGET)
1392#define EVE_MULTI_TARGET
1393#endif
1394
1398
1399// Under multi target, the build should create a dynamic library
1400// Multi target is used by EVE Screen Editor for uploading to a device
1401#if defined(EVE_MULTI_TARGET) && defined(_WIN32)
1402#ifdef EVE_HAL_EXPORT
1403#undef EVE_HAL_EXPORT
1404#define EVE_HAL_EXPORT _declspec(dllexport)
1405#else
1406#define EVE_HAL_EXPORT _declspec(dllimport)
1407#endif
1408#else
1409#ifndef EVE_HAL_EXPORT
1410#define EVE_HAL_EXPORT
1411#endif
1412#endif
1413
1414// Under multi target, enable all desktop functionality.
1415// None should have been defined previously.
1416#ifdef EVE_MULTI_PLATFORM_TARGET
1417#define FT4222_PLATFORM
1418#define MPSSE_PLATFORM
1419#define BT8XXEMU_PLATFORM
1420#define EVE_HOST phost->Host
1421#endif
1422#ifdef EVE_MULTI_GRAPHICS_TARGET
1423#define EVE_FLASH_AVAILABLE
1424#define EVE_SUPPORT_HSF
1425#define EVE_SUPPORT_FLASH
1426#define EVE_SUPPORT_UNICODE
1427#define EVE_SUPPORT_ASTC
1428#define EVE_SUPPORT_PNG
1429#define EVE_SUPPORT_VIDEO
1430#define EVE_SUPPORT_CMDB
1431#define EVE_SUPPORT_CAPACITIVE
1432#define EVE_SUPPORT_RESISTIVE
1433#define EVE_SUPPORT_CHIPID EVE_BT818
1434#define EVE_SUPPORT_GEN EVE4
1435#define RESISTANCE_THRESHOLD (1800)
1436#define EVE_CHIPID phost->ChipId
1437#define EVE_GEN EVE_gen(EVE_CHIPID)
1438#else
1439#define EVE_CHIPID EVE_SUPPORT_CHIPID
1440#define EVE_GEN EVE_SUPPORT_GEN
1441#endif
1442
1446
1452#if (EVE_SUPPORT_CHIPID >= EVE_BT817)
1453#define EVE_SUPPORT_HSF
1454#endif
1455#if (EVE_SUPPORT_CHIPID >= EVE_BT815)
1456#define EVE_SUPPORT_FLASH
1457#define EVE_SUPPORT_UNICODE
1458#define EVE_SUPPORT_ASTC
1459#endif
1460#if (EVE_SUPPORT_CHIPID >= EVE_FT810)
1461#define EVE_SUPPORT_PNG
1462#define EVE_SUPPORT_VIDEO
1463#define EVE_SUPPORT_CMDB
1464#define EVE_SUPPORT_MEDIAFIFO
1465#if !(EVE_SUPPORT_CHIPID >= EVE_BT880 && EVE_SUPPORT_CHIPID <= EVE_BT883)
1466#define EVE_SUPPORT_LARGEFONT
1467#endif
1468#endif
1469#ifndef EVE_MULTI_GRAPHICS_TARGET
1470#if ((EVE_SUPPORT_CHIPID & 0x01) == 0x01)
1471#define EVE_SUPPORT_CAPACITIVE
1472#else
1473#define EVE_SUPPORT_RESISTIVE
1474#endif
1475#endif
1480
1481// Other options
1482#define EVE_DL_OPTIMIZE 1
1483#define EVE_DL_CACHE_SCISSOR 1
1484#define EVE_DL_END_PRIMITIVE 0
1485#define EVE_DL_STATE_STACK_SIZE 4
1486#define EVE_DL_STATE_STACK_MASK 3
1487
1488#define EVE_CMD_HOOKS 0
1493
1494#if defined(FT900_PLATFORM) || defined(FT93X_PLATFORM)
1495#define eve_progmem __flash__ const
1496#define eve_progmem_const __flash__ const
1497#else
1498#define eve_progmem
1499#define eve_progmem_const const
1500#endif
1501
1505
1506#ifndef EVE_TCHAR_DEFINED
1507#define EVE_TCHAR_DEFINED
1508#ifdef _WIN32
1509typedef wchar_t eve_tchar_t;
1510#else
1511typedef char eve_tchar_t;
1512#endif
1513#endif
1514
1515#ifndef _MSC_VER
1516/* strcpy_s is not available in GCC */
1517#define strcpy_s(dst, sz, src) strcpy(dst, src)
1518#endif
1519
1520#ifdef _MSC_VER
1521#define inline __inline
1522#endif
1523
1524#if !defined(NDEBUG) && !defined(_DEBUG)
1525#define _DEBUG 1
1526#endif
1527
1528#if defined(__GNUC__)
1529#define DO_PRAGMA_(x) _Pragma(#x)
1530#define eve_pragma_warning(msg) DO_PRAGMA_("GCC warning \"" msg "\"")
1531#elif defined(_MSC_VER)
1532#define eve_pragma_warning(msg) __pragma(message(__FILE__ "(" EVE_CONFIG_STR(__LINE__) "): warning EVE_Hal: " msg))
1533#else
1534#define eve_pragma_warning(msg)
1535#endif
1536
1537#if defined(__GNUC__)
1538#define eve_pragma_error(msg) _Pragma("GCC error \"" msg "\"")
1539#elif defined(_MSC_VER)
1540#define eve_pragma_error(msg) __pragma(message(__FILE__ "(" EVE_CONFIG_STR(__LINE__) "): error EVE_Hal: " msg))
1541#else
1542#define eve_pragma_error(msg)
1543#endif
1544
1548
1549/* Set implementation options */
1550#if defined(FT4222_PLATFORM) || defined(MPSSE_PLATFORM)
1551#define EVE_BUFFER_WRITES
1552#endif
1553
1554/* Disable unsupported options */
1555#if defined(ENABLE_ILI9488_HVGA_PORTRAIT) && !defined(FT9XX_PLATFORM) && !defined(RP2040_PLATFORM)
1556#undef ENABLE_ILI9488_HVGA_PORTRAIT
1557#endif
1558#if defined(ENABLE_KD2401_HVGA_PORTRAIT) && !defined(FT9XX_PLATFORM) && !defined(RP2040_PLATFORM)
1559#undef ENABLE_KD2401_HVGA_PORTRAIT
1560#endif
1561
1562/* Enable FatFS by default on supported platforms */
1563#if defined(FT9XX_PLATFORM) || defined(RP2040_PLATFORM)
1564#ifndef EVE_ENABLE_FATFS
1565#define EVE_ENABLE_FATFS 1
1566#endif
1567#endif
1568
1569#if defined(ESD_SIMULATION)
1570#ifdef EVE_ENABLE_FATFS
1571#undef EVE_ENABLE_FATFS
1572#endif
1573#endif
1574
1575#ifndef EVE_ENABLE_FATFS
1576#define EVE_ENABLE_FATFS 0
1577#endif
1578
1579/* Remove unsupported options */
1580#ifdef RP2040_PLATFORM
1581#ifdef ENABLE_SPI_QUAD
1582#undef ENABLE_SPI_QUAD
1583#endif
1584#ifdef ENABLE_SPI_DUAL
1585#undef ENABLE_SPI_DUAL
1586#endif
1587#endif
1588
1592
1594#if defined(PANL_APPLET) && defined(EVE_MULTI_TARGET)
1595#pragma message(__FILE__ "(" EVE_CONFIG_STR(__LINE__) "): error PANL_APPLET: " \
1596 "Cannot target PANL_APPLET with EVE_MULTI_TARGET")
1597#endif
1598#if !defined(EVE_SUPPORT_CHIPID) && !defined(EVE_MULTI_GRAPHICS_TARGET)
1599#pragma message(__FILE__ "(" EVE_CONFIG_STR(__LINE__) "): error EVE_SUPPORT_CHIPID: " \
1600 "No EVE device model has been selected")
1601#endif
1602#if !defined(EVE_DISPLAY_AVAILABLE) && !defined(EVE_MULTI_GRAPHICS_TARGET)
1603#pragma message(__FILE__ "(" EVE_CONFIG_STR(__LINE__) "): error EVE_DISPLAY_AVAILABLE: " \
1604 "No display model has been selected")
1605#endif
1606#if !defined(EVE_SUPPORT_FLASH) && defined(EVE_FLASH_AVAILABLE)
1607#pragma message(__FILE__ "(" EVE_CONFIG_STR(__LINE__) "): warning EVE_FLASH_AVAILABLE: " \
1608 "Cannot enable flash on EVE model which doesn't support flash")
1609#undef EVE_FLASH_AVAILABLE
1610#endif
1611#ifndef EVE_MULTI_PLATFORM_TARGET
1612#if ((defined(FT9XX_PLATFORM) ? 1 : 0) \
1613 + (defined(FT4222_PLATFORM) ? 1 : 0) \
1614 + (defined(MPSSE_PLATFORM) ? 1 : 0) \
1615 + (defined(BT8XXEMU_PLATFORM) ? 1 : 0) \
1616 + (defined(RP2040_PLATFORM) ? 1 : 0)) \
1617 > 1
1618#pragma message(__FILE__ "(" EVE_CONFIG_STR(__LINE__) "): warning PLATFORM: " \
1619 "More than one platform has been selected")
1620#endif
1621#endif
1622#if !defined(EVE_PLATFORM_AVAILABLE) && !defined(EVE_MULTI_PLATFORM_TARGET)
1623#pragma message(__FILE__ "(" EVE_CONFIG_STR(__LINE__) "): warning PLATFORM: " \
1624 "No platform was selected")
1625#endif
1626
1627#endif /* EVE_CONFIG__H */
1628
1629/* end of file */
static uint32_t a
Definition Common.c:36
static uint32_t b
Definition Common.c:37
#define EVE_TOUCH_FOCAL
#define ESD_TARGET_PLATFORM(name,...)
Definition EVE_Config.h:50
eve_progmem uint8_t eve_prog_uint8_t
eve_progmem int8_t eve_prog_int8_t
char eve_tchar_t
#define eve_progmem
#define ESD_TARGET_FLASH(name,...)
Definition EVE_Config.h:51
eve_progmem uint16_t eve_prog_uint16_t
#define ESD_TARGET_TOUCH(name,...)
Definition EVE_Config.h:52
#define ESD_TARGET_GRAPHICS(name,...)
Definition EVE_Config.h:48
#define EVE_FLASH_MX25L128
#define ESD_TARGET_DISPLAY(name,...)
Definition EVE_Config.h:49
Eve_Hal framework APIs.
unsigned short uint16_t
unsigned char uint8_t
signed char int8_t