Linux下Flash-LED的处理
Linux下Flash-LED的处理
一些LED设备提供两种模式-torch和flash。在LED子系统中,LED类(参见Linux下的LED处理)和LED Flash类,分别支持这些模式。torch模式相关的功能在默认情况下启用,只有当驱动程序通过设置LED_DEV_CAP_flash标志来声明时,才会启用flash功能。
为了启用对flash led的支持,必须在内核配置中定义flash LEDs CONFIG_LEDS_CLASS_FLASH符号。必须在具有led_classdev_flash_register功能的LED子系统中注册LED flash类驱动程序。
以下sysfs属性用于控制flash LED设备:
(see Documentation/ABI/testing/sysfs-class-led-flash)
- flash_brightness
- max_flash_brightness
- flash_timeout
- max_flash_timeout
- flash_strobe
- flash_fault
V4L2 flash wrapper for flash LEDs
LED子系统驱动器,可以从VideoForLinux2子系统level进行控制。为了启用此配置,需要在内核配置中定义CONFIG_V4L2_FLASH_LED_CLASS类符号。
驱动程序必须调用v4l2_flash_init函数才能在v4l2子系统中注册。函数有六个参数:
- dev:
flash device, e.g. an I2C device
- of_node:
of_node of the LED, may be NULL if the same as device’s
- fled_cdev:
LED flash class device to wrap
- iled_cdev:
表示与fled_cdev关联LED flash设备可能为空NULL
- ops:
V4L2 specific ops
- external_strobe_set
定义flash LED strobe的源source - V4L2_CID_FLASH_STROBE control or external source,通常是一个传感器,使flash strobe开始与曝光开始同步成为可能。
- intensity_to_led_brightness and led_brightness_to_intensity
perform enum led_brightness <-> V4L2 intensity conversion in a device specific manner - they can be used for devices with non-linear LED current scale.
- config:
configuration for V4L2 Flash sub-device
- dev_name
the name of the media entity, unique in the system,
- flash_faults
bitmask of flash faults that the LED flash class device can report; corresponding LED_FAULT* bit definitions are available in <linux/led-class-flash.h>,
- torch_intensity
constraints for the LED in TORCH mode in microamperes,
- indicator_intensity
constraints for the indicator LED in microamperes,
- has_external_strobe
determines whether the flash strobe source can be switched to external,
在remove时,必须调用v4l2_flash_release函数,该函数接受一个参数v4l2_flash_init先前返回的- struct v4l2_flash指针。可使用NULL或error指针参数,安全地调用此函数。
请参阅drivers/leds/leds-max77693.c,了解v4l2闪存包装器的示例性用法。
一旦创建媒体控制器设备的驱动程序,注册了V4L2子设备,子设备节点的作用就像本机V4L2 flash API设备的节点一样。调用被简单地路由到LED flash API。
打开V4L2 flash子设备,使LED子系统sysfs接口不可用。关闭V4L2闪存子设备,接口将重新启用。
Linux下Flash-LED的处理的更多相关文章
- linux下flash的安装
linux的初学者可能会遇到各种各样的问题,其中的问题就有一个,linux下的flash插件怎么安装呢? 首先前往flash官网下载好对应的文件,然后提取里面的一个叫做 libflashplayer. ...
- Linux下的led驱动程序,ok6410
本程序採用动态映射的方法控制led.硬件平台为飞凌的ok6410 led.h:定义控制命令 #ifndef _LED_H #define _LED_H #define LED_MAGIC 'M' #d ...
- Linux下 flash工具的使用
使用命令前用cat /proc/mtd 查看一下mtdchar字符设备:或者用ls -l /dev/mtd* #cat /proc/mtd dev: size erasesize name ...
- 关于linux下的嵌入式文件系统以及flash文件系统选择
嵌入式linux下常见的文件系统 • RomFS:只读文件系统,可以放在ROM空间,也 可以在系统的RAM中,嵌入式linux中常用来作 根文件系统 • RamFS:利用VFS自身结构而形成的内存文件 ...
- 如何编写linux下nand flash驱动-4
2. 软件方面 如果想要在Linux下编写Nand Flash驱动,那么就先要搞清楚Linux下,关于此部分的整个框架.弄明白,系统是如何管理你的nand flash的,以及,系统都帮你做 ...
- Linux下STM32开发环境的搭建
目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...
- Linux下的编程实战【转】
一篇比较不错的文章, 降到了 makefile make , gcc编译器,GDB调试器, Linux文件系统,Linux文件API,.C语言库函数(C库函数的文件操作实际上是独立于具体的操作系统平台 ...
- [编译] 3、在Linux下搭建51单片机的开发烧写环境(makefile版)
星期二, 10. 七月 2018 01:01上午 - beautifulzzzz 一.SDCC(Small Device C Compiler)编译环境搭建 SDCC是一个小型设备的C语言编译器,该编 ...
- Linux下开发STM32单片机
一开始学习51单片机就是用的MDK这个IDE软件,IDE软件虽然看起来直观好像更加容易入门(因为有界面看起来很形象),但是实际上IDE却是向我们这些入门人员隐藏了背后真实存在的过程,让我们以为编译就是 ...
随机推荐
- hdu 3721 树的最小直径
题意: 给你一棵树,让你改变一条边,改变之后依然是一棵树,然后问你怎样改变才能让树的直径最短.这里的改变一条边指的是指把一条边长度不变,连在别的两个点上. 思路: 首先求出树的 ...
- DexHunter的原理分析和使用说明(一)
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/53710357 Android通用脱壳工具DexHunter是2015年下半年,大牛 ...
- 编译android4.4刷到nexus 5
操作系统:ubuntu14.4tls android源码版本:4.4 手机:nexus5 1 获得手机的驱动程序(跟硬件平台有关):Binaries for Nexus Device 查到nexus ...
- UVA11549计算器谜题
题意: 有一个计算机只能保留数字的前n位,你有一个数字k(k<=9),反复平方后在计算机上显示的最大数字是多少. 思路: 显然这个题目是有循环节的,为什么有循环节?首先 ...
- 对标印度的PostMan,一款中国接口测试软件的崛起
对于我们开发者,Api接口调试一定不陌生.包括我在内,之前进行Api调试时,一直使用的是一款印度的软件Postman.记得刚入手的时候,由于该款软件缺乏中文版本,上手一直比较慢,而且还至少存在如下几个 ...
- JAVA连接、操作数据库的DBHelper
工厂模式的DBHelper 1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.Prepa ...
- KeUserModeCallback函数
内核调用用户 正常的系统调用过程为Ring3->Ring0->Ring3,而KeUserModeCallback提供了一种Ring0->Ring3->Ring0的方式,即从内核 ...
- 脱壳入门----脱ASPack壳保护的DLL
前言 结合脱dll壳的基本思路,对看雪加密解密里的一个ASPack壳保护的dll进行脱壳分析. 脱壳详细过程 寻找程序的OEP 先将目标DLL拖入OD,来到壳的入口处. 然后利用堆栈平衡原理在push ...
- 2020 ICPC EC Final西安现场赛游记
也不知道从何说起,也不知道会说些什么,最想表达的就是很累很累. 从第一天去的时候满怀希望,没什么感觉甚至还有一些兴奋.到后来一直在赶路,感觉很疲惫,热身赛的时候觉得马马虎虎,导致热身赛被咕.然后教练就 ...
- Nifi:初识nifi
写在前面: 第一次接触这一系统的时候,只有github上的一坨源码和官方的英文文档,用起来只能说是一步一个坑,一踩一个脚印,现在回想那段血泪史,只想 ***,现在用起来算是有了一些经验和总结,这里就做 ...