incubator-nuttx/drivers
Gregory Nutt ad9b3f8ab8 wdog.h does not contain any application interface, only internal OS interface. Further, it is non-standard. Move wdog.h from include/ to include/nuttx. For the same reason, move the description of the watchdog timer interfaces from the Users Guide to the Porting Guide. 2014-08-21 11:16:55 -06:00
..
analog Remove empty ADC write method. From Kosma Moczek 2014-06-30 07:55:28 -06:00
audio audio NULL driver: Fix an error in a variable name 2014-08-09 10:33:31 -06:00
bch SAM3/4: Fix compile of sam_aes.c if CONFIG_CRYPTO_AES is defined. rom Max Nekludov 2014-07-07 08:03:18 -06:00
input wdog.h does not contain any application interface, only internal OS interface. Further, it is non-standard. Move wdog.h from include/ to include/nuttx. For the same reason, move the description of the watchdog timer interfaces from the Users Guide to the Porting Guide. 2014-08-21 11:16:55 -06:00
lcd SAM4E-EK: Add ILI9341-based LCD driver 2014-08-20 11:45:01 -06:00
mmcsd Updated README file, cosmetic changes to comments and debug output 2014-07-30 10:19:09 -06:00
mtd Change all time conversions. Yech. New timer units in microseconds breaks all existing logic that used milliseconds in the conversions. Something likely got broken doing this, probably because I confused a MSEC2TICK conversion with a TICK2MSEC conversion. Also, the tickless OS no appears fully functional and passes the OS test on the simulator with no errors 2014-08-07 18:00:38 -06:00
net wdog.h does not contain any application interface, only internal OS interface. Further, it is non-standard. Move wdog.h from include/ to include/nuttx. For the same reason, move the description of the watchdog timer interfaces from the Users Guide to the Porting Guide. 2014-08-21 11:16:55 -06:00
pipes More trailing whilespace removal 2014-04-13 14:32:20 -06:00
power More trailing whilespace removal 2014-04-13 14:32:20 -06:00
sensors LIS331DL driver: Correct build dependency. Sourceforge ticket #41 from Kosma Moczek 2014-05-08 07:39:10 -06:00
sercomm Make sure that there is one space between if and condition 2014-04-12 12:53:19 -06:00
serial SAMA5: Fix bugs in timer/counter interrupts and one-shot timer 2014-08-10 10:47:38 -06:00
spi Correct port direction for Arduino MISO signal 2013-07-02 12:37:20 -06:00
syslog SAMA5D4-EK: NSH configuration now has the RAMLOG enabled by default 2014-07-01 15:09:47 -06:00
usbdev Fix some recurring typos: postion->position, *atino->*ation 2014-07-08 13:12:36 -06:00
usbhost Fix some recurring typos: postion->position, *atino->*ation 2014-07-08 13:12:36 -06:00
video More trailing whilespace removal 2014-04-13 14:32:20 -06:00
wireless CC3000: Fix build when POLL is enabled. From Jussi Kivilinna. 2014-05-21 07:37:46 -06:00
.gitignore .dSYM only needs to be in the same .gitignore files as .exe 2013-05-30 15:02:04 -06:00
Kconfig WM8904: Add initialization logic 2014-07-19 10:20:19 -06:00
Makefile Add an MTD layer that will add read-ahead or write buffering to any MTD driver (incomplete) 2014-07-11 11:20:11 -06:00
README.txt Move ramdisk.h to include/nutt/fs/ramdisk.h 2013-12-10 09:42:58 -06:00
can.c Fix various typos in comments. From Alan Carvalho de Assis 2014-04-06 09:02:02 -06:00
dev_null.c Clean up some naming: fd vs. fildes vs. filedes and filep vs filp 2013-09-28 16:50:07 -06:00
dev_zero.c Clean up some naming: fd vs. fildes vs. filedes and filep vs filp 2013-09-28 16:50:07 -06:00
loop.c apps/examples/nettest and poll: Complete Kconfig files 2013-01-24 16:28:15 +00:00
pwm.c More trailing whilespace removal 2014-04-13 14:32:20 -06:00
ramdisk.c More trailing whilespace removal 2014-04-13 14:32:20 -06:00
rwbuffer.c NX graphics library: Macroize some color operators that become trivial when there is only one color plane 2014-07-12 07:44:56 -06:00
timer.c Timer driver updates from Bob Doiron 2014-05-05 14:40:19 -06:00
watchdog.c More trailing whilespace removal 2014-04-13 14:32:20 -06:00

README.txt

README
^^^^^^

This directory contains various device drivers -- both block and
character drivers as well as other more specialized drivers.

Contents:
  - Files in this directory
  - Subdirectories of this directory
  - Skeleton files

Files in this directory
^^^^^^^^^^^^^^^^^^^^^^^

can.c
  This is a CAN driver.  See include/nuttx/can.h for usage information.

dev_null.c and dev_zero.c
  These files provide the standard /dev/null and /dev/zero devices.
  See include/nuttx/fs/fs.h for functions that should be called if you
  want to register these devices (devnull_register() and
  devzero_register()).

loop.c
  Supports the standard loop device that can be used to export a
  file (or character device) as a block device.  See losetup() and
  loteardown() in include/nuttx/fs/fs.h.

pwm.c
  Provides the "upper half" of a pulse width modulation (PWM) driver.
  The "lower half" of the PWM driver is provided by device-specific
  logic.  See include/nuttx/pwm.h for usage information.

ramdisk.c
  Can be used to set up a block of memory or (read-only) FLASH as
  a block driver that can be mounted as a files system.  See
  include/nuttx/fs/ramdisk.h.

ramlog.c
  This is a driver that was intended to support debugging output,
  aka syslogging, when the normal serial output is not available.
  For example, if you are using a telnet or USB serial console,
  the debug output will get lost.

  This driver is similar to a pipe in that it saves the debugging
  output in a FIFO in RAM.  It differs from a pipe in numerous
  details as needed to support logging.

  This driver is built when CONFIG_RAMLOG is defined in the Nuttx
  configuration.

rwbuffer.c
  A facility that can be use by any block driver in-order to add
  writing buffering and read-ahead buffering.

Subdirectories of this directory:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

analog/
  This directory holds implementations of analog device drivers.
  This includes drivers for Analog to Digital Conversion (ADC) as
  well as drivers for Digital to Analog Conversion (DAC).
  See include/nuttx/analog/*.h for registration information.

bch/
  Contains logic that may be used to convert a block driver into
  a character driver.  This is the complementary conversion as that
  performed by loop.c.  See include/nuttx/fs/fs.h for registration
  information.

input/
  This directory holds implementations of input device drivers.
  This includes such things as touchscreen and keypad drivers.
  See include/nuttx/input/*.h for registration information.

lcd/
  Drivers for parallel and serial LCD and OLED type devices.  These
  drivers support interfaces as defined in include/nuttx/lcd/lcd.h

mmcsd/
  Support for MMC/SD block drivers.  MMC/SD block drivers based on
  SPI and SDIO/MCI interfaces are supported.  See include/nuttx/mmcsd.h
  and include/nuttx/sdio.h for further information.

mtd/
  Memory Technology Device (MTD) drivers.  Some simple drivers for
  memory technologies like FLASH, EEPROM, NVRAM, etc.  See
  include/nuttx/mtd/mtd.h

  (Note: This is a simple memory interface and should not be
  confused with the "real" MTD developed at infradead.org.  This
  logic is unrelated; I just used the name MTD because I am not
  aware of any other common way to refer to this class of devices).

net/
  Network interface drivers.  See also include/nuttx/net/net.h

pipes/
  FIFO and named pipe drivers.  Standard interfaces are declared
  in include/unistd.h

power/
  Power management (PM) driver interfaces.  These interfaces are used
  to manage power usage of a platform by monitoring driver activity
  and by placing drivers into reduce power usage modes when the
  drivers are not active.

sensors/
  Drivers for various sensors

sercomm/
  Sercomm is the transport used by osmocom-bb that runs on top of serial.
  See http://bb.osmocom.org/trac/wiki/nuttx-bb/run for detailed the usage
  of nuttx with sercomm.

  drivers/sercomm is only built if CONFIG_SERCOMM_CONSOLE in the NuttX
  configuration file.  If you attempt to build this driver without
  osmocom-bb, you will get compilation errors because of header files
  that are needed from the osmocom-bb.

serial/
  Front-end character drivers for chip-specific UARTs.  This provide
  some TTY-like functionality and are commonly used (but not required for)
  the NuttX system console.  See also include/nuttx/serial/serial.h

usbdev/
  USB device drivers.  See also include/nuttx/usb/usbdev.h

usbhost/
  USB host drivers.  See also include/nuttx/usb/usbhost.h

wireless/
  Drivers for various wireless devices.

Skeleton Files
^^^^^^^^^^^^^^

Skeleton files a "empty" frameworks for NuttX drivers.  They are provided to
give you a good starting point if you want to create a new NuttX driver.
The following skeleton files are available:

  drivers/lcd/skeleton.c -- Skeleton LCD driver
  drivers/mtd/skeleton.c -- Skeleton memory technology device drivers
  drivers/net/skeleton.c -- Skeleton network/Ethernet drivers
  drivers/usbhost/usbhost_skeleton.c -- Skeleton USB host class driver