#embedded-hal #embedded-hal-driver #touchscreen #i2c-bus

no-std ft6x06

适用于STM32F4系列板的FT6x06型号触摸屏控制器平台无关型驱动程序

3个版本

0.1.2 2022年10月26日
0.1.1 2022年10月3日
0.1.0 2022年8月26日

939嵌入式开发

Download history 1/week @ 2024-04-07 9/week @ 2024-04-14 100/week @ 2024-04-21 4/week @ 2024-04-28 53/week @ 2024-05-12 17/week @ 2024-05-19 256/week @ 2024-05-26 18/week @ 2024-06-02 145/week @ 2024-06-09 23/week @ 2024-06-16 31/week @ 2024-06-23 64/week @ 2024-06-30 1/week @ 2024-07-07 67/week @ 2024-07-14 155/week @ 2024-07-21

每月 288次下载
用于 stm32f4xx-hal

MIT/Apache

32KB
401

FT6x06驱动程序

触摸屏控制器

FT6x06是ST公司生产的许多板上使用的自容性触摸屏控制器。FT6x06系列集成电路是单片自容性触摸屏控制器集成电路,内置8位增强型微控制器单元(MCU)。它们采用自容性技术,支持单点触摸和手势触摸。该驱动程序基于嵌入式-hal,实现了阻塞I2C模块。

FT6x06系列集成电路包括FT6206/FT6306。

描述

此存储库是使用Rust编写的FT6x06设备驱动程序,它是由ST组件驱动程序中的C代码逆向工程得到的。该存储库基于嵌入式-hal构建,提供通过微控制器的I2C总线访问触摸屏控制器以检索触摸坐标和手势数据的方法。此存储库还包含用于在基于STM32F4设备抽象层(stm32f4xx-hal)的STM32F412/413板上构建FT6206集成电路的示例。该板上触摸屏控制器的文档编写不佳。这主要基于意法半导体公司的GitHub页面 - https://github.com/STMicroelectronics/stm32-ft6x06

许多由意法半导体公司制造的板上使用触摸屏控制器,型号为FT6x06。FT6x06系列单片集成电路是带集成8位改进型微控制单元的电容式触摸屏控制器。

示例

包含更多关于如何使用STM32F412/13板触摸屏组件的示例。在example/interface中演示了如何使用显示屏和触摸屏创建嵌入式板的用户界面。要运行示例,

  • 通过ST_Link端口(USB- mini类型B端口)连接到STM32F413 Discovery板
  • 安装了一些Rust工具并切换到nightly通道
  • 运行命令: cargo run --features stm32f413,fsmc_lcd --example interface

版本 0.1.1

问题-有时,在初始化I2C总线时,STM32F413可能不会响应。执行长时间的硬复位,FT66206至少需要5mS ...

  • 在STM32F413上,触摸屏与LCD共享复位GPIO引脚。
  • ST7789驱动程序使用快速(10uS)复位。
  • 触摸屏控制器需要5mS。

版本 0.1.2

问题 - 在等待用户输入超过30秒后,触摸屏挂起。触摸屏控制器将在30秒后进入休眠状态。一个似乎可行的解决方案是轮询触摸屏中断输出到stm32,并且只有在触摸屏控制器指示有触摸等待时才尝试读取寄存器。

ft6x06通过操作一个中断线来指示触摸准备就绪。通过在读取触摸状态寄存器之前等待轮询此中断,我们可以避免在触摸屏控制器变得休眠(一段时间内未被触摸)时出现假错误。

  • 添加了等待触摸屏中断以指示触摸的功能

依赖项

~780KB