image/svg+xml
Brteve's API for EveApps
Version 0.0.1
The reference document for common folder of EveApps project.
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Loading...
Searching...
No Matches
EVE_CoCmd.c
Go to the documentation of this file.
1
33#include "EVE_Platform.h"
34
35/**********************************************************************
36***********************************************************************
37**********************************************************************/
38
40{
41#if EVE_CMD_HOOKS
42 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, 0))
43 return;
44#endif
45
46 EVE_Cmd_wr32(phost, cmd);
47}
48
50{
51#if EVE_CMD_HOOKS
52 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, d0))
53 return;
54#endif
55
56 EVE_Cmd_startFunc(phost);
57 EVE_Cmd_wr32(phost, cmd);
58 EVE_Cmd_wr32(phost, d0);
59 EVE_Cmd_endFunc(phost);
60}
61
63{
64#if EVE_CMD_HOOKS
65 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, d0))
66 return;
67#endif
68
69 EVE_Cmd_startFunc(phost);
70 EVE_Cmd_wr32(phost, cmd);
71 EVE_Cmd_wr32(phost, d0);
72 EVE_Cmd_wr32(phost, d1);
73 EVE_Cmd_endFunc(phost);
74}
75
77{
78#if EVE_CMD_HOOKS
79 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, d0))
80 return;
81#endif
82
83 EVE_Cmd_startFunc(phost);
84 EVE_Cmd_wr32(phost, cmd);
85 EVE_Cmd_wr32(phost, d0);
86 EVE_Cmd_wr32(phost, d1);
87 EVE_Cmd_wr32(phost, d2);
88 EVE_Cmd_endFunc(phost);
89}
90
92{
93#if EVE_CMD_HOOKS
94 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, d0))
95 return;
96#endif
97
98 EVE_Cmd_startFunc(phost);
99 EVE_Cmd_wr32(phost, cmd);
100 EVE_Cmd_wr32(phost, d0);
101 EVE_Cmd_wr32(phost, d1);
102 EVE_Cmd_wr32(phost, d2);
103 EVE_Cmd_wr32(phost, d3);
104 EVE_Cmd_endFunc(phost);
105}
106
108 uint32_t d0, uint16_t w1, uint16_t w2)
109{
110#if EVE_CMD_HOOKS
111 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, d0))
112 return;
113#endif
114
115 EVE_Cmd_startFunc(phost);
116 EVE_Cmd_wr32(phost, cmd);
117 EVE_Cmd_wr32(phost, d0);
118 EVE_Cmd_wr16(phost, w1);
119 EVE_Cmd_wr16(phost, w2);
120 EVE_Cmd_endFunc(phost);
121}
122
124 uint32_t d0, uint16_t w1, uint16_t w2, uint16_t w3)
125{
126#if EVE_CMD_HOOKS
127 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, d0))
128 return;
129#endif
130
131 EVE_Cmd_startFunc(phost);
132 EVE_Cmd_wr32(phost, cmd);
133 EVE_Cmd_wr32(phost, d0);
134 EVE_Cmd_wr16(phost, w1);
135 EVE_Cmd_wr16(phost, w2);
136 EVE_Cmd_wr16(phost, w3);
137 EVE_Cmd_wr16(phost, 0);
138 EVE_Cmd_endFunc(phost);
139}
140
142 uint32_t d0, uint32_t d1,
143 uint16_t w2, uint16_t w3, uint16_t w4, uint16_t w5)
144{
145#if EVE_CMD_HOOKS
146 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, d0))
147 return;
148#endif
149
150 EVE_Cmd_startFunc(phost);
151 EVE_Cmd_wr32(phost, cmd);
152 EVE_Cmd_wr32(phost, d0);
153 EVE_Cmd_wr32(phost, d1);
154 EVE_Cmd_wr16(phost, w2);
155 EVE_Cmd_wr16(phost, w3);
156 EVE_Cmd_wr16(phost, w4);
157 EVE_Cmd_wr16(phost, w5);
158 EVE_Cmd_endFunc(phost);
159}
160
162 uint16_t w0, uint16_t w1, uint32_t d2, uint32_t d3)
163{
164#if EVE_CMD_HOOKS
165 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, 0))
166 return;
167#endif
168
169 EVE_Cmd_startFunc(phost);
170 EVE_Cmd_wr32(phost, cmd);
171 EVE_Cmd_wr16(phost, w0);
172 EVE_Cmd_wr16(phost, w1);
173 EVE_Cmd_wr32(phost, d2);
174 EVE_Cmd_wr32(phost, d3);
175 EVE_Cmd_endFunc(phost);
176}
177
179 uint16_t w0, uint16_t w1, uint32_t d2,
180 uint16_t w3, uint16_t w4, uint32_t d5)
181{
182#if EVE_CMD_HOOKS
183 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, 0))
184 return;
185#endif
186
187 EVE_Cmd_startFunc(phost);
188 EVE_Cmd_wr32(phost, cmd);
189 EVE_Cmd_wr16(phost, w0);
190 EVE_Cmd_wr16(phost, w1);
191 EVE_Cmd_wr32(phost, d2);
192 EVE_Cmd_wr16(phost, w3);
193 EVE_Cmd_wr16(phost, w4);
194 EVE_Cmd_wr32(phost, d5);
195 EVE_Cmd_endFunc(phost);
196}
197
199 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3,
200 uint32_t d4, uint16_t w5)
201{
202#if EVE_CMD_HOOKS
203 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, 0))
204 return;
205#endif
206
207 EVE_Cmd_startFunc(phost);
208 EVE_Cmd_wr32(phost, cmd);
209 EVE_Cmd_wr16(phost, w0);
210 EVE_Cmd_wr16(phost, w1);
211 EVE_Cmd_wr16(phost, w2);
212 EVE_Cmd_wr16(phost, w3);
213 EVE_Cmd_wr32(phost, d4);
214 EVE_Cmd_wr16(phost, w5);
215 EVE_Cmd_wr16(phost, 0);
216 EVE_Cmd_endFunc(phost);
217}
218
220 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3,
221 uint32_t d4, uint16_t w5, uint16_t w6)
222{
223#if EVE_CMD_HOOKS
224 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, 0))
225 return;
226#endif
227
228 EVE_Cmd_startFunc(phost);
229 EVE_Cmd_wr32(phost, cmd);
230 EVE_Cmd_wr16(phost, w0);
231 EVE_Cmd_wr16(phost, w1);
232 EVE_Cmd_wr16(phost, w2);
233 EVE_Cmd_wr16(phost, w3);
234 EVE_Cmd_wr32(phost, d4);
235 EVE_Cmd_wr16(phost, w5);
236 EVE_Cmd_wr16(phost, w6);
237 EVE_Cmd_endFunc(phost);
238}
239
241 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3)
242{
243#if EVE_CMD_HOOKS
244 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, 0))
245 return;
246#endif
247
248 EVE_Cmd_startFunc(phost);
249 EVE_Cmd_wr32(phost, cmd);
250 EVE_Cmd_wr16(phost, w0);
251 EVE_Cmd_wr16(phost, w1);
252 EVE_Cmd_wr16(phost, w2);
253 EVE_Cmd_wr16(phost, w3);
254 EVE_Cmd_endFunc(phost);
255}
256
258 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3, uint16_t w4)
259{
260#if EVE_CMD_HOOKS
261 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, 0))
262 return;
263#endif
264
265 EVE_Cmd_startFunc(phost);
266 EVE_Cmd_wr32(phost, cmd);
267 EVE_Cmd_wr16(phost, w0);
268 EVE_Cmd_wr16(phost, w1);
269 EVE_Cmd_wr16(phost, w2);
270 EVE_Cmd_wr16(phost, w3);
271 EVE_Cmd_wr16(phost, w4);
272 EVE_Cmd_wr16(phost, 0);
273 EVE_Cmd_endFunc(phost);
274}
275
277 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3, uint32_t d4)
278{
279#if EVE_CMD_HOOKS
280 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, 0))
281 return;
282#endif
283
284 EVE_Cmd_startFunc(phost);
285 EVE_Cmd_wr32(phost, cmd);
286 EVE_Cmd_wr16(phost, w0);
287 EVE_Cmd_wr16(phost, w1);
288 EVE_Cmd_wr16(phost, w2);
289 EVE_Cmd_wr16(phost, w3);
290 EVE_Cmd_wr32(phost, d4);
291 EVE_Cmd_endFunc(phost);
292}
293
295 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3,
296 uint16_t w4, uint16_t w5, uint16_t w6)
297{
298#if EVE_CMD_HOOKS
299 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, 0))
300 return;
301#endif
302
303 EVE_Cmd_startFunc(phost);
304 EVE_Cmd_wr32(phost, cmd);
305 EVE_Cmd_wr16(phost, w0);
306 EVE_Cmd_wr16(phost, w1);
307 EVE_Cmd_wr16(phost, w2);
308 EVE_Cmd_wr16(phost, w3);
309 EVE_Cmd_wr16(phost, w4);
310 EVE_Cmd_wr16(phost, w5);
311 EVE_Cmd_wr16(phost, w6);
312 EVE_Cmd_wr16(phost, 0);
313 EVE_Cmd_endFunc(phost);
314}
315
317 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3,
318 uint16_t w4, uint16_t w5, uint16_t w6, uint16_t w7)
319{
320#if EVE_CMD_HOOKS
321 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, 0))
322 return;
323#endif
324
325 EVE_Cmd_startFunc(phost);
326 EVE_Cmd_wr32(phost, cmd);
327 EVE_Cmd_wr16(phost, w0);
328 EVE_Cmd_wr16(phost, w1);
329 EVE_Cmd_wr16(phost, w2);
330 EVE_Cmd_wr16(phost, w3);
331 EVE_Cmd_wr16(phost, w4);
332 EVE_Cmd_wr16(phost, w5);
333 EVE_Cmd_wr16(phost, w6);
334 EVE_Cmd_wr16(phost, w7);
335 EVE_Cmd_endFunc(phost);
336}
337
339 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3,
340 uint16_t w4, uint16_t w5, const char *s)
341{
342#if EVE_CMD_HOOKS
343 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, 0))
344 return;
345#endif
346
347 EVE_Cmd_startFunc(phost);
348 EVE_Cmd_wr32(phost, cmd);
349 EVE_Cmd_wr16(phost, w0);
350 EVE_Cmd_wr16(phost, w1);
351 EVE_Cmd_wr16(phost, w2);
352 EVE_Cmd_wr16(phost, w3);
353 EVE_Cmd_wr16(phost, w4);
354 EVE_Cmd_wr16(phost, w5);
356 EVE_Cmd_endFunc(phost);
357}
358
360 uint16_t w0, uint16_t w1, uint16_t w2, uint16_t w3,
361 uint16_t w4, uint16_t w5, const char *s, uint32_t len)
362{
363#if EVE_CMD_HOOKS
364 if (phost->CoCmdHook && phost->CoCmdHook(phost, cmd, 0))
365 return;
366#endif
367
368 EVE_Cmd_startFunc(phost);
369 EVE_Cmd_wr32(phost, cmd);
370 EVE_Cmd_wr16(phost, w0);
371 EVE_Cmd_wr16(phost, w1);
372 EVE_Cmd_wr16(phost, w2);
373 EVE_Cmd_wr16(phost, w3);
374 EVE_Cmd_wr16(phost, w4);
375 EVE_Cmd_wr16(phost, w5);
376 EVE_Cmd_wrString(phost, s, len);
377 EVE_Cmd_endFunc(phost);
378}
379
380#if defined(_DEBUG) && defined(EVE_MULTI_GRAPHICS_TARGET)
381EVE_HAL_EXPORT void EVE_CoCmd_debugUnsupported(const char *cmd, uint32_t chipId)
382{
383 eve_printf_debug("Coprocessor command %s is not supported on target platform %lx\n", cmd, (unsigned long)chipId);
384}
385#endif
386
387/**********************************************************************
388***********************************************************************
389**********************************************************************/
390
392{
393 uint16_t resAddr;
394 int i;
395
396#if EVE_CMD_HOOKS
397 if (phost->CoCmdHook && phost->CoCmdHook(phost, CMD_GETMATRIX, 0))
398 return false;
399#endif
400
401 EVE_Cmd_startFunc(phost);
403 resAddr = EVE_Cmd_moveWp(phost, 6 * 4);
404 EVE_Cmd_endFunc(phost);
405
406 /* Read result */
407 if (m)
408 {
409 if (!EVE_Cmd_waitFlush(phost))
410 return false;
412 for (i = 0; i < 6; ++i)
413 m[i] = EVE_Hal_transfer32(phost, 0);
414 EVE_Hal_endTransfer(phost);
415 }
416 return true;
417}
418
420{
421#if (EVE_SUPPORT_CHIPID >= EVE_FT810)
422 const bool swapXY = EVE_CHIPID >= EVE_FT810 ? r & 0x2 : false;
423#endif
424
425#if EVE_CMD_HOOKS
426 /* Check hook */
427 if (phost->CoCmdHook && phost->CoCmdHook(phost, CMD_SETROTATE, r))
428 return;
429#endif
430
431#if (EVE_SUPPORT_CHIPID >= EVE_FT810)
432 if (EVE_CHIPID >= EVE_FT810)
433 {
434 /* Update cached width and height based on rotation */
435 if (swapXY)
436 {
437 phost->Width = EVE_Hal_rd16(phost, REG_VSIZE);
438 phost->Height = EVE_Hal_rd16(phost, REG_HSIZE);
439 }
440 else
441 {
442 phost->Width = EVE_Hal_rd16(phost, REG_HSIZE);
443 phost->Height = EVE_Hal_rd16(phost, REG_VSIZE);
444 }
445
446 /* Command */
447 EVE_Cmd_startFunc(phost);
449 EVE_Cmd_wr32(phost, r);
450 EVE_Cmd_endFunc(phost);
451 }
452 else
453#endif
454 {
455 /* Software based fallback for FT80X */
456 EVE_Hal_wr32(phost, REG_ROTATE, r);
457
458 /* TODO: Adjust touch transform matrix */
459 }
460
461 /* Don't keep this in the write buffer */
462 EVE_Hal_flush(phost);
463}
464
465#if (EVE_SUPPORT_CHIPID >= EVE_BT817)
466
471{
472 uint16_t resAddr;
473
475
476#if EVE_CMD_HOOKS
477 if (phost->CoCmdHook && phost->CoCmdHook(phost, CMD_PCLKFREQ, ftarget))
478 return 0;
479#endif
480
481 EVE_Cmd_startFunc(phost);
483 EVE_Cmd_wr32(phost, ftarget);
484 EVE_Cmd_wr32(phost, rounding);
485 resAddr = EVE_Cmd_moveWp(phost, 4);
486 EVE_Cmd_endFunc(phost);
487
488 /* Wait for the result */
489 if (!EVE_Cmd_waitFlush(phost))
490 return 0;
491 return EVE_Hal_rd32(phost, RAM_CMD + resAddr);
492}
493
494#endif
495
496/**********************************************************************
497***********************************************************************
498**********************************************************************/
499
501{
502 uint16_t resAddr;
503
504#if EVE_CMD_HOOKS
505 if (phost->CoCmdHook && phost->CoCmdHook(phost, CMD_CALIBRATE, 0))
506 return 0;
507#endif
508
509 EVE_Cmd_startFunc(phost);
511 resAddr = EVE_Cmd_moveWp(phost, 4);
512 EVE_Cmd_endFunc(phost);
513
514#if (EVE_DL_OPTIMIZE)
515 phost->DlPrimitive = 0;
516#endif
517
518 /* Wait for the result */
519 if (!EVE_Cmd_waitFlush(phost))
520 return 0;
521 return EVE_Hal_rd32(phost, RAM_CMD + resAddr);
522}
523
524#if (EVE_SUPPORT_CHIPID >= EVE_BT815)
525
527{
528 uint32_t flashStatus;
529
531
532#if EVE_CMD_HOOKS
533 if (phost->CoCmdHook && phost->CoCmdHook(phost, CMD_ANIMSTART, ch))
534 return false;
535#endif
536
537 if (!EVE_Cmd_waitFlush(phost))
538 return false;
539 flashStatus = EVE_Hal_rd32(phost, REG_FLASH_STATUS);
540 if (flashStatus < FLASH_STATUS_FULL)
541 {
542 // Don't attempt to start animation without full flash speed, it hangs the coprocessor
543 eve_printf_debug("Attempt to send CMD_ANIMSTART without FLASH_STATUS_FULL (REG_FLASH_STATUS: %i)\n", (int)flashStatus);
544 return false;
545 }
546
547 EVE_Cmd_startFunc(phost);
549 EVE_Cmd_wr32(phost, ch);
550 EVE_Cmd_wr32(phost, aoptr);
551 EVE_Cmd_wr32(phost, loop);
552 EVE_Cmd_endFunc(phost);
553 return EVE_Cmd_waitFlush(phost);
554}
555
556#endif
557
558#if (EVE_SUPPORT_CHIPID >= EVE_BT817)
559
561{
562 uint16_t resAddr;
563
565
566#if EVE_CMD_HOOKS
567 if (phost->CoCmdHook && phost->CoCmdHook(phost, CMD_CALIBRATESUB, 0))
568 return 0;
569#endif
570
571 EVE_Cmd_startFunc(phost);
573 EVE_Cmd_wr16(phost, x);
574 EVE_Cmd_wr16(phost, y);
575 EVE_Cmd_wr16(phost, w);
576 EVE_Cmd_wr16(phost, h);
577 resAddr = EVE_Cmd_moveWp(phost, 4);
578 EVE_Cmd_endFunc(phost);
579
580#if (EVE_DL_OPTIMIZE)
581 phost->DlPrimitive = 0;
582#endif
583
584 /* Wait for the result */
585 if (!EVE_Cmd_waitFlush(phost))
586 return 0;
587 return EVE_Hal_rd32(phost, RAM_CMD + resAddr);
588}
589
590#endif
591
592/**********************************************************************
593***********************************************************************
594**********************************************************************/
595
596/* Nothing beyond this */
EVE_HAL_EXPORT bool EVE_Cmd_wr16(EVE_HalContext *phost, uint16_t value)
Write 2 bytes to Coprocessor's command fifo.
Definition EVE_Cmd.c:366
EVE_HAL_EXPORT uint32_t EVE_Cmd_wrString(EVE_HalContext *phost, const char *str, uint32_t maxLength)
Write a string into Coprocessor's command fifo.
Definition EVE_Cmd.c:322
EVE_HAL_EXPORT uint16_t EVE_Cmd_moveWp(EVE_HalContext *phost, uint16_t bytes)
Move the write pointer forward by the specified number of bytes. Returns the previous write pointer.
Definition EVE_Cmd.c:446
EVE_HAL_EXPORT void EVE_Cmd_startFunc(EVE_HalContext *phost)
Begin writing a function, keeps the transfer open.
Definition EVE_Cmd.c:262
EVE_HAL_EXPORT void EVE_Cmd_endFunc(EVE_HalContext *phost)
End writing a function, closes the transfer.
Definition EVE_Cmd.c:274
EVE_HAL_EXPORT bool EVE_Cmd_wr32(EVE_HalContext *phost, uint32_t value)
Write 4 bytes to Coprocessor's command fifo.
Definition EVE_Cmd.c:394
#define EVE_CMD_STRING_MAX
Definition EVE_Cmd.h:44
EVE_HAL_EXPORT void EVE_CoCmd_d(EVE_HalContext *phost, uint32_t cmd)
Definition EVE_CoCmd.c:39
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_setRotate(EVE_HalContext *phost, uint32_t r)
CMD_SETROTATE.
Definition EVE_CoCmd.c:419
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
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
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 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_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_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
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
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
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
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
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
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
EVE_HAL_EXPORT uint32_t EVE_CoCmd_calibrate(EVE_HalContext *phost)
Send CMD_CALIBRATE.
Definition EVE_CoCmd.c:500
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
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
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 bool EVE_CoCmd_getMatrix(EVE_HalContext *phost, int32_t *m)
Send CMD_GETMATRIX.
Definition EVE_CoCmd.c:391
#define EVE_MULTI_TARGET_CHECK_RETURN(cmd, condition, res)
Definition EVE_CoCmd.h:138
#define EVE_CoCmd_pclkFreq(phost, ftarget, rounding)
Definition EVE_CoCmd.h:358
#define EVE_CoCmd_calibrateSub(phost, x, y, w, h)
Definition EVE_CoCmd.h:1970
#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_FT810
Definition EVE_Config.h:58
#define CMD_ANIMSTART
#define REG_HSIZE
#define REG_ROTATE
#define RAM_CMD
#define REG_VSIZE
#define CMD_PCLKFREQ
#define CMD_GETMATRIX
#define FLASH_STATUS_FULL
#define CMD_SETROTATE
#define CMD_CALIBRATE
#define CMD_CALIBRATESUB
#define REG_FLASH_STATUS
EVE_HAL_EXPORT uint32_t EVE_Hal_rd32(EVE_HalContext *phost, uint32_t addr)
Read 4 bytes from Coprocessor's memory.
Definition EVE_Hal.c:189
EVE_HAL_EXPORT uint16_t EVE_Hal_rd16(EVE_HalContext *phost, uint32_t addr)
Read 2 bytes from Coprocessor's memory.
Definition EVE_Hal.c:173
EVE_HAL_EXPORT void EVE_Hal_wr32(EVE_HalContext *phost, uint32_t addr, uint32_t v)
Write 4 bytes to Coprocessor's memory.
Definition EVE_Hal.c:248
EVE_HAL_EXPORT void EVE_Hal_startTransfer(EVE_HalContext *phost, EVE_TRANSFER_T rw, uint32_t addr)
Start data transfer to Coprocessor.
@ EVE_TRANSFER_READ
Definition EVE_HalDefs.h:67
EVE_HAL_EXPORT void EVE_Hal_endTransfer(EVE_HalContext *phost)
End data transfer.
EVE_HAL_EXPORT void EVE_Hal_flush(EVE_HalContext *phost)
Flush data to Coprocessor.
EVE_HAL_EXPORT uint32_t EVE_Hal_transfer32(EVE_HalContext *phost, uint32_t value)
Write 4 bytes to Coprocessor.
unsigned short uint16_t
int int32_t
unsigned int uint32_t
Platform selector.
#define eve_printf_debug(fmt,...)
static ft_void_t ft_uint32_t * cmd
Definition FT_Gpu_Hal.h:184
void EVE_Cmd_waitFlush(EVE_HalContext *host)
Definition Gpu_Hal.cpp:775
uint32_t Height
uint8_t DlPrimitive