当前位置: 首页 > news >正文

全屏网站模版网页视频怎么下载到手机相册

全屏网站模版,网页视频怎么下载到手机相册,视频如何上传到wordpress,网站建设费用报价表一#xff0c;Ilitek 触摸屏简介 Ilitek 提供多种型号的触控屏控制器#xff0c;如 ILI6480、ILI9341 等#xff0c;采用 I2C 接口。 这些控制器能够支持多点触控#xff0c;并具有优秀的灵敏度和响应速度。 Ilitek 的触摸屏控制器监测屏幕上的触摸事件。 当触摸发生时Ilitek 触摸屏简介 Ilitek 提供多种型号的触控屏控制器如 ILI6480、ILI9341 等采用 I2C 接口。 这些控制器能够支持多点触控并具有优秀的灵敏度和响应速度。 Ilitek 的触摸屏控制器监测屏幕上的触摸事件。 当触摸发生时控制器将触摸坐标通常是 x 和 y 坐标通过 I2C 总线发送给主机。 二DTS配置 i2c1 {status okay;ilitek41 {compatible tchip,ilitek;reg 0x41;ilitek,irq-gpio gpio7 6 GPIO_ACTIVE_HIGH;ilitek,reset-gpio gpio7 15 GPIO_ACTIVE_HIGH; //修改相对应的gpio参数pinctrl-names default;pinctrl-0 ilitek_gpio_e;status okay;}; };pinctrl {touchscreen {ilitek_gpio_e: ilitek-gpio-e {rockchip,pins 7 6 RK_FUNC_GPIO pcfg_pull_up,7 15 RK_FUNC_GPIO pcfg_pull_up;};}; }; 注一定要对应的I2C bus节点硬件原理图上会有标注。 三驱动文件配置 1. ilitek_lim.c static int ilitek_i2c_probe(struct i2c_client *client,const struct i2c_device_id *id) {int ret 0;int revert_x0;int revert_y0;int revert_x_y0;struct device_node *param_node; #ifdef ILI_UPDATE_FW#ifdef UPDATE_THREADEstruct task_struct *thread_update NULL;#endif #endif#ifdef RECOGNITION_LONGTIME_BUTTON struct task_struct *thread_longtime_button NULL; #endif#ifdef WRITE_2210_CFGstruct task_struct *thread_write_cfg NULL; #endif#if IC2120int i 0; #endif//int i 0;//uint8_t buf[8] {0}; #ifdef DEBUG_NETLINKstruct netlink_kernel_cfg cfg {.groups 0,.input udp_receive,};#endiftp_log_info(Enter ilitek_i2c_probe client-addr 0x%x\n, client-addr);if(!i2c_check_functionality(client-adapter, I2C_FUNC_I2C)){tp_log_err(%s, I2C_FUNC_I2C not support\n, __func__);return -1;}// initialize global variable#ifdef TOOLmemset(dev_ilitek, 0, sizeof(struct dev_data));#endifmemset(i2c, 0, sizeof(struct i2c_data));// initialize mutex object #if LINUX_VERSION_CODE KERNEL_VERSION(2, 6, 37)init_MUTEX(i2c.wr_sem); #elsesema_init(i2c.wr_sem,1); #endifi2c.wr_sem.count 1;mutex_init((i2c.irq_mutex));i2c.report_status 1;i2c.client client;#ifdef CONFIG_ENABLE_REGULATOR_POWER_ONret ilitek_get_regulator();if (ret) {tp_log_err(%s, ilitek_get_regulator failed\n, __func__);return ret;}ret ilitek_power_on(true);if (ret) {tp_log_err(%s, power on failed\n, __func__);return ret;}#endif//ret ilitek_request_io_port(client);if (ret ! 0){tp_log_err(%s, io error, __func__);return ret;}param_node of_find_node_by_path(/smdt_param);if (!param_node){printk(gt9xx wxl error smdt_param not node!!!\n);}of_property_read_u32(param_node, ctp_revert_x_flag, revert_x);of_property_read_u32(param_node, ctp_revert_y_flag, revert_y);of_property_read_u32(param_node, ctp_exchange_x_y_flag, revert_x_y);if(revert_x 1 )REVERT_X 1;else REVERT_X 0;if(revert_y 1 )REVERT_Y 1;else REVERT_Y 0;if(revert_x_y 1 )EXCHANG_XY 1;else EXCHANG_XY 0;i2c.client-irq gpio_to_irq(i2c.irq_gpio);tp_log_info(ilitek i2c.irq_gpio %d, i2c.client-irq %d\n, i2c.irq_gpio, i2c.client-irq);i2c.valid_i2c_register 1;#if 1ilitek_reset(i2c.reset_gpio);#endif#if !IC2120mdelay(200);#elsefor (i 0; i 30; i ) {ret ilitek_poll_int();tp_log_info(ilitek int status %d\n, ret);if (ret 0) {break;}else {mdelay(5);}}if (i 30) {#ifdef ILI_UPDATE_FWtp_log_info(ilitek reset but int not pull low so driver_upgrade_flag true\n);driver_upgrade_flag true;#endif}else #endif{#if 0msleep(2000);for (i 0; i 127; i) {//buf[0] 0x10;client-addr i;ret ilitek_i2c_write_and_read(i2c.client, buf, 0, 10, buf, 4);tp_log_info(ilitek %s, write 0x10 read buf %X, %X, %X\n, __func__, buf[0], buf[1], buf[2]);if (ret 0) {mdelay(5);}else {tp_log_info(ilitek %s, client-addr 0x%X, read buf %X, %X, %X\n, __func__, client-addr, buf[0], buf[1], buf[2]);tp_log_info(ilitek %s, client-addr 0x%X, read buf %X, %X, %X\n, __func__, client-addr, buf[0], buf[1], buf[2]);tp_log_info(ilitek %s, client-addr 0x%X, read buf %X, %X, %X\n, __func__, client-addr, buf[0], buf[1], buf[2]);tp_log_info(ilitek %s, client-addr 0x%X, read buf %X, %X, %X\n, __func__, client-addr, buf[0], buf[1], buf[2]);tp_log_info(ilitek %s, client-addr 0x%X, read buf %X, %X, %X\n, __func__, client-addr, buf[0], buf[1], buf[2]);break;}}#endif// read touch parameterret ilitek_i2c_read_tp_info();if(ret 0){tp_log_err(ilitek read tp info fail free gpio\n);if (gpio_is_valid(i2c.irq_gpio)) {gpio_free(i2c.irq_gpio);}if (gpio_is_valid(i2c.reset_gpio)) {gpio_free(i2c.reset_gpio);}return ret;}} #ifdef CLOCK_INTERRUPT #ifdef REPORT_THREADi2c.thread kthread_run(ilitek_i2c_touchevent_thread, NULL, ilitek_i2c_thread);if(i2c.thread (struct task_struct*)ERR_PTR){i2c.thread NULL;tp_log_err(%s, kthread create, error\n, __func__);} #endif #endifilitek_handle_irqorpolling();i2c.input_dev input_allocate_device();if(i2c.input_dev NULL){tp_log_err(%s, allocate input device, error\n, __func__);return -1;}ilitek_set_input_param(i2c.input_dev, i2c.max_tp, i2c.max_x, i2c.max_y);ret input_register_device(i2c.input_dev);if(ret){tp_log_err(%s, register input device, error\n, __func__);return ret;}i2c.valid_input_register 1;tp_log_info(%s, register input device, success\n, __func__); #ifdef ILI_UPDATE_FW#ifndef UPDATE_THREADE{update_wait_flag 1;ret ilitek_upgrade_firmware();if(ret ILITEK_UPDATE_OK) {tp_log_info(update end\n);}else if(ret ILITEK_I2C_TRANSFER_ERR) {tp_log_info(i2c communication error\n);}if(i2c.reset_request_success){ilitek_reset(i2c.reset_gpio);}// read touch parameterretilitek_i2c_read_tp_info();if(ret 0){tp_log_err(ilitek_i2c_read_tp_info err\n);return ret;}update_wait_flag 0;#if 1input_unregister_device(i2c.input_dev);#if 1i2c.input_dev input_allocate_device();if(i2c.input_dev NULL){tp_log_err(%s, allocate input device, error\n, __func__);return -1;}#endif// register input device//memset(i2c.input_dev, 0, sizeof(struct input_dev));// register input deviceilitek_set_input_param(i2c.input_dev, i2c.max_tp, i2c.max_x, i2c.max_y);ret input_register_device(i2c.input_dev);if(ret){tp_log_err(%s, register input device, error\n, __func__);return ret;}tp_log_info(%s, register input device, success\n, __func__);#endif}#else{thread_update kthread_run(ilitek_i2c_update_thread, NULL, ilitek_i2c_updatethread);if(thread_update (struct task_struct*)ERR_PTR){thread_update NULL;tp_log_err(%s,thread_update kthread create, error\n, __func__);}}#endif #endif#ifdef WRITE_2210_CFGthread_write_cfg kthread_run(ilitek_i2c_write_cfg_thread, NULL, ilitek_i2c_write_cfg_thread);if(thread_write_cfg (struct task_struct*)ERR_PTR){thread_write_cfg NULL;tp_log_err(%s,thread_write_cfg kthread create, error\n, __func__);} #endif#ifdef RECOGNITION_LONGTIME_BUTTONthread_longtime_button kthread_run(ilitek_i2c_check_longtime_button_thread, NULL, ilitek_i2c_check_longtime_button_thread);if(thread_longtime_button (struct task_struct*)ERR_PTR){thread_longtime_button NULL;tp_log_err(%s,thread_longtime_button kthread create, error\n, __func__);} #endif#ifdef GESTUREilitek_system_resume 1;input_set_capability(i2c.input_dev, EV_KEY, KEY_POWER);input_set_capability(i2c.input_dev, EV_KEY, KEY_W);input_set_capability(i2c.input_dev, EV_KEY, KEY_LEFT);input_set_capability(i2c.input_dev, EV_KEY, KEY_RIGHT);input_set_capability(i2c.input_dev, EV_KEY, KEY_UP);input_set_capability(i2c.input_dev, EV_KEY, KEY_DOWN);input_set_capability(i2c.input_dev, EV_KEY, KEY_O);input_set_capability(i2c.input_dev, EV_KEY, KEY_C);input_set_capability(i2c.input_dev, EV_KEY, KEY_E);input_set_capability(i2c.input_dev, EV_KEY, KEY_M); #endif#ifdef TOOLret create_tool_node(); #endif#ifdef SENSOR_TEST #ifdef SYS_ATTR_FILEilitek_sensor_test_init(); #endif #endif#ifdef HALL_CHECK #if HALL_CHECK HALL_CHECK_OTHERilitek_hall_check_init(); #elif HALL_CHECK HALL_CHECK_HWilitek_hall_check_hw_init(); #endif //end of HALL_CHECK #endifReport_Flag0;#ifdef PLAT_ROCKCHIPi2c.tp.tp_resume ilitek_i2c_late_resume;i2c.tp.tp_suspend ilitek_i2c_early_suspend;tp_register_fb(i2c.tp); #endif#ifdef ILITEK_ESD_CHECKINIT_DELAYED_WORK(esd_work, ilitek_touch_esd_func);esd_wq create_singlethread_workqueue(esd_wq); if (!esd_wq) {return -ENOMEM;}queue_delayed_work(esd_wq, esd_work, delay); #endif #ifdef WRITE_2210_CFGret sysfs_create_group(client-dev.kobj, ilitek_test_attribute_group);if (ret) {dev_err(client-dev, failed to create sysfs attributes: %d\n,ret);return ret;} #endif #ifdef DEBUG_NETLINK//netlink_sock netlink_kernel_create(init_net, 21, 0,udp_receive, NULL, THIS_MODULE);netlink_sock netlink_kernel_create(init_net, 21, cfg);#endifdevice_init_wakeup(client-dev, 1);return 0; }ilitek_i2c_probe 函数是 I2C 设备的初始化函数在设备被识别和加载驱动时调用。它的主要职责包括 初始化设备根据 I2C 客户端信息和设备 ID 来配置和初始化设备。分配所需资源如内存、GPIO 等。设置中断处理程序如适用为设备配置中断。注册输入设备根据设备类型设置输入设备的相关参数。 2. ilitek_ts.h ilitek_ts.h用于定义驱动相关的数据结构、常量、函数原型以及其他必要的包含。该头文件的内容用于抽象和管理与 Ilitek 触摸屏控制器之间的接口。 3. ILI25110CN080O0003_CRC.ili ILI25110CN080O0003_CRC.ili 可能是与 Ilitek 触摸屏控制器 ILI2511 系列相关的文件。 4. 驱动移植 a.将原厂提供的的驱动(ilitek)拷贝到下面的文件夹 ./kernel/drivers/input/touchscreenb. 然后修改 touchscreen 目录下的 Makefile以及Kconfig。这个Makefile中定义的就是要编译哪个平台的触摸屏驱动的。 kernel/drivers/input/touchscreen/Makefile中添加 obj-$(CONFIG_TOUCHSCREEN_ILITEK) ilitek/-------------------------------------------------------- kernel/drivers/input/touchscreen/Kconfig中添加 config TOUCHSCREEN_ILITEKtristate ILITEK touchscreens matched with screen support for rockchip platformdepends on I2C ARCH_ROCKCHIPhelpSay Y here if you have a touchscreen interface using the ILITEKtouchscreen chip on Rockchip platform, and your board-specificinitialization code includes that in its table of IIC devices.If unsure, say N.c. 内核中加载驱动 kernel/arch/arm/configs/rockchip_defconfig中添加 CONFIG_TOUCHSCREEN_ILITEKy四调试 确认 /sys/bus/i2c/devices 下有裝置节点 (-0041) 报点问题 有触摸效果只是坐标 mapping 问题。 X、Y 需要交換。 將 ILITEK_ROTATE_FLAG 设定值由 0 改为 1 或由 1 改为 0。 X、Y 值要做鏡像变化。 將 ILITEK_REVERT_X 或 ILITEK_REVERT_Y 的设定值由 0 改为 1 或由 1 改为 0。 若需要指定显示屏的解析度。 则开放 ILITEK_USE_LCM_RESOLUTION 宏同时將TOUCH_SCREEN_X_MAX 和 TOUCH_SCREEN_Y_MAX 设为正确值。
http://www.w-s-a.com/news/867558/

相关文章:

  • 企业网站优化系统浙江建设信息港证书查询
  • 很多年前的51网站如何做跨境电商需要哪些条件
  • 网站建设中 请稍后访问互联网营销设计
  • 软文网站名称用户浏览网站的方式
  • 大兴模版网站搭建哪家好网站建设与管理管理课程
  • 四川成都网站制作微信广告平台推广
  • 网站价格网页制作网站开发实训步骤
  • cms 导航网站鹤壁做网站价格
  • 微信营销软件免费版郑州关键词优化费用
  • 邢台专业做网站哪家好临沂网站建设中企动力
  • 建设网站是主营成本吗wordpress 后台
  • 猎头可以做单的网站企业网站建设
  • 建小程序需要网站吗在putty上怎样安装wordpress
  • 天津智能网站建设找哪家WordPress相册插件pro
  • 电脑网站页面怎么调大小济宁网站建设软件开发
  • 亿玛酷网站建设广州增城区最新消息
  • 企业网站视频栏目建设方案中企动力网站模板
  • 网站页面策划国外注册域名的网站
  • 百中搜如何做网站排名网站维护一年一般多少钱
  • 镇江地区做网站的公司wordpress说说加分类
  • 深圳高端网站设计免费的关键词优化软件
  • 视频网站公司沈阳网站建设服务
  • 网站全屏代码做网站必须用对方服务器
  • 网站速度慢wordpressssl正式申请后wordpress
  • 那个网站做玉石最专业西瓜创客少儿编程加盟
  • 备案时的网站建设方案书免费软件库
  • 惠州外贸网站建设网站模板 兼容ie8
  • 南京淄博网站建设方案php网站开发实训感想
  • 网站设计的含义只做恐怖片的网站
  • 网站改版方案ppt室内装修公司简介