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_CoCmd.h
Go to the documentation of this file.
1
32#ifndef EVE_CO_CMD__H
33#define EVE_CO_CMD__H
34
35#include "EVE_HalDefs.h"
36#include "EVE_GpuDefs.h"
37
38/*
39Commands are organized as follows:
40 - System commands
41 - I/O commands
42 - Render state commands
43 - Widget rendering commands
44 - Complex widget commands
45 */
46
47#ifndef ESD_FUNCTION
48#define ESD_FUNCTION(name, ...)
49#endif
50#ifndef ESD_RENDER
51#define ESD_RENDER(name, ...)
52#endif
53#ifndef ESD_PARAMETER
54#define ESD_PARAMETER(name, ...)
55#endif
56
58#define EVE_COCMD_UNSUPPORTED(cmd, res) eve_pragma_warning("Coprocessor command " #cmd " is not supported on this platform")(res)
59
60/**********************************************************************
61***********************************************************************
62**********************************************************************/
63
75 uint32_t d0, uint16_t w1, uint16_t w2);
77 uint32_t d0, uint16_t w1, uint16_t w2, uint16_t w3);
79 uint32_t d0, uint32_t d1,
80 uint16_t w2, uint16_t w3, uint16_t w4, uint16_t w5);
82 uint16_t w0, uint16_t w1, uint32_t d2, uint32_t d3);
84 uint16_t w0, uint16_t w1, uint32_t d2,
85 uint16_t w3, uint16_t w4, uint32_t d5);
87 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3,
88 uint32_t d4, uint16_t w5);
90 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3,
91 uint32_t d4, uint16_t w5, uint16_t w6);
93 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3);
95 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3, uint16_t w4);
97 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3, uint32_t d4);
99 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3,
100 uint16_t w4, uint16_t w5, uint16_t w6);
102 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3,
103 uint16_t w4, uint16_t w5, uint16_t w6, uint16_t w7);
105 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3,
106 uint16_t w4, uint16_t w5, const char *s);
108 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3,
109 uint16_t w4, uint16_t w5, const char *s, uint32_t len);
111
117static inline void EVE_CoCmd_dl(EVE_HalContext *phost, uint32_t dl)
118{
119 EVE_CoCmd_d(phost, dl);
120}
121
122#if defined(_DEBUG) && defined(EVE_MULTI_GRAPHICS_TARGET)
123EVE_HAL_EXPORT void EVE_CoCmd_debugUnsupported(const char *cmd, uint32_t chipId);
124#define EVE_MULTI_TARGET_CHECK(cmd, condition) \
125 if (!(condition)) \
126 { \
127 EVE_CoCmd_debugUnsupported(#cmd, EVE_CHIPID); \
128 return; \
129 }
130#define EVE_MULTI_TARGET_CHECK_RETURN(cmd, condition, res) \
131 if (!(condition)) \
132 { \
133 EVE_CoCmd_debugUnsupported(#cmd, EVE_CHIPID); \
134 return res; \
135 }
136#else
137#define EVE_MULTI_TARGET_CHECK(cmd, condition)
138#define EVE_MULTI_TARGET_CHECK_RETURN(cmd, condition, res)
139#endif
140
143
144#if (EVE_SUPPORT_CHIPID >= EVE_FT810)
145#define EVE_CO_SCRATCH_HANDLE (EVE_CHIPID >= EVE_FT810 ? phost->CoScratchHandle : 15)
146#else
147#define EVE_CO_SCRATCH_HANDLE (15)
148#endif
149
150/**********************************************************************
151***********************************************************************
152**********************************************************************/
153
159static inline void EVE_CoCmd_dlStart(EVE_HalContext *phost)
160{
161 EVE_CoCmd_d(phost, CMD_DLSTART);
163}
164
170static inline void EVE_CoCmd_swap(EVE_HalContext *phost)
171{
172 EVE_CoCmd_d(phost, CMD_SWAP);
173}
174
175ESD_FUNCTION(EVE_CoCmd_interrupt, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
176ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
177ESD_PARAMETER(ms, Type = int32_t, Default = 0)
184static inline void EVE_CoCmd_interrupt(EVE_HalContext *phost, uint32_t ms)
185{
186 EVE_CoCmd_dd(phost, CMD_INTERRUPT, ms);
187}
188
194static inline void EVE_CoCmd_coldStart(EVE_HalContext *phost)
195{
198}
199
207
215
216#if (EVE_SUPPORT_CHIPID >= EVE_FT810)
217
218ESD_FUNCTION(EVE_CoCmd_sync, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
219ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
225static inline void EVE_CoCmd_sync(EVE_HalContext *phost)
226{
228 EVE_CoCmd_d(phost, CMD_SYNC);
229}
230
231#else
232
233#define EVE_CoCmd_sync(phost) EVE_COCMD_UNSUPPORTED(CMD_SYNC, false)
234
235#endif
236
237#if (EVE_SUPPORT_CHIPID >= EVE_BT815)
238
249
255static inline void EVE_CoCmd_nop(EVE_HalContext *phost)
256{
258 EVE_CoCmd_d(phost, CMD_NOP);
259}
260
261#else
262
263#define EVE_CoCmd_clearCache(phost) EVE_COCMD_UNSUPPORTED(CMD_CLEARCACHE, false)
264#define EVE_CoCmd_nop(phost) EVE_COCMD_UNSUPPORTED(CMD_NOP, false)
265
266#endif
267
268#if (EVE_SUPPORT_CHIPID >= EVE_BT817)
275static inline void EVE_CoCmd_hsf(EVE_HalContext *phost, uint32_t hsf)
276{
278 EVE_CoCmd_dd(phost, CMD_HSF, hsf);
279}
280
287static inline void EVE_CoCmd_apiLevel(EVE_HalContext *phost, uint32_t level)
288{
290 EVE_CoCmd_dd(phost, CMD_APILEVEL, level);
291}
292
299static inline void EVE_CoCmd_wait(EVE_HalContext *phost, uint32_t us)
300{
302 EVE_CoCmd_dd(phost, CMD_WAIT, us);
303}
304
305static inline void EVE_CoCmd_return(EVE_HalContext *phost)
306{
308 EVE_CoCmd_d(phost, CMD_RETURN);
309}
310
317static inline void EVE_CoCmd_callList(EVE_HalContext *phost, uint32_t a)
318{
320 EVE_CoCmd_dd(phost, CMD_CALLLIST, a);
321}
322
329static inline void EVE_CoCmd_newList(EVE_HalContext *phost, uint32_t a)
330{
332 EVE_CoCmd_dd(phost, CMD_NEWLIST, a);
333}
334
340static inline void EVE_CoCmd_endList(EVE_HalContext *phost)
341{
343 EVE_CoCmd_d(phost, CMD_ENDLIST);
344}
345
348
349#else
350
351#define EVE_CoCmd_hsf(phost, hsf) EVE_COCMD_UNSUPPORTED(CMD_HSF, false)
352#define EVE_CoCmd_apiLevel(phost, level) EVE_COCMD_UNSUPPORTED(CMD_APILEVEL, false)
353#define EVE_CoCmd_wait(phost, us) EVE_COCMD_UNSUPPORTED(CMD_WAIT, false)
354#define EVE_CoCmd_return(phost) EVE_COCMD_UNSUPPORTED(CMD_RETURN, false)
355#define EVE_CoCmd_callList(phost, a) EVE_COCMD_UNSUPPORTED(CMD_CALLLIST, false)
356#define EVE_CoCmd_newList(phost, a) EVE_COCMD_UNSUPPORTED(CMD_NEWLIST, false)
357#define EVE_CoCmd_endList(phost) EVE_COCMD_UNSUPPORTED(CMD_ENDLIST, false)
358#define EVE_CoCmd_pclkFreq(phost, ftarget, rounding) EVE_COCMD_UNSUPPORTED(CMD_PCLKFREQ, 0)
359
360#endif
361
362/**********************************************************************
363***********************************************************************
364**********************************************************************/
365
376
386
398static inline void EVE_CoCmd_memWrite(EVE_HalContext *phost, uint32_t ptr, uint32_t num)
399{
400 EVE_CoCmd_ddd(phost, CMD_MEMWRITE, ptr, num);
401}
402
413static inline void EVE_CoCmd_memWrite32(EVE_HalContext *phost, uint32_t ptr, uint32_t value)
414{
415 EVE_CoCmd_dddd(phost, CMD_MEMWRITE, ptr, 4, value);
416}
417
418ESD_FUNCTION(EVE_CoCmd_memSet, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
419ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
420ESD_PARAMETER(ptr, Type = uint32_t, Default = 0) // MEMORY_ADDRESS
421ESD_PARAMETER(value, Type = uint32_t, Default = 0)
422ESD_PARAMETER(num, Type = uint32_t, Default = 0) // MEMORY_ADDRESS
431static inline void EVE_CoCmd_memSet(EVE_HalContext *phost, uint32_t ptr, uint32_t value, uint32_t num)
432{
433 EVE_CoCmd_dddd(phost, CMD_MEMSET, ptr, value, num);
434}
435
436ESD_FUNCTION(EVE_CoCmd_memZero, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
437ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
438ESD_PARAMETER(ptr, Type = uint32_t, Default = 0) // MEMORY_ADDRESS
439ESD_PARAMETER(num, Type = uint32_t, Default = 0) // MEMORY_ADDRESS
447static inline void EVE_CoCmd_memZero(EVE_HalContext *phost, uint32_t ptr, uint32_t num)
448{
449 EVE_CoCmd_ddd(phost, CMD_MEMZERO, ptr, num);
450}
451
452ESD_FUNCTION(EVE_CoCmd_memCpy, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
453ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
454ESD_PARAMETER(dest, Type = uint32_t, Default = 0) // MEMORY_ADDRESS
455ESD_PARAMETER(src, Type = uint32_t, Default = 0) // MEMORY_ADDRESS
456ESD_PARAMETER(num, Type = uint32_t, Default = 0) // MEMORY_ADDRESS
465static inline void EVE_CoCmd_memCpy(EVE_HalContext *phost, uint32_t dest, uint32_t src, uint32_t num)
466{
467 EVE_CoCmd_dddd(phost, CMD_MEMCPY, dest, src, num);
468}
469
470ESD_FUNCTION(EVE_CoCmd_append, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
471ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
472ESD_PARAMETER(ptr, Type = uint32_t, Default = 0) // MEMORY_ADDRESS
473ESD_PARAMETER(num, Type = uint32_t, Default = 0, Min = 0, Max = 2048)
481static inline void EVE_CoCmd_append(EVE_HalContext *phost, uint32_t ptr, uint32_t num)
482{
483 EVE_CoCmd_ddd(phost, CMD_APPEND, ptr, num);
484}
485
492static inline void EVE_CoCmd_snapshot(EVE_HalContext *phost, uint32_t ptr)
493{
494 EVE_CoCmd_dd(phost, CMD_SNAPSHOT, ptr);
495}
496
503static inline void EVE_CoCmd_inflate(EVE_HalContext *phost, uint32_t ptr)
504{
505 EVE_CoCmd_dd(phost, CMD_INFLATE, ptr);
506}
507
518
526
534static inline void EVE_CoCmd_loadImage(EVE_HalContext *phost, uint32_t ptr, uint32_t options)
535{
536 EVE_CoCmd_ddd(phost, CMD_LOADIMAGE, ptr, options);
537}
538
550
561
562#if (EVE_SUPPORT_CHIPID >= EVE_FT810)
563
575static inline void EVE_CoCmd_snapshot2(EVE_HalContext *phost, uint32_t fmt, uint32_t ptr, int16_t x, int16_t y, int16_t w, int16_t h)
576{
578 EVE_CoCmd_dddwwww(phost, CMD_SNAPSHOT2, fmt, ptr, x, y, w, h);
579}
580
588static inline void EVE_CoCmd_mediaFifo(EVE_HalContext *phost, uint32_t ptr, uint32_t size)
589{
591 EVE_CoCmd_ddd(phost, CMD_MEDIAFIFO, ptr, size);
592}
593
604
612static inline void EVE_CoCmd_videoFrame(EVE_HalContext *phost, uint32_t dst, uint32_t ptr)
613{
616 EVE_CoCmd_dddd(phost, CMD_MEMWRITE, 3182934, 1, OPT_NODL); // WORKAROUND CMD_VIDEOFRAME
617 else if (EVE_CHIPID == EVE_BT817 || EVE_CHIPID == EVE_BT818)
618 EVE_CoCmd_dddd(phost, CMD_MEMWRITE, 3182920, 1, OPT_NODL); // WORKAROUND CMD_VIDEOFRAME
619 EVE_CoCmd_ddd(phost, CMD_VIDEOFRAME, dst, ptr);
620}
621
622#else
623
624#define EVE_CoCmd_snapshot2(phost, fmt, ptr, x, y, w, h) EVE_COCMD_UNSUPPORTED(CMD_SNAPSHOT2, false)
625#define EVE_CoCmd_mediaFifo(phost, ptr, size) EVE_COCMD_UNSUPPORTED(CMD_MEDIAFIFO, false)
626#define EVE_CoCmd_videoStart(phost) EVE_COCMD_UNSUPPORTED(CMD_VIDEOSTART, false)
627#define EVE_CoCmd_videoFrame(phost, dst, ptr) EVE_COCMD_UNSUPPORTED(CMD_VIDEOFRAME, false)
628
629#endif
630
631#define FLASH_ERROR_NOTATTACHED 0xE001
632#define FLASH_ERROR_HEADERMISSING 0xE002
633#define FLASH_ERROR_HEADERCRCFAILED 0xE003
634#define FLASH_ERROR_FIRMWAREMISMATCH 0xE004
635#define FLASH_ERROR_FULLSPEEDFAILED 0xE005
636
637#if (EVE_SUPPORT_CHIPID >= EVE_BT815) && defined(EVE_FLASH_AVAILABLE)
638
649
657
670
679static inline void EVE_CoCmd_flashRead(EVE_HalContext *phost, uint32_t dest, uint32_t src, uint32_t num)
680{
682 EVE_CoCmd_dddd(phost, CMD_FLASHREAD, dest, src, num);
683}
684
695
704static inline void EVE_CoCmd_flashUpdate(EVE_HalContext *phost, uint32_t dest, uint32_t src, uint32_t num)
705{
707 EVE_CoCmd_dddd(phost, CMD_FLASHUPDATE, dest, src, num);
708}
709
720
728
738
749
761
774
786
794static inline void EVE_CoCmd_appendF(EVE_HalContext *phost, uint32_t ptr, uint32_t num)
795{
797 EVE_CoCmd_ddd(phost, CMD_APPENDF, ptr, num);
798}
799
810
821
831
832#else
833
834#define EVE_CoCmd_flashErase(phost) EVE_COCMD_UNSUPPORTED(CMD_FLASHERASE, false)
835#define EVE_CoCmd_flashErase_flush(phost) EVE_COCMD_UNSUPPORTED(CMD_FLASHERASE, false)
836#define EVE_CoCmd_flashWrite(phost, ptr, num) EVE_COCMD_UNSUPPORTED(CMD_FLASHWRITE, false)
837#define EVE_CoCmd_flashRead(phost, dest, src, num) EVE_COCMD_UNSUPPORTED(CMD_FLASHREAD, false)
838#define EVE_CoCmd_flashRead_flush(phost, dest, src, num) EVE_COCMD_UNSUPPORTED(CMD_FLASHREAD, false)
839#define EVE_CoCmd_flashUpdate(phost, dest, src, num) EVE_COCMD_UNSUPPORTED(CMD_FLASHUPDATE, false)
840#define EVE_CoCmd_flashDetach(phost) EVE_COCMD_UNSUPPORTED(CMD_FLASHDETACH, false)
841#define EVE_CoCmd_flashAttach(phost) EVE_COCMD_UNSUPPORTED(CMD_FLASHATTACH, 0)
842#define EVE_CoCmd_flashFast(phost, result) EVE_COCMD_UNSUPPORTED(CMD_FLASHFAST, 0)
843#define EVE_CoCmd_flashSpiDesel(phost) EVE_COCMD_UNSUPPORTED(CMD_FLASHSPIDESEL, false)
844#define EVE_CoCmd_flashSpiTx(phost, num) EVE_COCMD_UNSUPPORTED(CMD_FLASHSPITX, false)
845#define EVE_CoCmd_flashSpiRx(phost, ptr, num) EVE_COCMD_UNSUPPORTED(CMD_FLASHSPIRX, false)
846#define EVE_CoCmd_flashSource(phost, ptr) EVE_COCMD_UNSUPPORTED(CMD_FLASHSOURCE, false)
847#define EVE_CoCmd_appendF(phost, ptr, num) EVE_COCMD_UNSUPPORTED(CMD_APPENDF, false)
848#define EVE_CoCmd_videoStartF(phost) EVE_COCMD_UNSUPPORTED(CMD_VIDEOSTARTF, false)
849#define EVE_CoCmd_loadImage_flash(phost, dst, src, format) EVE_COCMD_UNSUPPORTED(CMD_FLASHSOURCE, false)
850#define EVE_CoCmd_inflate_flash(phost, dst, src, format) EVE_COCMD_UNSUPPORTED(CMD_FLASHSOURCE, false)
851
852#endif
853
854#if (EVE_SUPPORT_CHIPID >= EVE_BT815)
855
863static inline void EVE_CoCmd_inflate2(EVE_HalContext *phost, uint32_t ptr, uint32_t options)
864{
866 EVE_CoCmd_ddd(phost, CMD_INFLATE2, ptr, options);
867}
868
869#else
870
871#define EVE_CoCmd_inflate2(phost, ptr, options) EVE_COCMD_UNSUPPORTED(CMD_INFLATE2, false)
872
873#endif
874
875#if (EVE_SUPPORT_CHIPID >= EVE_BT817)
876
888EVE_HAL_EXPORT bool EVE_CoCmd_getImage(EVE_HalContext *phost, uint32_t *source, uint32_t *fmt, uint32_t *w, uint32_t *h, uint32_t *palette);
889
898static inline void EVE_CoCmd_fontCache(EVE_HalContext *phost, uint32_t font, int32_t ptr, uint32_t num)
899{
901 EVE_CoCmd_dddd(phost, CMD_FONTCACHE, font, ptr, num);
902}
903
913
914#else
915
916#define EVE_CoCmd_getImage(phost, source, fmt, w, h, palette) EVE_COCMD_UNSUPPORTED(CMD_GETIMAGE, false)
917#define EVE_CoCmd_fontCache(phost, font, ptr, num) EVE_COCMD_UNSUPPORTED(CMD_FONTCACHE, false)
918#define EVE_CoCmd_fontCacheQuery(phost, total, used) EVE_COCMD_UNSUPPORTED(CMD_FONTCACHEQUERY, false)
919
920#endif
921
922/**********************************************************************
923***********************************************************************
924**********************************************************************/
925
926ESD_FUNCTION(EVE_CoCmd_bgColor, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
927ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
928ESD_PARAMETER(c, Type = esd_rgb32_t, Default = 0) // COLOR
935static inline void EVE_CoCmd_bgColor(EVE_HalContext *phost, uint32_t c)
936{
937#if EVE_DL_OPTIMIZE
938 if (phost->CoBgColor != c)
939 {
940#endif
941 EVE_CoCmd_dd(phost, CMD_BGCOLOR, c);
942#if EVE_DL_OPTIMIZE
943 phost->CoBgColor = c;
944 }
945#endif
946}
947
948ESD_FUNCTION(EVE_CoCmd_fgColor, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
949ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
950ESD_PARAMETER(c, Type = esd_rgb32_t, Default = 0) // COLOR
957static inline void EVE_CoCmd_fgColor(EVE_HalContext *phost, uint32_t c)
958{
959#if EVE_DL_OPTIMIZE
960 if (phost->CoFgColor != c)
961 {
962#endif
963 EVE_CoCmd_dd(phost, CMD_FGCOLOR, c);
964#if EVE_DL_OPTIMIZE
965 phost->CoFgColor = c;
966 }
967#endif
968}
969
990
991ESD_FUNCTION(EVE_CoCmd_loadIdentity, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
992ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
998static inline void EVE_CoCmd_loadIdentity(EVE_HalContext *phost)
999{
1001
1002#if EVE_DL_OPTIMIZE
1003 phost->CoBitmapTransform = false; /* Identity */
1004#endif
1005}
1006
1007ESD_FUNCTION(EVE_CoCmd_translate, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
1008ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1009ESD_PARAMETER(tx, Type = int32_t, Default = 0)
1010ESD_PARAMETER(ty, Type = int32_t, Default = 0)
1018static inline void EVE_CoCmd_translate(EVE_HalContext *phost, int32_t tx, int32_t ty)
1019{
1020 EVE_CoCmd_ddd(phost, CMD_TRANSLATE, tx, ty);
1021
1022#if EVE_DL_OPTIMIZE
1023 phost->CoBitmapTransform = true;
1024#endif
1025}
1026
1027ESD_FUNCTION(EVE_CoCmd_scale, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
1028ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1029ESD_PARAMETER(sx, Type = int32_t, Default = 0)
1030ESD_PARAMETER(sy, Type = int32_t, Default = 0)
1038static inline void EVE_CoCmd_scale(EVE_HalContext *phost, int32_t sx, int32_t sy)
1039{
1040 EVE_CoCmd_ddd(phost, CMD_SCALE, sx, sy);
1041
1042#if EVE_DL_OPTIMIZE
1043 phost->CoBitmapTransform = true;
1044#endif
1045}
1046
1047ESD_FUNCTION(EVE_CoCmd_rotate, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
1048ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1049ESD_PARAMETER(a, Type = int32_t, Default = 0)
1056static inline void EVE_CoCmd_rotate(EVE_HalContext *phost, int32_t a)
1057{
1058 EVE_CoCmd_dd(phost, CMD_ROTATE, a);
1059
1060#if EVE_DL_OPTIMIZE
1061 phost->CoBitmapTransform = true;
1062#endif
1063}
1064
1065ESD_FUNCTION(EVE_CoCmd_setMatrix, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
1066ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1072static inline void EVE_CoCmd_setMatrix(EVE_HalContext *phost)
1073{
1074#if EVE_DL_OPTIMIZE
1075 if (phost->CoBitmapTransform || EVE_DL_STATE.BitmapTransform)
1076 {
1077 /* Setting matrix can be skipped if both are identity, since it's a no-op */
1078#endif
1079 EVE_CoCmd_d(phost, CMD_SETMATRIX);
1080#if EVE_DL_OPTIMIZE
1081 EVE_DL_STATE.BitmapTransform = phost->CoBitmapTransform; /* Coprocessor matrix is now written to the display list */
1082 }
1083#endif
1084}
1085
1093static inline void EVE_CoCmd_setFont(EVE_HalContext *phost, uint32_t font, uint32_t ptr)
1094{
1095 EVE_CoCmd_ddd(phost, CMD_SETFONT, font, ptr);
1096}
1097
1098ESD_FUNCTION(EVE_CoCmd_gradColor, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
1099ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1100ESD_PARAMETER(c, Type = esd_rgb32_t, Default = 0) // COLOR
1108{
1109 EVE_CoCmd_dd(phost, CMD_GRADCOLOR, c);
1110}
1111
1112#if (EVE_SUPPORT_CHIPID >= EVE_FT810)
1113
1114ESD_FUNCTION(EVE_CoCmd_setBase, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
1115ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1116ESD_PARAMETER(base, Type = int32_t, Default = 0)
1123static inline void EVE_CoCmd_setBase(EVE_HalContext *phost, uint32_t base)
1124{
1126 EVE_CoCmd_dd(phost, CMD_SETBASE, base);
1127}
1128
1137static inline void EVE_CoCmd_setFont2(EVE_HalContext *phost, uint32_t font, uint32_t ptr, uint32_t firstchar)
1138{
1140 EVE_CoCmd_dddd(phost, CMD_SETFONT2, font, ptr, firstchar);
1141#if EVE_DL_OPTIMIZE
1142 EVE_DL_STATE.Handle = (uint8_t)font;
1143#endif
1144}
1145
1152static inline void EVE_CoCmd_setScratch(EVE_HalContext *phost, uint32_t handle)
1153{
1155 EVE_CoCmd_dd(phost, CMD_SETSCRATCH, handle);
1156 phost->CoScratchHandle = (uint8_t)handle;
1157}
1158
1166static inline void EVE_CoCmd_romFont(EVE_HalContext *phost, uint32_t font, uint32_t romslot)
1167{
1169 EVE_CoCmd_ddd(phost, CMD_ROMFONT, font, romslot);
1170#if EVE_DL_OPTIMIZE
1171 EVE_DL_STATE.Handle = (uint8_t)font;
1172#endif
1173}
1174
1184static inline void EVE_CoCmd_setBitmap(EVE_HalContext *phost, uint32_t source, uint16_t fmt, uint16_t w, uint16_t h)
1185{
1187 EVE_CoCmd_ddwww(phost, CMD_SETBITMAP, source, fmt, w, h);
1188}
1189
1190#else
1191
1192#define EVE_CoCmd_setBase(phost, base) EVE_COCMD_UNSUPPORTED(CMD_SETBASE, false)
1193#define EVE_CoCmd_setFont2(phost, font, ptr, firstchar) EVE_COCMD_UNSUPPORTED(CMD_SETFONT2, false)
1194#define EVE_CoCmd_setScratch(phost, handle) EVE_COCMD_UNSUPPORTED(CMD_SETSCRATCH, false)
1195#define EVE_CoCmd_romFont(phost, font, romslot) EVE_COCMD_UNSUPPORTED(CMD_ROMFONT, false)
1196#define EVE_CoCmd_setBitmap(phost, source, fmt, w, h) EVE_COCMD_UNSUPPORTED(CMD_SETBITMAP, false)
1197
1198#endif
1199
1200#if (EVE_SUPPORT_CHIPID >= EVE_BT815)
1201
1212{
1214 EVE_CoCmd_ddddd(phost, CMD_ROTATEAROUND, x, y, a, s);
1215
1216#if EVE_DL_OPTIMIZE
1217 phost->CoBitmapTransform = true;
1218#endif
1219}
1220
1231
1243
1244#else
1245
1246#define EVE_CoCmd_rotateAround(phost, x, y, a, s) EVE_COCMD_UNSUPPORTED(CMD_ROTATEAROUND, false)
1247#define EVE_CoCmd_resetFonts(phost) EVE_COCMD_UNSUPPORTED(CMD_RESETFONTS, false)
1248#define EVE_CoCmd_fillWidth(phost, s) EVE_COCMD_UNSUPPORTED(CMD_FILLWIDTH, false)
1249
1250#endif
1251
1252/**********************************************************************
1253***********************************************************************
1254**********************************************************************/
1255
1256ESD_FUNCTION(EVE_CoCmd_gradient, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
1257ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1258ESD_PARAMETER(x0, Type = int16_t, Default = 0) // SCREEN_SIZE
1259ESD_PARAMETER(y0, Type = int16_t, Default = 0) // SCREEN_SIZE
1260ESD_PARAMETER(rgb0, Type = esd_rgb32_t, Default = 0) // COLOR
1261ESD_PARAMETER(x1, Type = int16_t, Default = 0) // SCREEN_SIZE
1262ESD_PARAMETER(y1, Type = int16_t, Default = 0) // SCREEN_SIZE
1263ESD_PARAMETER(rgb1, Type = esd_rgb32_t, Default = 0) // COLOR
1275static inline void EVE_CoCmd_gradient(EVE_HalContext *phost, int16_t x0, int16_t y0, uint32_t rgb0, int16_t x1, int16_t y1, uint32_t rgb1)
1276{
1277 EVE_CoCmd_dwwdwwd(phost, CMD_GRADIENT, x0, y0, rgb0, x1, y1, rgb1);
1278
1279#if (EVE_DL_OPTIMIZE)
1280 phost->DlPrimitive = 0;
1281#endif
1282}
1283
1295EVE_HAL_EXPORT void EVE_CoCmd_text(EVE_HalContext *phost, int16_t x, int16_t y, int16_t font, uint16_t options, const char *s, ...);
1296
1308EVE_HAL_EXPORT void EVE_CoCmd_text_s(EVE_HalContext *phost, int16_t x, int16_t y, int16_t font, uint16_t options, const char *s, uint32_t length);
1309
1310ESD_RENDER(EVE_CoCmd_text_ex, Type = void, Category = _GroupHidden, Include = "Esd_Core.h")
1311ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1312ESD_PARAMETER(x, Type = int16_t, Default = 0) // SCREEN_SIZE
1313ESD_PARAMETER(y, Type = int16_t, Default = 0) // SCREEN_SIZE
1314ESD_PARAMETER(font, Type = int16_t, Default = 21, Min = 0, Max = 31) // BITMAP_HANDLE
1315ESD_PARAMETER(options, Type = Ft_CoPro_Opt, Default = 0)
1316ESD_PARAMETER(bottom, Type = bool, Default = 0)
1317ESD_PARAMETER(baseLine, Type = int16_t, Default = 0)
1318ESD_PARAMETER(capsHeight, Type = int16_t, Default = 0)
1319ESD_PARAMETER(xOffset, Type = int16_t, Default = 0)
1320ESD_PARAMETER(s, Type = const char *, Default = "Text")
1335EVE_HAL_EXPORT void EVE_CoCmd_text_ex(EVE_HalContext *phost, int16_t x, int16_t y, int16_t font, uint16_t options, bool bottom, int16_t baseLine, int16_t capsHeight, int16_t xOffset, const char *s);
1336
1350EVE_HAL_EXPORT void EVE_CoCmd_button(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t h, int16_t font, uint16_t options, const char *s, ...);
1351
1352ESD_RENDER(EVE_CoCmd_keys, Type = void, Category = _GroupHidden, Include = "Esd_Core.h")
1353ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1354ESD_PARAMETER(x, Type = int16_t, Default = 0) // SCREEN_SIZE
1355ESD_PARAMETER(y, Type = int16_t, Default = 0) // SCREEN_SIZE
1356ESD_PARAMETER(width, Type = int16_t, Default = 60) // SCREEN_SIZE
1357ESD_PARAMETER(height, Type = int16_t, Default = 40) // SCREEN_SIZE
1358ESD_PARAMETER(font, Type = int16_t, Default = 21, Min = 0, Max = 31) // BITMAP_HANDLE
1359ESD_PARAMETER(options, Type = Ft_CoPro_Opt, Default = 0)
1360ESD_PARAMETER(s, Type = const char *, Default = "Button")
1373EVE_HAL_EXPORT void EVE_CoCmd_keys(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t h, int16_t font, uint16_t options, const char *s);
1374
1375ESD_RENDER(EVE_CoCmd_progress, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
1376ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1377ESD_PARAMETER(x, Type = int16_t, Default = 0) // SCREEN_SIZE
1378ESD_PARAMETER(y, Type = int16_t, Default = 0) // SCREEN_SIZE
1379ESD_PARAMETER(width, Type = int16_t, Default = 60) // SCREEN_SIZE
1380ESD_PARAMETER(height, Type = int16_t, Default = 40) // SCREEN_SIZE
1381ESD_PARAMETER(options, Type = Ft_CoPro_Opt, Default = 0)
1382ESD_PARAMETER(val, Type = uint16_t, Default = 0)
1383ESD_PARAMETER(range, Type = uint16_t, Default = 0)
1396static inline void EVE_CoCmd_progress(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t h, uint16_t options, uint16_t val, uint16_t range)
1397{
1398 EVE_CoCmd_dwwwwwww(phost, CMD_PROGRESS, x, y, w, h, options, val, range);
1399
1400#if (EVE_DL_OPTIMIZE)
1401 phost->DlPrimitive = 0;
1402#endif
1403}
1404
1405ESD_RENDER(EVE_CoCmd_slider, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
1406ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1407ESD_PARAMETER(x, Type = int16_t, Default = 0) // SCREEN_SIZE
1408ESD_PARAMETER(y, Type = int16_t, Default = 0) // SCREEN_SIZE
1409ESD_PARAMETER(width, Type = int16_t, Default = 60) // SCREEN_SIZE
1410ESD_PARAMETER(height, Type = int16_t, Default = 40) // SCREEN_SIZE
1411ESD_PARAMETER(options, Type = Ft_CoPro_Opt, Default = 0)
1412ESD_PARAMETER(val, Type = uint16_t, Default = 0)
1413ESD_PARAMETER(range, Type = uint16_t, Default = 0)
1426static inline void EVE_CoCmd_slider(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t h, uint16_t options, uint16_t val, uint16_t range)
1427{
1428 EVE_CoCmd_dwwwwwww(phost, CMD_SLIDER, x, y, w, h, options, val, range);
1429
1430#if (EVE_DL_OPTIMIZE)
1431 phost->DlPrimitive = 0;
1432#endif
1433}
1434
1435ESD_RENDER(EVE_CoCmd_scrollbar, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
1436ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1437ESD_PARAMETER(x, Type = int16_t, Default = 0) // SCREEN_SIZE
1438ESD_PARAMETER(y, Type = int16_t, Default = 0) // SCREEN_SIZE
1439ESD_PARAMETER(width, Type = int16_t, Default = 60) // SCREEN_SIZE
1440ESD_PARAMETER(height, Type = int16_t, Default = 40) // SCREEN_SIZE
1441ESD_PARAMETER(options, Type = Ft_CoPro_Opt, Default = 0)
1442ESD_PARAMETER(val, Type = uint16_t, Default = 0)
1443ESD_PARAMETER(size, Type = uint16_t, Default = 0)
1444ESD_PARAMETER(range, Type = uint16_t, Default = 0)
1458static inline void EVE_CoCmd_scrollbar(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t h, uint16_t options, uint16_t val, uint16_t size, uint16_t range)
1459{
1460 EVE_CoCmd_dwwwwwwww(phost, CMD_SCROLLBAR, x, y, w, h, options, val, size, range);
1461
1462#if (EVE_DL_OPTIMIZE)
1463 phost->DlPrimitive = 0;
1464#endif
1465}
1466
1480EVE_HAL_EXPORT void EVE_CoCmd_toggle(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t font, uint16_t options, uint16_t state, const char *s, ...);
1481
1482ESD_RENDER(EVE_CoCmd_gauge, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
1483ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1484ESD_PARAMETER(x, Type = int16_t, Default = 0) // SCREEN_SIZE
1485ESD_PARAMETER(y, Type = int16_t, Default = 0) // SCREEN_SIZE
1486ESD_PARAMETER(r, Type = int16_t, Default = 40) // SCREEN_SIZE
1487ESD_PARAMETER(options, Type = Ft_CoPro_Opt, Default = 0)
1488ESD_PARAMETER(major, Type = uint16_t, Default = 0)
1489ESD_PARAMETER(minor, Type = uint16_t, Default = 0)
1490ESD_PARAMETER(val, Type = uint16_t, Default = 0)
1491ESD_PARAMETER(range, Type = uint16_t, Default = 0)
1505static inline void EVE_CoCmd_gauge(EVE_HalContext *phost, int16_t x, int16_t y, int16_t r, uint16_t options, uint16_t major, uint16_t minor, uint16_t val, uint16_t range)
1506{
1507 EVE_CoCmd_dwwwwwwww(phost, CMD_GAUGE, x, y, r, options, major, minor, val, range);
1508
1509#if (EVE_DL_OPTIMIZE)
1510 phost->DlPrimitive = 0;
1511#endif
1512}
1513
1514ESD_RENDER(EVE_CoCmd_clock, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
1515ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1516ESD_PARAMETER(x, Type = int16_t, Default = 0) // SCREEN_SIZE
1517ESD_PARAMETER(y, Type = int16_t, Default = 0) // SCREEN_SIZE
1518ESD_PARAMETER(r, Type = int16_t, Default = 40) // SCREEN_SIZE
1519ESD_PARAMETER(options, Type = Ft_CoPro_Opt, Default = 0)
1520ESD_PARAMETER(height, Type = uint16_t, Default = 0)
1521ESD_PARAMETER(m, Type = uint16_t, Default = 0)
1522ESD_PARAMETER(s, Type = uint16_t, Default = 0)
1523ESD_PARAMETER(ms, Type = uint16_t, Default = 0)
1537static inline void EVE_CoCmd_clock(EVE_HalContext *phost, int16_t x, int16_t y, int16_t r, uint16_t options, uint16_t h, uint16_t m, uint16_t s, uint16_t ms)
1538{
1539 EVE_CoCmd_dwwwwwwww(phost, CMD_CLOCK, x, y, r, options, h, m, s, ms);
1540
1541#if (EVE_DL_OPTIMIZE)
1542 phost->DlPrimitive = 0;
1543#endif
1544}
1545
1546ESD_RENDER(EVE_CoCmd_dial, Type = void, Category = _GroupHidden, Inline, Include = "Esd_Core.h")
1547ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1548ESD_PARAMETER(x, Type = int16_t, Default = 0) // SCREEN_SIZE
1549ESD_PARAMETER(y, Type = int16_t, Default = 0) // SCREEN_SIZE
1550ESD_PARAMETER(r, Type = int16_t, Default = 40) // SCREEN_SIZE
1551ESD_PARAMETER(options, Type = Ft_CoPro_Opt, Default = 0)
1552ESD_PARAMETER(val, Type = uint16_t, Default = 0)
1563static inline void EVE_CoCmd_dial(EVE_HalContext *phost, int16_t x, int16_t y, int16_t r, uint16_t options, uint16_t val)
1564{
1565 EVE_CoCmd_dwwwww(phost, CMD_DIAL, x, y, r, options, val);
1566
1567#if (EVE_DL_OPTIMIZE)
1568 phost->DlPrimitive = 0;
1569#endif
1570}
1571
1572ESD_RENDER(EVE_CoCmd_number, Type = void, Category = _GroupHidden, Include = "Esd_Core.h")
1573ESD_PARAMETER(phost, Type = EVE_HalContext *, Default = Esd_GetHost, Hidden, Internal, Static) // PHOST
1574ESD_PARAMETER(x, Type = int16_t, Default = 0) // SCREEN_SIZE
1575ESD_PARAMETER(y, Type = int16_t, Default = 0) // SCREEN_SIZE
1576ESD_PARAMETER(font, Type = int16_t, Default = 21, Min = 16, Max = 34) // BITMAP_HANDLE
1577ESD_PARAMETER(options, Type = uint16_t, Default = 256)
1578ESD_PARAMETER(n, Type = int32_t, Default = 0)
1590
1591#if (EVE_SUPPORT_CHIPID >= EVE_BT815)
1592
1604static inline void EVE_CoCmd_gradientA(EVE_HalContext *phost, int16_t x0, int16_t y0, uint32_t argb0, int16_t x1, int16_t y1, uint32_t argb1)
1605{
1607 EVE_CoCmd_dwwdwwd(phost, CMD_GRADIENTA, x0, y0, argb0, x1, y1, argb1);
1608
1609#if (EVE_DL_OPTIMIZE)
1610 phost->DlPrimitive = 0;
1611#endif
1612}
1613
1614#else
1615
1616#define EVE_CoCmd_gradientA(phost, x0, y0, argb0, x1, y1, argb1) EVE_COCMD_UNSUPPORTED(CMD_GRADIENTA, false)
1617
1618#endif
1619
1620/**********************************************************************
1621***********************************************************************
1622**********************************************************************/
1623
1631
1641static inline void EVE_CoCmd_spinner(EVE_HalContext *phost, int16_t x, int16_t y, uint16_t style, uint16_t scale)
1642{
1643 EVE_CoCmd_dwwww(phost, CMD_SPINNER, x, y, style, scale);
1644
1645#if (EVE_DL_OPTIMIZE)
1646 phost->DlPrimitive = 0;
1647#endif
1648}
1649
1655static inline void EVE_CoCmd_stop(EVE_HalContext *phost)
1656{
1657 EVE_CoCmd_d(phost, CMD_STOP);
1658}
1659
1670static inline void EVE_CoCmd_track(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t h, int16_t tag)
1671{
1672 EVE_CoCmd_dwwwww(phost, CMD_TRACK, x, y, w, h, tag);
1673}
1674
1680static inline void EVE_CoCmd_screenSaver(EVE_HalContext *phost)
1681{
1683
1684#if (EVE_DL_OPTIMIZE)
1685 phost->DlPrimitive = 0;
1686#endif
1687}
1688
1700static inline void EVE_CoCmd_sketch(EVE_HalContext *phost, int16_t x, int16_t y, uint16_t w, uint16_t h, uint32_t ptr, uint16_t format)
1701{
1702 EVE_CoCmd_dwwwwdw(phost, CMD_SKETCH, x, y, w, h, ptr, format);
1703
1704#if (EVE_DL_OPTIMIZE)
1705 phost->DlPrimitive = 0;
1706#endif
1707}
1708
1714static inline void EVE_CoCmd_logo(EVE_HalContext *phost)
1715{
1716 EVE_CoCmd_d(phost, CMD_LOGO);
1717
1718#if (EVE_DL_OPTIMIZE)
1719 phost->DlPrimitive = 0;
1720#endif
1721}
1722
1735static inline void EVE_CoCmd_cSketch(EVE_HalContext *phost, int16_t x, int16_t y, uint16_t w, uint16_t h, uint32_t ptr, uint16_t format, uint16_t freq)
1736{
1737#if defined(EVE_MULTI_GRAPHICS_TARGET) || (EVE_SUPPORT_CHIPID == EVE_FT801)
1738 if (EVE_CHIPID == EVE_FT801)
1739 {
1740 EVE_CoCmd_dwwwwdww(phost, CMD_CSKETCH, x, y, w, h, ptr, format, freq);
1741
1742#if (EVE_DL_OPTIMIZE)
1743 phost->DlPrimitive = 0;
1744#endif
1745 }
1746 else
1747#endif
1748 {
1749 /* Simply fall back to regular sketch on non-FT801 platform */
1750 EVE_CoCmd_sketch(phost, x, y, w, h, ptr, format);
1751 }
1752}
1753
1754#if (EVE_SUPPORT_CHIPID >= EVE_FT810)
1755
1762static inline void EVE_CoCmd_playVideo(EVE_HalContext *phost, uint32_t options)
1763{
1765 EVE_CoCmd_dd(phost, CMD_PLAYVIDEO, options);
1766
1767#if (EVE_DL_OPTIMIZE)
1768 phost->DlPrimitive = 0;
1769#endif
1770
1771 if (options & (OPT_FLASH | OPT_MEDIAFIFO))
1772 {
1773 /* WORKAROUND: CMD_PLAYVIDEO completes immediately,
1774 but the command following it does not.
1775 Write a CMD_NOP command to behave as documented */
1776#if (EVE_SUPPORT_CHIPID >= EVE_BT815)
1777 if (EVE_CHIPID >= EVE_BT815)
1778 EVE_CoCmd_nop(phost);
1779 else
1780#endif
1781 EVE_CoCmd_memCpy(phost, 0, 0, 1);
1782 }
1783}
1784
1785#else
1786
1787#define EVE_CoCmd_playVideo(phost, options) EVE_COCMD_UNSUPPORTED(CMD_PLAYVIDEO, false)
1788
1789#endif
1790
1791#if (EVE_SUPPORT_CHIPID >= EVE_BT815)
1792
1803
1810static inline void EVE_CoCmd_animStop(EVE_HalContext *phost, int32_t ch)
1811{
1813 EVE_CoCmd_dd(phost, CMD_ANIMSTOP, ch);
1814}
1815
1824static inline void EVE_CoCmd_animXY(EVE_HalContext *phost, int32_t ch, int16_t x, int16_t y)
1825{
1827 EVE_CoCmd_ddww(phost, CMD_ANIMXY, ch, x, y);
1828}
1829
1836static inline void EVE_CoCmd_animDraw(EVE_HalContext *phost, int32_t ch)
1837{
1839 EVE_CoCmd_dd(phost, CMD_ANIMDRAW, ch);
1840
1841#if (EVE_DL_OPTIMIZE)
1842 phost->DlPrimitive = 0;
1843#endif
1844}
1845
1855static inline void EVE_CoCmd_animFrame(EVE_HalContext *phost, int16_t x, int16_t y, uint32_t aoptr, uint32_t frame)
1856{
1858 EVE_CoCmd_dwwdd(phost, CMD_ANIMFRAME, x, y, aoptr, frame);
1859
1860#if (EVE_DL_OPTIMIZE)
1861 phost->DlPrimitive = 0;
1862#endif
1863}
1864
1865#else
1866
1867#define EVE_CoCmd_animStart(phost, ch, aoptr, loop) EVE_COCMD_UNSUPPORTED(CMD_ANIMSTART, false)
1868#define EVE_CoCmd_animStop(phost, ch) EVE_COCMD_UNSUPPORTED(CMD_ANIMSTOP, false)
1869#define EVE_CoCmd_animXY(phost, ch, x, y) EVE_COCMD_UNSUPPORTED(CMD_ANIMXY, false)
1870#define EVE_CoCmd_animDraw(phost, ch) EVE_COCMD_UNSUPPORTED(CMD_ANIMDRAW, false)
1871#define EVE_CoCmd_animFrame(phost, x, y, aoptr, frame) EVE_COCMD_UNSUPPORTED(CMD_ANIMFRAME, false)
1872
1873#endif
1874
1875#if (EVE_SUPPORT_CHIPID >= EVE_BT817)
1876
1885static inline void EVE_CoCmd_flashProgram(EVE_HalContext *phost, uint32_t dst, uint32_t src, uint32_t num)
1886{
1888 EVE_CoCmd_dddd(phost, CMD_FLASHPROGRAM, dst, src, num);
1889}
1890
1902
1908static inline void EVE_CoCmd_testCard(EVE_HalContext *phost)
1909{
1911 EVE_CoCmd_d(phost, CMD_TESTCARD);
1912
1913#if (EVE_DL_OPTIMIZE)
1914 phost->DlPrimitive = 0;
1915#endif
1916}
1917
1927static inline void EVE_CoCmd_animFrameRam(EVE_HalContext *phost, int16_t x, int16_t y, uint32_t aoptr, uint32_t frame)
1928{
1930 EVE_CoCmd_dwwdd(phost, CMD_ANIMFRAMERAM, x, y, aoptr, frame);
1931
1932#if (EVE_DL_OPTIMIZE)
1933 phost->DlPrimitive = 0;
1934#endif
1935}
1936
1945static inline void EVE_CoCmd_animStartRam(EVE_HalContext *phost, int32_t ch, uint32_t aoptr, uint32_t loop)
1946{
1948 EVE_CoCmd_dddd(phost, CMD_ANIMSTARTRAM, ch, aoptr, loop);
1949}
1950
1958static inline void EVE_CoCmd_runAnim(EVE_HalContext *phost, uint32_t waitmask, uint32_t play)
1959{
1961 EVE_CoCmd_ddd(phost, CMD_RUNANIM, waitmask, play);
1962
1963#if (EVE_DL_OPTIMIZE)
1964 phost->DlPrimitive = 0;
1965#endif
1966}
1967
1968#else
1969
1970#define EVE_CoCmd_calibrateSub(phost, x, y, w, h) EVE_COCMD_UNSUPPORTED(CMD_CALIBRATESUB, 0)
1971#define EVE_CoCmd_testCard(phost) EVE_COCMD_UNSUPPORTED(CMD_TESTCARD, false)
1972#define EVE_CoCmd_animFrameRam(phost, x, y, aoptr, frame) EVE_COCMD_UNSUPPORTED(CMD_ANIMFRAMERAM, false)
1973#define EVE_CoCmd_animStartRam(phost, ch, aoptr, loop) EVE_COCMD_UNSUPPORTED(CMD_ANIMSTARTRAM, false)
1974#define EVE_CoCmd_runAnim(phost, waitmask, play) EVE_COCMD_UNSUPPORTED(CMD_RUNANIM, false)
1975
1976#endif
1977
1978/**********************************************************************
1979***********************************************************************
1980**********************************************************************/
1981
1982#endif /* EVE_CO_CMD__H */
1983
1984/* end of file */
static uint32_t a
Definition Common.c:36
static uint32_t c
Definition Common.c:38
static void EVE_CoCmd_setBitmap(EVE_HalContext *phost, uint32_t source, uint16_t fmt, uint16_t w, uint16_t h)
Send CMD_SETBITMAP.
Definition EVE_CoCmd.h:1184
EVE_HAL_EXPORT void EVE_CoCmd_d(EVE_HalContext *phost, uint32_t cmd)
Definition EVE_CoCmd.c:39
#define EVE_CoCmd_animFrameRam(phost, x, y, aoptr, frame)
Definition EVE_CoCmd.h:1972
EVE_HAL_EXPORT void EVE_CoCmd_dddd(EVE_HalContext *phost, uint32_t cmd, uint32_t d0, uint32_t d1, uint32_t d2)
Definition EVE_CoCmd.c:76
EVE_HAL_EXPORT void EVE_CoCmd_text_s(EVE_HalContext *phost, int16_t x, int16_t y, int16_t font, uint16_t options, const char *s, uint32_t length)
Send CMD_TEXT with length.
static void EVE_CoCmd_flashSpiTx(EVE_HalContext *phost, uint32_t num)
Send CMD_FLASHSPITX. Must follow data.
Definition EVE_CoCmd.h:756
static void EVE_CoCmd_dl(EVE_HalContext *phost, uint32_t dl)
Write a display list instruction. Example: EVE_CoCmd_dl(DISPLAY());.
Definition EVE_CoCmd.h:117
EVE_HAL_EXPORT bool EVE_CoCmd_flashRead_flush(EVE_HalContext *phost, uint32_t dest, uint32_t src, uint32_t num)
Read from Flash to RAM_G.
EVE_HAL_EXPORT bool EVE_CoCmd_inflate_progMem(EVE_HalContext *phost, uint32_t dst, eve_progmem_const uint8_t *src, uint32_t size)
Inflates data from program memory to RAM_G.
static void EVE_CoCmd_scale(EVE_HalContext *phost, int32_t sx, int32_t sy)
Send CMD_SCALE.
Definition EVE_CoCmd.h:1038
EVE_HAL_EXPORT void EVE_CoCmd_setRotate(EVE_HalContext *phost, uint32_t r)
CMD_SETROTATE.
Definition EVE_CoCmd.c:419
static void EVE_CoCmd_logo(EVE_HalContext *phost)
Send CMD_LOGO.
Definition EVE_CoCmd.h:1714
static void EVE_CoCmd_spinner(EVE_HalContext *phost, int16_t x, int16_t y, uint16_t style, uint16_t scale)
Send CMD_SPINNER.
Definition EVE_CoCmd.h:1641
static void EVE_CoCmd_screenSaver(EVE_HalContext *phost)
Send CMD_SCREENSAVER.
Definition EVE_CoCmd.h:1680
EVE_HAL_EXPORT uint32_t EVE_CoCmd_flashAttach(EVE_HalContext *phost)
Attach flash.
static void EVE_CoCmd_memCpy(EVE_HalContext *phost, uint32_t dest, uint32_t src, uint32_t num)
Send CMD_MEMCPY.
Definition EVE_CoCmd.h:465
#define EVE_CoCmd_callList(phost, a)
Definition EVE_CoCmd.h:355
EVE_HAL_EXPORT bool EVE_CoCmd_loadImage_flash(EVE_HalContext *phost, uint32_t dst, uint32_t src, uint32_t *format)
Load image from Flash to RAM_G.
EVE_HAL_EXPORT void EVE_CoCmd_text_ex(EVE_HalContext *phost, int16_t x, int16_t y, int16_t font, uint16_t options, bool bottom, int16_t baseLine, int16_t capsHeight, int16_t xOffset, const char *s)
Send CMD_TEXT.
static void EVE_CoCmd_flashSpiRx(EVE_HalContext *phost, uint32_t ptr, uint32_t num)
Send CMD_FLASHSPIRX.
Definition EVE_CoCmd.h:769
static void EVE_CoCmd_dial(EVE_HalContext *phost, int16_t x, int16_t y, int16_t r, uint16_t options, uint16_t val)
Send CMD_DIAL.
Definition EVE_CoCmd.h:1563
static void EVE_CoCmd_sync(EVE_HalContext *phost)
Send CMD_SYNC.
Definition EVE_CoCmd.h:225
#define EVE_CoCmd_endList(phost)
Definition EVE_CoCmd.h:357
EVE_HAL_EXPORT bool EVE_CoCmd_bitmapTransform(EVE_HalContext *phost, int32_t x0, int32_t y0, int32_t x1, int32_t y1, int32_t x2, int32_t y2, int32_t tx0, int32_t ty0, int32_t tx1, int32_t ty1, int32_t tx2, int32_t ty2, uint16_t *result)
Send CMD_BITMAP_TRANSFORM. Blocking call if a pointer is passed to result
EVE_HAL_EXPORT void EVE_CoCmd_dwwwwwwz_s(EVE_HalContext *phost, uint32_t cmd, uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3, uint16_t w4, uint16_t w5, const char *s, uint32_t len)
Definition EVE_CoCmd.c:359
static void EVE_CoCmd_clearCache(EVE_HalContext *phost)
Send CMD_CLEARCACHE.
Definition EVE_CoCmd.h:244
EVE_HAL_EXPORT void EVE_CoCmd_ddwww(EVE_HalContext *phost, uint32_t cmd, uint32_t d0, uint16_t w1, uint16_t w2, uint16_t w3)
Definition EVE_CoCmd.c:123
static void EVE_CoCmd_flashErase(EVE_HalContext *phost)
Send CMD_FLASHERASE.
Definition EVE_CoCmd.h:644
EVE_HAL_EXPORT void EVE_CoCmd_dwwwwwwz(EVE_HalContext *phost, uint32_t cmd, uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3, uint16_t w4, uint16_t w5, const char *s)
Definition EVE_CoCmd.c:338
EVE_HAL_EXPORT bool EVE_CoCmd_getProps(EVE_HalContext *phost, uint32_t *ptr, uint32_t *w, uint32_t *h)
Get the image properties decompressed by CMD_LOADIMAGE.
EVE_HAL_EXPORT bool EVE_CoCmd_regRead(EVE_HalContext *phost, uint32_t ptr, uint32_t *result)
Send CMD_REGREAD.
static void EVE_CoCmd_swap(EVE_HalContext *phost)
Send CMD_SWAP.
Definition EVE_CoCmd.h:170
static void EVE_CoCmd_gradColor(EVE_HalContext *phost, uint32_t c)
Send CMD_GRADCOLOR.
Definition EVE_CoCmd.h:1107
static void EVE_CoCmd_animFrame(EVE_HalContext *phost, int16_t x, int16_t y, uint32_t aoptr, uint32_t frame)
Send CMD_ANIMFRAME.
Definition EVE_CoCmd.h:1855
#define ESD_RENDER(name,...)
Definition EVE_CoCmd.h:51
EVE_HAL_EXPORT void EVE_CoCmd_dwwwwdw(EVE_HalContext *phost, uint32_t cmd, uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3, uint32_t d4, uint16_t w5)
Definition EVE_CoCmd.c:198
EVE_HAL_EXPORT void EVE_CoCmd_button(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t h, int16_t font, uint16_t options, const char *s,...)
Send CMD_BUTTON.
static void EVE_CoCmd_animXY(EVE_HalContext *phost, int32_t ch, int16_t x, int16_t y)
Send CMD_ANIMXY.
Definition EVE_CoCmd.h:1824
#define EVE_CoCmd_fontCache(phost, font, ptr, num)
Definition EVE_CoCmd.h:917
static void EVE_CoCmd_mediaFifo(EVE_HalContext *phost, uint32_t ptr, uint32_t size)
Send CMD_MEDIAFIFO. See EVE_MediaFifo interface for easier FIFO access.
Definition EVE_CoCmd.h:588
EVE_HAL_EXPORT void EVE_CoCmd_toggle(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t font, uint16_t options, uint16_t state, const char *s,...)
Send CMD_TOGGLE.
EVE_HAL_EXPORT void EVE_CoCmd_text(EVE_HalContext *phost, int16_t x, int16_t y, int16_t font, uint16_t options, const char *s,...)
Send CMD_TEXT.
static void EVE_CoCmd_inflate2(EVE_HalContext *phost, uint32_t ptr, uint32_t options)
Send CMD_INFLATE2.
Definition EVE_CoCmd.h:863
static void EVE_CoCmd_interrupt(EVE_HalContext *phost, uint32_t ms)
Send CMD_INTERRUPT.
Definition EVE_CoCmd.h:184
static void EVE_CoCmd_videoFrame(EVE_HalContext *phost, uint32_t dst, uint32_t ptr)
CMD_VIDEOFRAME.
Definition EVE_CoCmd.h:612
EVE_HAL_EXPORT uint32_t EVE_CoCmd_flashFast(EVE_HalContext *phost, uint32_t *result)
Enter fast flash state.
EVE_HAL_EXPORT void EVE_CoCmd_ddddd(EVE_HalContext *phost, uint32_t cmd, uint32_t d0, uint32_t d1, uint32_t d2, uint32_t d3)
Definition EVE_CoCmd.c:91
EVE_HAL_EXPORT void EVE_CoCmd_number(EVE_HalContext *phost, int16_t x, int16_t y, int16_t font, uint16_t options, int32_t n)
Send CMD_NUMBER.
EVE_HAL_EXPORT void EVE_CoCmd_dwwww(EVE_HalContext *phost, uint32_t cmd, uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3)
Definition EVE_CoCmd.c:240
EVE_HAL_EXPORT void EVE_CoCmd_dwwwwwwww(EVE_HalContext *phost, uint32_t cmd, uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3, uint16_t w4, uint16_t w5, uint16_t w6, uint16_t w7)
Definition EVE_CoCmd.c:316
static void EVE_CoCmd_setBase(EVE_HalContext *phost, uint32_t base)
Send CMD_SETBASE.
Definition EVE_CoCmd.h:1123
static void EVE_CoCmd_flashSpiDesel(EVE_HalContext *phost)
Send CMD_FLASHSPIDESEL.
Definition EVE_CoCmd.h:744
#define EVE_CoCmd_getImage(phost, source, fmt, w, h, palette)
Definition EVE_CoCmd.h:916
EVE_HAL_EXPORT void EVE_CoCmd_dwwwww(EVE_HalContext *phost, uint32_t cmd, uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3, uint16_t w4)
Definition EVE_CoCmd.c:257
#define EVE_CoCmd_hsf(phost, hsf)
Definition EVE_CoCmd.h:351
static void EVE_CoCmd_gauge(EVE_HalContext *phost, int16_t x, int16_t y, int16_t r, uint16_t options, uint16_t major, uint16_t minor, uint16_t val, uint16_t range)
Send CMD_GAUGE.
Definition EVE_CoCmd.h:1505
EVE_HAL_EXPORT bool EVE_CoCmd_loadImage_progMem(EVE_HalContext *phost, uint32_t dst, eve_progmem_const uint8_t *src, uint32_t size, uint32_t *format)
Load image from program memory.
static void EVE_CoCmd_stop(EVE_HalContext *phost)
Send CMD_STOP.
Definition EVE_CoCmd.h:1655
static void EVE_CoCmd_memSet(EVE_HalContext *phost, uint32_t ptr, uint32_t value, uint32_t num)
Send CMD_MEMSET.
Definition EVE_CoCmd.h:431
static void EVE_CoCmd_loadImage(EVE_HalContext *phost, uint32_t ptr, uint32_t options)
Send CMD_LOADIMAGE. Data must follow this command.
Definition EVE_CoCmd.h:534
EVE_HAL_EXPORT void EVE_CoCmd_ddd(EVE_HalContext *phost, uint32_t cmd, uint32_t d0, uint32_t d1)
Definition EVE_CoCmd.c:62
EVE_HAL_EXPORT void EVE_CoCmd_dd(EVE_HalContext *phost, uint32_t cmd, uint32_t d0)
Definition EVE_CoCmd.c:49
#define EVE_CoCmd_runAnim(phost, waitmask, play)
Definition EVE_CoCmd.h:1974
#define EVE_CoCmd_pclkFreq(phost, ftarget, rounding)
Definition EVE_CoCmd.h:358
static void EVE_CoCmd_videoStart(EVE_HalContext *phost)
Send CMD_VIDEOSTART.
Definition EVE_CoCmd.h:599
static void EVE_CoCmd_flashWrite(EVE_HalContext *phost, uint32_t ptr, uint32_t num)
Send CMD_FLASHWRITE. This command must be followed by the data to write.
Definition EVE_CoCmd.h:665
static void EVE_CoCmd_fillWidth(EVE_HalContext *phost, uint32_t s)
Send CMD_FILLWIDTH.
Definition EVE_CoCmd.h:1238
#define EVE_CoCmd_fontCacheQuery(phost, total, used)
Definition EVE_CoCmd.h:918
static void EVE_CoCmd_gradient(EVE_HalContext *phost, int16_t x0, int16_t y0, uint32_t rgb0, int16_t x1, int16_t y1, uint32_t rgb1)
Send CMD_GRADIENT.
Definition EVE_CoCmd.h:1275
EVE_HAL_EXPORT bool EVE_CoCmd_animStart(EVE_HalContext *phost, int32_t ch, uint32_t aoptr, uint32_t loop)
Send CMD_ANIMSTART.
Definition EVE_CoCmd.c:526
EVE_HAL_EXPORT void EVE_CoCmd_dwwwwwww(EVE_HalContext *phost, uint32_t cmd, uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3, uint16_t w4, uint16_t w5, uint16_t w6)
Definition EVE_CoCmd.c:294
static void EVE_CoCmd_snapshot(EVE_HalContext *phost, uint32_t ptr)
Send CMD_SNAPSHOT.
Definition EVE_CoCmd.h:492
EVE_HAL_EXPORT void EVE_CoCmd_ddww(EVE_HalContext *phost, uint32_t cmd, uint32_t d0, uint16_t w1, uint16_t w2)
Definition EVE_CoCmd.c:107
#define ESD_FUNCTION(name,...)
Definition EVE_CoCmd.h:48
EVE_HAL_EXPORT void EVE_CoCmd_dwwdwwd(EVE_HalContext *phost, uint32_t cmd, uint16_t w0, uint16_t w1, uint32_t d2, uint16_t w3, uint16_t w4, uint32_t d5)
Definition EVE_CoCmd.c:178
static void EVE_CoCmd_rotate(EVE_HalContext *phost, int32_t a)
Send CMD_ROTATE.
Definition EVE_CoCmd.h:1056
EVE_HAL_EXPORT bool EVE_CoCmd_getPtr(EVE_HalContext *phost, uint32_t *result)
Get the end memory address of data inflated by CMD_INFLATE.
EVE_HAL_EXPORT void EVE_CoCmd_dwwwwd(EVE_HalContext *phost, uint32_t cmd, uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3, uint32_t d4)
Definition EVE_CoCmd.c:276
static void EVE_CoCmd_appendF(EVE_HalContext *phost, uint32_t ptr, uint32_t num)
Send CMD_APPENDF.
Definition EVE_CoCmd.h:794
static void EVE_CoCmd_gradientA(EVE_HalContext *phost, int16_t x0, int16_t y0, uint32_t argb0, int16_t x1, int16_t y1, uint32_t argb1)
Send CMD_GRADIENTA.
Definition EVE_CoCmd.h:1604
static void EVE_CoCmd_setScratch(EVE_HalContext *phost, uint32_t handle)
Send CMD_SETSCRATCH.
Definition EVE_CoCmd.h:1152
static void EVE_CoCmd_inflate(EVE_HalContext *phost, uint32_t ptr)
Send CMD_INFLATE. Data must follow this command.
Definition EVE_CoCmd.h:503
EVE_HAL_EXPORT uint32_t EVE_CoCmd_calibrate(EVE_HalContext *phost)
Send CMD_CALIBRATE.
Definition EVE_CoCmd.c:500
EVE_HAL_EXPORT bool EVE_CoCmd_memCrc(EVE_HalContext *phost, uint32_t ptr, uint32_t num, uint32_t *result)
Send CMD_MEMCRC.
EVE_HAL_EXPORT void EVE_CoDlImpl_resetCoState(EVE_HalContext *phost)
Definition EVE_CoDl.c:83
static void EVE_CoCmd_setFont(EVE_HalContext *phost, uint32_t font, uint32_t ptr)
Send CMD_SETFONT.
Definition EVE_CoCmd.h:1093
static void EVE_CoCmd_animStop(EVE_HalContext *phost, int32_t ch)
Send CMD_ANIMSTOP.
Definition EVE_CoCmd.h:1810
static void EVE_CoCmd_bgColor(EVE_HalContext *phost, uint32_t c)
Send CMD_BGCOLOR.
Definition EVE_CoCmd.h:935
static void EVE_CoCmd_nop(EVE_HalContext *phost)
Send CMD_NOP.
Definition EVE_CoCmd.h:255
#define EVE_CoCmd_calibrateSub(phost, x, y, w, h)
Definition EVE_CoCmd.h:1970
EVE_HAL_EXPORT bool EVE_CoCmd_flashErase_flush(EVE_HalContext *phost)
Send CMD_FLASHERASE. Wait for completion.
EVE_HAL_EXPORT bool EVE_CoCmd_inflate_flash(EVE_HalContext *phost, uint32_t dst, uint32_t src)
Inflates data from Flash to RAM_G.
static void EVE_CoCmd_flashRead(EVE_HalContext *phost, uint32_t dest, uint32_t src, uint32_t num)
Read from Flash to RAM_G. Call EVE_Cmd_waitFlush to wait for completion.
Definition EVE_CoCmd.h:679
#define EVE_CoCmd_testCard(phost)
Definition EVE_CoCmd.h:1971
static void EVE_CoCmd_clock(EVE_HalContext *phost, int16_t x, int16_t y, int16_t r, uint16_t options, uint16_t h, uint16_t m, uint16_t s, uint16_t ms)
Send CMD_CLOCK.
Definition EVE_CoCmd.h:1537
static void EVE_CoCmd_loadIdentity(EVE_HalContext *phost)
Send CMD_LOADIDENTITY.
Definition EVE_CoCmd.h:998
static void EVE_CoCmd_snapshot2(EVE_HalContext *phost, uint32_t fmt, uint32_t ptr, int16_t x, int16_t y, int16_t w, int16_t h)
Send CMD_SNAPSHOT2.
Definition EVE_CoCmd.h:575
static void EVE_CoCmd_coldStart(EVE_HalContext *phost)
Send CMD_COLDSTART.
Definition EVE_CoCmd.h:194
EVE_HAL_EXPORT void EVE_CoCmd_dwwwwdww(EVE_HalContext *phost, uint32_t cmd, uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3, uint32_t d4, uint16_t w5, uint16_t w6)
Definition EVE_CoCmd.c:219
static void EVE_CoCmd_playVideo(EVE_HalContext *phost, uint32_t options)
Send CMD_PLAYVIDEO.
Definition EVE_CoCmd.h:1762
static void EVE_CoCmd_sketch(EVE_HalContext *phost, int16_t x, int16_t y, uint16_t w, uint16_t h, uint32_t ptr, uint16_t format)
Send CMD_SKETCH.
Definition EVE_CoCmd.h:1700
#define EVE_CoCmd_apiLevel(phost, level)
Definition EVE_CoCmd.h:352
EVE_HAL_EXPORT void EVE_CoCmd_dddwwww(EVE_HalContext *phost, uint32_t cmd, uint32_t d0, uint32_t d1, uint16_t w2, uint16_t w3, uint16_t w4, uint16_t w5)
Definition EVE_CoCmd.c:141
static void EVE_CoCmd_append(EVE_HalContext *phost, uint32_t ptr, uint32_t num)
Send CMD_APPEND.
Definition EVE_CoCmd.h:481
EVE_HAL_EXPORT void EVE_CoDlImpl_resetDlState(EVE_HalContext *phost)
Definition EVE_CoDl.c:38
static void EVE_CoCmd_animDraw(EVE_HalContext *phost, int32_t ch)
Send CMD_ANIMDRAW.
Definition EVE_CoCmd.h:1836
static void EVE_CoCmd_flashSource(EVE_HalContext *phost, uint32_t ptr)
Send CMD_FLASHSOURCE.
Definition EVE_CoCmd.h:781
static void EVE_CoCmd_dlStart(EVE_HalContext *phost)
Send CMD_DLSTART.
Definition EVE_CoCmd.h:159
static void EVE_CoCmd_resetFonts(EVE_HalContext *phost)
Send CMD_RESETFONT.
Definition EVE_CoCmd.h:1226
static void EVE_CoCmd_memZero(EVE_HalContext *phost, uint32_t ptr, uint32_t num)
Send CMD_MEMZERO.
Definition EVE_CoCmd.h:447
static void EVE_CoCmd_videoStartF(EVE_HalContext *phost)
Send CMD_VIDEOSTARTF.
Definition EVE_CoCmd.h:805
static void EVE_CoCmd_scrollbar(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t h, uint16_t options, uint16_t val, uint16_t size, uint16_t range)
Send CMD_SCROLLBAR.
Definition EVE_CoCmd.h:1458
EVE_HAL_EXPORT void EVE_CoCmd_dwwdd(EVE_HalContext *phost, uint32_t cmd, uint16_t w0, uint16_t w1, uint32_t d2, uint32_t d3)
Definition EVE_CoCmd.c:161
EVE_HAL_EXPORT void EVE_CoCmd_keys(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t h, int16_t font, uint16_t options, const char *s)
Send CMD_KEYS.
static void EVE_CoCmd_flashDetach(EVE_HalContext *phost)
Send CMD_FLASHDETACH.
Definition EVE_CoCmd.h:715
#define ESD_PARAMETER(name,...)
Definition EVE_CoCmd.h:54
static void EVE_CoCmd_translate(EVE_HalContext *phost, int32_t tx, int32_t ty)
Send CMD_TRANSLATE.
Definition EVE_CoCmd.h:1018
static void EVE_CoCmd_romFont(EVE_HalContext *phost, uint32_t font, uint32_t romslot)
Send CMD_ROMFONT.
Definition EVE_CoCmd.h:1166
#define EVE_CoCmd_animStartRam(phost, ch, aoptr, loop)
Definition EVE_CoCmd.h:1973
static void EVE_CoCmd_memWrite(EVE_HalContext *phost, uint32_t ptr, uint32_t num)
Send CMD_MEMWRITE.
Definition EVE_CoCmd.h:398
#define EVE_MULTI_TARGET_CHECK(cmd, condition)
Definition EVE_CoCmd.h:137
static void EVE_CoCmd_progress(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t h, uint16_t options, uint16_t val, uint16_t range)
Send CMD_PROGRESS.
Definition EVE_CoCmd.h:1396
static void EVE_CoCmd_slider(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t h, uint16_t options, uint16_t val, uint16_t range)
Send CMD_SLIDER.
Definition EVE_CoCmd.h:1426
static void EVE_CoCmd_setMatrix(EVE_HalContext *phost)
Send CMD_SETMATRIX.
Definition EVE_CoCmd.h:1072
static void EVE_CoCmd_setFont2(EVE_HalContext *phost, uint32_t font, uint32_t ptr, uint32_t firstchar)
Send CMD_SETFONT2.
Definition EVE_CoCmd.h:1137
static void EVE_CoCmd_flashUpdate(EVE_HalContext *phost, uint32_t dest, uint32_t src, uint32_t num)
Send CMD_FLASHUPDATE. This command must be followed by the data to write.
Definition EVE_CoCmd.h:704
static void EVE_CoCmd_track(EVE_HalContext *phost, int16_t x, int16_t y, int16_t w, int16_t h, int16_t tag)
Send CMD_TRACK.
Definition EVE_CoCmd.h:1670
#define EVE_CoCmd_newList(phost, a)
Definition EVE_CoCmd.h:356
static void EVE_CoCmd_memWrite32(EVE_HalContext *phost, uint32_t ptr, uint32_t value)
Send CMD_MEMWRITE, followed by a single 32-bit value.
Definition EVE_CoCmd.h:413
EVE_HAL_EXPORT bool EVE_CoCmd_getMatrix(EVE_HalContext *phost, int32_t *m)
Send CMD_GETMATRIX.
Definition EVE_CoCmd.c:391
static void EVE_CoCmd_fgColor(EVE_HalContext *phost, uint32_t c)
Send CMD_FGCOLOR.
Definition EVE_CoCmd.h:957
static void EVE_CoCmd_rotateAround(EVE_HalContext *phost, int32_t x, int32_t y, int32_t a, int32_t s)
Send CMD_ROTATEAROUND.
Definition EVE_CoCmd.h:1211
#define EVE_CoCmd_wait(phost, us)
Definition EVE_CoCmd.h:353
static void EVE_CoCmd_cSketch(EVE_HalContext *phost, int16_t x, int16_t y, uint16_t w, uint16_t h, uint32_t ptr, uint16_t format, uint16_t freq)
Send CMD_CSKETCH. Only exists under FT801.
Definition EVE_CoCmd.h:1735
#define EVE_CoCmd_return(phost)
Definition EVE_CoCmd.h:354
#define EVE_BT818
Definition EVE_Config.h:69
#define EVE_BT817
Definition EVE_Config.h:68
#define EVE_HAL_EXPORT
#define EVE_BT815
Definition EVE_Config.h:66
#define EVE_CHIPID
#define eve_progmem_const
#define EVE_BT816
Definition EVE_Config.h:67
#define EVE_FT810
Definition EVE_Config.h:58
#define EVE_FT801
Definition EVE_Config.h:57
Defines EVE hardware values.
#define CMD_SCALE
#define CMD_CLOCK
#define CMD_MEMZERO
#define CMD_SETSCRATCH
#define CMD_ANIMDRAW
#define CMD_SYNC
#define CMD_CALLLIST
#define OPT_FLASH
#define CMD_SETBITMAP
#define CMD_FGCOLOR
#define CMD_VIDEOSTART
#define CMD_FLASHDETACH
#define CMD_INFLATE2
#define CMD_VIDEOFRAME
#define OPT_NODL
#define CMD_CSKETCH
#define CMD_ROMFONT
#define CMD_ANIMFRAMERAM
#define CMD_GRADIENTA
#define CMD_STOP
#define CMD_HSF
#define CMD_PROGRESS
#define CMD_MEMWRITE
#define CMD_FLASHERASE
#define CMD_FLASHSPITX
#define CMD_INFLATE
#define CMD_DLSTART
#define CMD_WAIT
#define CMD_ANIMSTOP
#define CMD_SPINNER
#define CMD_TRACK
#define CMD_GAUGE
#define CMD_NOP
#define CMD_SCREENSAVER
#define CMD_FLASHREAD
#define CMD_ROTATEAROUND
#define CMD_SETFONT
#define CMD_FLASHSOURCE
#define CMD_MEMCPY
#define CMD_ANIMXY
#define CMD_SNAPSHOT
#define CMD_ENDLIST
#define CMD_VIDEOSTARTF
#define CMD_TESTCARD
#define CMD_GRADCOLOR
#define CMD_SCROLLBAR
#define CMD_BGCOLOR
#define CMD_GRADIENT
#define CMD_ROTATE
#define CMD_FLASHSPIDESEL
#define CMD_LOADIMAGE
#define CMD_APPENDF
#define CMD_APPEND
#define OPT_MEDIAFIFO
#define CMD_RESETFONTS
#define CMD_DIAL
#define CMD_SWAP
#define CMD_PLAYVIDEO
#define CMD_SLIDER
#define CMD_FLASHUPDATE
#define CMD_FLASHPROGRAM
#define CMD_MEDIAFIFO
#define CMD_APILEVEL
#define CMD_FLASHWRITE
#define CMD_MEMSET
#define CMD_RUNANIM
#define CMD_FLASHSPIRX
#define CMD_INTERRUPT
#define CMD_RETURN
#define CMD_COLDSTART
#define CMD_LOADIDENTITY
#define CMD_SNAPSHOT2
#define CMD_NEWLIST
#define CMD_SETMATRIX
#define CMD_FILLWIDTH
#define CMD_LOGO
#define CMD_ANIMFRAME
#define CMD_SETFONT2
#define CMD_ANIMSTARTRAM
#define CMD_CLEARCACHE
#define CMD_TRANSLATE
#define CMD_SKETCH
#define CMD_SETBASE
#define CMD_FONTCACHE
Eve_Hal framework APIs.
#define EVE_DL_STATE
unsigned short uint16_t
int int32_t
unsigned int uint32_t
short int16_t
unsigned char uint8_t
static ft_uint32_t ft_uint8_t ft_uint32_t length
Definition FT_Gpu_Hal.h:140
static ft_void_t ft_uint32_t * cmd
Definition FT_Gpu_Hal.h:184
uint8_t CoScratchHandle
uint8_t DlPrimitive