diff options
author | Joel Sherrill <joel@rtems.org> | 2016-11-15 10:37:59 -0600 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2017-01-11 12:13:21 -0600 |
commit | 48a7fa31f918a6fc88719b3c9393a9ba2829f42a (patch) | |
tree | 10bf638de133099fcabe5fe713ca98a546a27ab2 /doc/bsp_howto/discrete.t | |
parent | Remove obsolete __RTEMS_HAVE_SYS_CPUSET_H__ (diff) | |
download | rtems-48a7fa31f918a6fc88719b3c9393a9ba2829f42a.tar.bz2 |
Remove texinfo format documentation. Replaced by Sphinx formatted documentation.
closes #2812.
Diffstat (limited to 'doc/bsp_howto/discrete.t')
-rw-r--r-- | doc/bsp_howto/discrete.t | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/doc/bsp_howto/discrete.t b/doc/bsp_howto/discrete.t deleted file mode 100644 index 9579bdf4be..0000000000 --- a/doc/bsp_howto/discrete.t +++ /dev/null @@ -1,183 +0,0 @@ -@c -@c COPYRIGHT (c) 1988-2002. -@c On-Line Applications Research Corporation (OAR). -@c All rights reserved. - -@chapter Discrete Driver - -The Discrete driver is responsible for providing an -interface to Discrete Input/Outputs. The capabilities provided -by this class of device driver are: - -@itemize @bullet -@item Initialize a Discrete I/O Board -@item Open a Particular Discrete Bitfield -@item Close a Particular Discrete Bitfield -@item Read from a Particular Discrete Bitfield -@item Write to a Particular Discrete Bitfield -@item Reset DACs -@item Reinitialize DACS -@end itemize - -Most discrete I/O devices are found on I/O cards that support many -bits of discrete I/O on a single card. This driver model is centered -on the notion of reading bitfields from the card. - -There are currently no discrete I/O device drivers included in the -RTEMS source tree. The information provided in this chapter -is based on drivers developed for applications using RTEMS. -It is hoped that this driver model information can form the -discrete I/O driver model that can be supported in future RTEMS -distribution. - -@section Major and Minor Numbers - -The @b{major} number of a device driver is its index in the -RTEMS Device Address Table. - -A @b{minor} number is associated with each device instance -managed by a particular device driver. An RTEMS minor number -is an @code{unsigned32} entity. Convention calls for -dividing the bits in the minor number down into categories -that specify a particular bitfield. This results in categories -like the following: - -@itemize @bullet - -@item @b{board} - indicates the board a particular bitfield is located on -@item @b{word} - indicates the particular word of discrete bits the -bitfield is located within -@item @b{start} - indicates the starting bit of the bitfield -@item @b{width} - indicates the width of the bitfield - -@end itemize - -From the above, it should be clear that a single device driver -can support multiple copies of the same board in a single system. -The minor number is used to distinguish the devices. - -By providing a way to easily access a particular bitfield from -the device driver, the application is insulated with knowing how -to mask fields in and out of a discrete I/O. - -@section Discrete I/O Driver Configuration - -There is not a standard discrete I/O driver configuration table but some -fields are common across different drivers. The discrete I/O driver -configuration table is typically an array of structures with each -structure containing the information for a particular board. -The following is a list of the type of information normally required -to configure an discrete I/O board: - -@table @b -@item board_offset -is the base address of a board. - -@item relay_initial_values -is an array of the values that should be written to each output -word on the board during initialization. This allows the driver -to start with the board's output in a known state. - -@end table - -@section Initialize a Discrete I/O Board - -At system initialization, the discrete I/O driver's initialization entry point -will be invoked. As part of initialization, the driver will perform -whatever board initializatin is required and then set all -outputs to their configured initial state. - -The discrete I/O driver may register a device name for bitfields of -particular interest to the system. Normally this will be restricted -to the names of each word and, if the driver supports it, an "all words". - -@section Open a Particular Discrete Bitfield - -This is the driver open call. Usually this call does nothing other than -validate the minor number. - -With some drivers, it may be necessary to allocate memory when a particular -device is opened. If that is the case, then this is often the place -to do this operation. - -@section Close a Particular Discrete Bitfield - -This is the driver close call. Usually this call does nothing. - -With some drivers, it may be necessary to allocate memory when a particular -device is opened. If that is the case, then this is the place -where that memory should be deallocated. - -@section Read from a Particular Discrete Bitfield - -This corresponds to the driver read call. After validating the minor -number and arguments, this call reads the indicated bitfield. A -discrete I/O devices may have to store the last value written to -a discrete output. If the bitfield is output only, saving the last -written value gives the appearance that it can be read from also. -If the bitfield is input, then it is sampled. - -@b{NOTE:} Many discrete inputs have a tendency to bounce. The application -may have to take account for bounces. - -The value returned is an @code{unsigned32} number -representing the bitfield read. This value is stored in the -@code{argument_block} passed in to the call. - -@b{NOTE:} Some discrete I/O drivers have a special minor number -used to access all discrete I/O bits on the board. If this special -minor is used, then the area pointed to by @code{argument_block} must -be the correct size. - -@section Write to a Particular Discrete Bitfield - -This corresponds to the driver write call. After validating the minor -number and arguments, this call writes the indicated device. If the -specified device is an ADC, then an error is usually returned. - -The value written is an @code{unsigned32} number -representing the value to be written to the specified -bitfield. This value is stored in the -@code{argument_block} passed in to the call. - -@b{NOTE:} Some discrete I/O drivers have a special minor number -used to access all discrete I/O bits on the board. If this special -minor is used, then the area pointed to by @code{argument_block} must -be the correct size. - -@section Disable Discrete Outputs - -This is one of the IOCTL functions supported by the I/O control -device driver entry point. When this IOCTL function is invoked, -the discrete outputs are disabled. - -@b{NOTE:} It may not be possible to disable/enable discrete output on all -discrete I/O boards. - -@section Enable Discrete Outputs - -This is one of the IOCTL functions supported by the I/O control -device driver entry point. When this IOCTL function is invoked, -the discrete outputs are enabled. - -@b{NOTE:} It may not be possible to disable/enable discrete output on all -discrete I/O boards. - -@section Reinitialize Outputs - -This is one of the IOCTL functions supported by the I/O control -device driver entry point. When this IOCTL function is invoked, -the discrete outputs are rewritten with the configured initial -output values. - -@section Get Last Written Values - -This is one of the IOCTL functions supported by the I/O control -device driver entry point. When this IOCTL function is invoked, -the following information is returned to the caller: - -@itemize @bullet -@item last value written to the specified output word -@item timestamp of when the last write was performed -@end itemize - |