
EVE
文章平均质量分 63
pq113_6
这个作者很懒,什么都没留下…
展开
-
EVE-23 透明度测试
ALPHA_FUNC: 指定alpha测试功能命令格式:ALPHA_FUNC(func, ref)参数func 检测采用的比较方式,可用参数有NEVER、LESS、LEQUAL、GREATER、GEQUAL、EQUAL、NOTEQUAL 或ALWAYS,默认为ALWAYS,与STENCIL_FUNC的参数含义相同。ref 比较时参考的数值透明度检测功能用于检测所有像素点的透明度值,并只绘制出满足条件的像素点例如左上图是原图,测试代码如下:ftWrDispCmd(VE.原创 2020-06-05 17:43:37 · 248 阅读 · 0 评论 -
EVE-22 滑动和旋转角度的侦测
滑动和旋转角度的侦测由命令CMD_TRACK和寄存器REG_TRACKER实现的。命令CMD_TRACK可以定义一个用户指定的区域内检测触摸的行为,协处理器会将结果保存到REG_TRACKER中。#define ftCoCmdTrack(x, y, w, h, tag)\{\ ftWrDispCmd(CMD_TRACK);\ ftWrDispCmd(((uint32_t)(y) << 16) | ((x) & 0xffff));\ ftWr...原创 2020-06-05 17:37:00 · 496 阅读 · 0 评论 -
EVE-21 颜色屏蔽
COLOR_MASK - 开启或是关闭颜色成分的写入COLOR_MASK(r, g, b, a): 4个参数分别开启或是关闭Red,Green,Blue,Alpha的写入,1为开启,0为关闭。COLOR_MASK一般情况不会单独使用,会和其他命令,例如BlendFunc和一起使用。COLOR_MASK 命令可以允许或禁止对颜色缓冲和alpha缓冲的写入。这个技术首先将图形“绘制”至alpha缓冲中,之后使用BlendFunc(DST ALPHA, ONE) 实现对屏幕上所有像素的混合模式绘制。原创 2020-06-05 17:16:34 · 270 阅读 · 0 评论 -
EVE-20 模版测试
FT8xx的模版(Stencil)和OpenGL中的模版是一个概念,所以具体可以参考OpenGL中描述。下面是网上查找的一些关于模版的说明首先解释一下什么是模版缓冲区(Stencil Buffer)。模版缓冲区可以为屏幕上的每个像素点保存一个无符号整数值。这个值的具体意义视程序的具体应用而定。在渲染的过程中,可以用这个值与一个预先设定的参考值相比较,根据比较的结果来决定是否更新相应的像素点的颜色值。这个比较的过程被称为模版测试。如果模版测试通过,则相应的像素点更新,否则不更新。就像使用纸板和喷漆一样原创 2020-06-05 13:01:44 · 335 阅读 · 0 评论 -
EVE-18 矩阵运算
EVE系列芯片有个特别的功能,矩阵计算,这是构成图形处理学的基本公式,熟悉它就可以实现不少特殊的效果。矩阵的公式如下:,其中A-F对应EVE芯片的寄存器BITMAP_TRANSFORM_A~ BITMAP_TRANSFORM_F。矩阵计算公式为:即:X’ = X * A + Y * B + CY’ = X * D + Y * E + F默认的矩阵为:即X’ ...原创 2020-04-23 15:48:38 · 701 阅读 · 0 评论 -
EVE-1 芯片选型
EVE产品线(目前有FT800/FT801/FT810/FT811/FT812/FT813/BT815/BT816)目前只支持RGB接口的TFT。其中RGB数据位常见的是16bit(R5G6B5),18bit(R6G6B6),24bit(R8G8B8)。而控制信号(DE/HS/VS)支持DE模式(DE/HS/VS)和Sync模式(HS/VS,DE不接)。FT800/FT801/FT81...原创 2020-03-11 16:23:37 · 1879 阅读 · 0 评论 -
EVE-2 原理图与PCB设计注意事项
1. 与MCU的接口电路 主要有5个管脚(SPI_CLK/MISO/MOSI/CS/PD)要连接,包括4根SPI线,1根PD控制线。这5个管脚需要特别注意,因为一旦这几个管脚被干扰很容易导致EVE芯片工作不正常。 a. 每个连线上建议接10K-47K欧的上拉电阻,10pF-27pF的电容,串入33欧的电阻。电路图如下: b. P...原创 2020-03-11 16:36:51 · 799 阅读 · 1 评论 -
EVE-3 驱动
同SPI Flash一样,对于MCU端来说,EVE芯片也仅仅是一个SPI外设,对EVE芯片的操作可以简化为SPI写地址,然后读写数据。因此,先定义2个API函数ft8xxWriteBuf和ft8xxReadBuf作为SPI通信的接口函数:ft8xxWriteBuf的步骤是:首先FT8xx的CS脚拉低,然后写入3字节的地址,接着写入数据,最后将CS脚拉高结束此次传输。bool_t ft8xx...原创 2020-03-11 16:45:08 · 415 阅读 · 0 评论 -
EVE-4 平台移植
本篇以STM32F030C8+FT800为例说明如何实现平台移植。从驱动篇来看,平台移植只要实现API函数ft8xxSleep、spiWriteBytes、spiReadBytes就可以实现EVE芯片的指令操作。为了能准确延时,所以采用Systick实现(也可以采用Timer实现)。因为STM32足够快,定时器采用1ms定时。#define SYSTICK_TIMER ((System...原创 2020-03-11 16:46:45 · 160 阅读 · 0 评论 -
EVE-6 FT8xx初始化
FT8xx初始化步骤如下:1. 复位读取IDdo{ft8xxPDEn();ft8xxSleep(10/TIMER_MS);ft8xxPDDis();ft8xxSleep(20/TIMER_MS);ft8xxWrCmd(FT_GPU_ACTIVE_M);ft8xxSleep(20/TIMER_MS);ft8xxWrCmd(FT_GPU_EXTERNAL_...原创 2020-03-11 17:04:42 · 373 阅读 · 0 评论 -
EVE-7 Hello World详解
1. 函数ftStartDisp()和ftEnDisp()FT8xx显示一页界面都是夹在函数ftStartDisp()和ftEnDisp()之间,只需写一次就可以实现界面的显示,如果需要修改界面的显示内容,则需要重新以ftStartDisp()和ftEnDisp()开头结尾写入对应的显示命令,之前的界面不会保留。2. 命令CLEAR_COLOR_RGB和CLEAR命令CLEAR_COL...原创 2020-03-11 17:08:21 · 347 阅读 · 0 评论 -
EVE-8 Point Line Rect LineStrip
1. PointftWrDispCmd(BEGIN(FTPOINTS)); //aftWrDispCmd(COLOR_RGB(128, 0, 0)); //bftWrDispCmd(POINT_SIZE(5 * 16)); //cftWrDispCmd(VERTEX2F((PANEL_WIDTH / 2 ...原创 2020-03-11 17:14:35 · 207 阅读 · 0 评论 -
EVE-9 EdgeStrip Text8x8 TextVGA Bargraph
1. EdgeStripftWrDispCmd(BEGIN(EDGE_STRIP_A));ftWrDispCmd(COLOR_RGB(255, 0, 0));ftWrDispCmd(LINE_WIDTH(2 * 16));ftWrDispCmd(VERTEX2F((PANEL_WIDTH / 2 - 70) * 16, (PANEL_HEIGHT / 2 - 100) * 16))...原创 2020-03-12 10:21:42 · 200 阅读 · 0 评论 -
EVE-10 Scissor RomFont RamFont Macro
1. Scissor剪刀功能,可以设置显示的矩形区域,区域内的图形可以显示,区域外的则不会显示。例程显示效果如下:ftWrDispCmd(SCISSOR_SIZE(320, 100));ftWrDispCmd(SCISSOR_XY((PANEL_WIDTH - 320) / 2, PANEL_HEIGHT / 2 - 100));ftWrDispCmd(CLEAR_COLO...原创 2020-03-20 15:50:36 · 307 阅读 · 0 评论 -
EVE-11 Touch(触摸功能)
1.校准无论是电阻屏(RTP)还是电容屏(CTP),都需要校准(CTP本来不需要校准,但是考虑到坐标与图片对应关系,校准后能准确使用触摸功能),EVE自带校准功能,对应的命令是CMD_CALIBRATE。校准程序从屏幕中收集三个触摸点,然后通过计算并写入到寄存器REG_TOUCH_TRANSFORM_A - REG_TOUCH_TRANSFORM_F。这些都是FT8xx自动完成,用...原创 2020-04-17 10:50:25 · 480 阅读 · 0 评论 -
EVE-12 Color Button Clock Gauge
1.Color指令a)CMD_FGCOLOR -设定前景颜色+0 CMD_FGCOLOR(0xffffff0a) +4 Color Color是24bit RGB的数值。例如设置前景色为红色:ftWrDispCmd(CMD_FGCOLOR);ftWrDispCmd(0xff0000);该命令能作用在CMD_BUTTON、CMD_KEY...原创 2020-04-17 12:48:54 · 264 阅读 · 0 评论 -
EVE-13 Gradient Keys Progress Scrollbar
1.Gradient(渐变色)CMD_GRADIENT – 绘制一个渐变色#defineftCoCmdGradient(x0, y0, rgb0, x1, y1, rgb1)\{\ ftWrDispCmd(CMD_GRADIENT);\ ftWrDispCmd(((uint32_t)(y0) << 16) | ((x0)&...原创 2020-04-17 13:23:15 · 379 阅读 · 0 评论 -
EVE-14 Slider Dial Toggle Number
1.Slider(滑块)CMD_SLIDER –绘制一个滑块#defineftCoCmdSlider(x, y, w, h, options, val, range)\{\ ftWrDispCmd(CMD_SLIDER);\ ftWrDispCmd(((uint32_t)(y) << 16) | ((x) &0xffff)...原创 2020-04-17 13:32:25 · 125 阅读 · 0 评论 -
EVE-16 图片显示
1.基础知识调色板(Palette):也可以叫颜色查找表LUT(Look Up Table)。例如ARGB8888格式,一个像素占32位,如果采用调色板,将实际图片用到的颜色采用一张表作为索引,即0-255作为索引,每个值对应真正的ARGB8888值,这样保存图片时只需要1/4的大小。比如图片的某个像素的颜色是0xFFFF000000(即红色),在LUT中记录0x00对应0xFFF...原创 2020-04-23 10:07:29 · 653 阅读 · 0 评论 -
EVE-17 图片的缩放和旋转
1.缩放CMD_SCALE –对目前的矩阵做一个缩放#defineftCoCmdScale(sx, sy)\{\ ftWrDispCmd(CMD_SCALE);\ ftWrDispCmd(sx);\ ftWrDispCmd(sy);\}参数sx、sy分别表示x轴、y轴方向上的缩放,等于缩放倍数乘以65536,例如X轴上放大...原创 2020-04-23 11:04:41 · 412 阅读 · 0 评论 -
EVE-19 混合着色
混合着色是把源颜色和目标颜色各自取出,并乘以一个系数(源颜色乘以的系数称为“源因子”,目标颜色乘以的系数称为“目标因子”),然后相加,这样就得到了新的颜色。其公式如下source × src + destination × dst...原创 2020-05-11 20:24:12 · 350 阅读 · 0 评论 -
EVE-15 Spinner 屏保 手写 截屏
1.SpinnerCMD_SPINNER –开始一个动态转盘#defineftCoCmdSpinner(x, y, style, scale)\{\ ftWrDispCmd(CMD_SPINNER);\ ftWrDispCmd(((uint32_t)(y) << 16) | ((x) &0xffff));\ ...原创 2020-04-22 09:51:42 · 344 阅读 · 0 评论