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的处理的更多相关文章

  1. linux下flash的安装

    linux的初学者可能会遇到各种各样的问题,其中的问题就有一个,linux下的flash插件怎么安装呢? 首先前往flash官网下载好对应的文件,然后提取里面的一个叫做 libflashplayer. ...

  2. Linux下的led驱动程序,ok6410

    本程序採用动态映射的方法控制led.硬件平台为飞凌的ok6410 led.h:定义控制命令 #ifndef _LED_H #define _LED_H #define LED_MAGIC 'M' #d ...

  3. Linux下 flash工具的使用

    使用命令前用cat /proc/mtd 查看一下mtdchar字符设备:或者用ls -l /dev/mtd* #cat /proc/mtd dev:    size   erasesize  name ...

  4. 关于linux下的嵌入式文件系统以及flash文件系统选择

    嵌入式linux下常见的文件系统 • RomFS:只读文件系统,可以放在ROM空间,也 可以在系统的RAM中,嵌入式linux中常用来作 根文件系统 • RamFS:利用VFS自身结构而形成的内存文件 ...

  5. 如何编写linux下nand flash驱动-4

    2.       软件方面 如果想要在Linux下编写Nand Flash驱动,那么就先要搞清楚Linux下,关于此部分的整个框架.弄明白,系统是如何管理你的nand flash的,以及,系统都帮你做 ...

  6. Linux下STM32开发环境的搭建

    目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...

  7. Linux下的编程实战【转】

    一篇比较不错的文章, 降到了 makefile make , gcc编译器,GDB调试器, Linux文件系统,Linux文件API,.C语言库函数(C库函数的文件操作实际上是独立于具体的操作系统平台 ...

  8. [编译] 3、在Linux下搭建51单片机的开发烧写环境(makefile版)

    星期二, 10. 七月 2018 01:01上午 - beautifulzzzz 一.SDCC(Small Device C Compiler)编译环境搭建 SDCC是一个小型设备的C语言编译器,该编 ...

  9. Linux下开发STM32单片机

    一开始学习51单片机就是用的MDK这个IDE软件,IDE软件虽然看起来直观好像更加容易入门(因为有界面看起来很形象),但是实际上IDE却是向我们这些入门人员隐藏了背后真实存在的过程,让我们以为编译就是 ...

随机推荐

  1. linux 安装rabbitMQ详细教程

    经过第一次的安装失败, 第二次总算是成功了, 这里总结一下. 第一步:下载版本对应的rpm安装包 1. 下载Erlang安装包:RabbitMQ是Erlang语言编写,所以Erang环境必须要有,注: ...

  2. 【Vue】Vue学习(四)-状态管理中心Vuex的简单使用

    一.vuex的简介 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.Vuex背后的基本思想,就是前面所说的单向数据流.图4就是Vuex实现单向数据流的示意图.    Store     ...

  3. hdu4849 最短路

    题意:       让你求0到所有点最短路中对m取余最小的那个数. 思路:       简单题,直接根据题目给的公式把z求出来,然后建边,然后最短路,然后枚举每一个点对m取余记录最小,然后输出答案,然 ...

  4. POJ3160强连通+spfa最长路(不错)

    题意:       给你一个有向图,每个点上有一个权值,可正可负,然后给你一些链接关系,让你找到一个起点,从起点开始走,走过的边可以在走,但是拿过权值的点就不能再拿了,问最多能拿到多少权值? 思路: ...

  5. 【axios】get/post请求params/data传参总结

    axios中get/post请求方式 1. 前言 最近突然发现post请求可以使用params方式传值,然后想总结一下其中的用法. 2.1 分类 get请求中没有data传值方式 2.2 get请求 ...

  6. 《前端运维》一、Linux基础--基础命令(1)

    在开始之前,你需要做一些准备工作,去阿里买一台服务器,服务器的具体细节其实并不是十分重要,我也不会在这里一步一步的教大家如何去买一个服务器.百度一下足够了,但是还是要贴一下这篇文章中,我所使用的服务器 ...

  7. 数据表格 layui.table

    layui官网-表单 自动渲染 方法渲染 table.render,cols中的field是后台传递的data map.put("data",stuService.selectSt ...

  8. JVM虚拟机-垃圾回收机制与垃圾收集器概述

    目录 前言 什么是垃圾回收 垃圾回收的区域 垃圾回收机制 流程 怎么判断对象已经死亡 引用计数法 可达性分析算法 不可达的对象并非一定会回收 关于引用 强引用(StrongReference) 软引用 ...

  9. 折腾Linux内核编译

    计网提高实验.指导书给的是远古版本2.6.39.2,轻易在某hub上找到下载地址 查表 看起来Ubuntu 11.04离得最近,遂下一个镜像 懒得上google检索了,编译准备先follow这篇博客试 ...

  10. buaaoo_fourth_assignment

    你轻轻地走了 一.架构设计 (1)第一次作业 类图 复杂度分析 如上图是本单元第一次作业的架构设计,由于本人最开始未发现可以直接继承官方的类,所以自己将所用到的各种type都重新建了类,于是这就导致了 ...