mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-21 01:13:35 +08:00
Completes coding of the PWM module
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4200 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
@@ -0,0 +1,194 @@
|
||||
/********************************************************************************
|
||||
* include/limits.h
|
||||
*
|
||||
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef __INCLUDE_LIMITS_H
|
||||
#define __INCLUDE_LIMITS_H
|
||||
|
||||
/********************************************************************************
|
||||
* Included Files
|
||||
********************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
/* Architecture specific limits */
|
||||
|
||||
#include <arch/limits.h>
|
||||
|
||||
/********************************************************************************
|
||||
* Pre-processor Definitions
|
||||
********************************************************************************/
|
||||
|
||||
/* Configurable limits required by POSIX
|
||||
*
|
||||
* Required for all implementations:
|
||||
*
|
||||
* _POSIX_ARG_MAX Total length of string arguments
|
||||
* _POSIX_CHILD_MAX Number of child tasks active
|
||||
* _POSIX_LINK_MAX The number of links a file can have
|
||||
* _POSIX_MAX_CANON Number bytes in TTY canonical input queue
|
||||
* _POSIX_MAX_INPUT Number bytes in TTY canonical input queue
|
||||
* _POSIX_NAME_MAX Number of bytes in a file or pathname component
|
||||
* _POSIX_NGROUPS_MAX Number supplementary group IDs
|
||||
* _POSIX_OPEN_MAX Number of files a task can have open at once
|
||||
* _POSIX_PATH_MAX Number of bytes in a full pathname
|
||||
* _POSIX_PIPE_BUF Number of bytes for atomic write into pipe
|
||||
* _POSIX_SSIZE_MAX Largest filesystem write; also max value of ssize_t
|
||||
* _POSIX_STREAM_MAX Number of std I/O streams open at once
|
||||
* _POSIX_TZNAME_MAX Max number of bytes of a timezone name
|
||||
*
|
||||
* Required for sigqueue
|
||||
*
|
||||
* _POSIX_RTSIG_MAX Difference between SIGRTMIN and SIGRTMAX
|
||||
* _POSIX_SIGQUEUE_MAX Max number signals a task can queue
|
||||
*
|
||||
* Required for POSIX timers
|
||||
*
|
||||
* _POSIX_DELAYTIMER_MAX Max number timer overruns
|
||||
* _POSIX_TIMER_MAX Max number of timers per task
|
||||
* _POSIX_CLOCKRES_MIN Clock resolution in nanoseconds
|
||||
*
|
||||
* Required for asynchronous I/O
|
||||
*
|
||||
* _POSIX_AIO_LISTIO_MAX Max number of AIOs in single listio call
|
||||
* _POSIX_AIO_MAX Max number of simultaneous AIO operations
|
||||
*
|
||||
* Required for POSIX message passing
|
||||
*
|
||||
* _POSIX_MQ_OPEN_MAX Max number message queues task may open (mq_open)
|
||||
* _POSIX_MQ_PRIO_MAX Max message priority (mq_send)
|
||||
*
|
||||
* Required for POSIX semaphores
|
||||
*
|
||||
* _POSIX_SEM_NSEMS_MAX Max number of open semaphores per task
|
||||
* _POSIX_SEM_VALUE_MAX Max value a semaphore may have
|
||||
*/
|
||||
|
||||
#define _POSIX_ARG_MAX 4096
|
||||
#define _POSIX_CHILD_MAX 6
|
||||
#define _POSIX_LINK_MAX 8
|
||||
#define _POSIX_MAX_CANON 255
|
||||
#define _POSIX_MAX_INPUT 255
|
||||
#define _POSIX_NAME_MAX CONFIG_NAME_MAX
|
||||
#define _POSIX_NGROUPS_MAX 0
|
||||
#define _POSIX_OPEN_MAX CONFIG_NFILE_DESCRIPTORS
|
||||
#define _POSIX_PATH_MAX 255
|
||||
#define _POSIX_PIPE_BUF 512
|
||||
#define _POSIX_SSIZE_MAX INT_MAX
|
||||
#define _POSIX_STREAM_MAX CONFIG_NFILE_STREAMS
|
||||
#define _POSIX_TZNAME_MAX 3
|
||||
|
||||
/* Requred for sigqueue */
|
||||
|
||||
#define _POSIX_RTSIG_MAX 31
|
||||
#define _POSIX_SIGQUEUE_MAX 32
|
||||
|
||||
/* Required for POSIX timers.
|
||||
*
|
||||
* _POSIX_DELAYTIMER_MAX is the number of timer expiration overruns.
|
||||
*
|
||||
* _POSIX_TIMER_MAX is the per-process number of timers.
|
||||
*
|
||||
* _POSIX_CLOCKRES_MIN is the resolution of the CLOCK_REALTIME clock in nanoseconds.
|
||||
* CLOCK_REALTIME is controlled by the NuttX system time. The default value is the
|
||||
* system timer which has a resolution of 10 milliseconds. This default setting can
|
||||
* be overridden by defining the clock interval in milliseconds as CONFIG_MSEC_PER_TICK
|
||||
* in the board configuration file.
|
||||
*/
|
||||
|
||||
#define _POSIX_DELAYTIMER_MAX 32
|
||||
#define _POSIX_TIMER_MAX 32
|
||||
|
||||
#ifdef CONFIG_MSEC_PER_TICK
|
||||
# define _POSIX_CLOCKRES_MIN ((CONFIG_MSEC_PER_TICK)*1000000)
|
||||
#else
|
||||
# define _POSIX_CLOCKRES_MIN (10*1000000)
|
||||
#endif
|
||||
|
||||
/* Required for asynchronous I/O */
|
||||
|
||||
#define _POSIX_AIO_LISTIO_MAX 2
|
||||
#define _POSIX_AIO_MAX 1
|
||||
|
||||
/* Required for POSIX message passing */
|
||||
|
||||
#define _POSIX_MQ_OPEN_MAX 8
|
||||
#define _POSIX_MQ_PRIO_MAX UCHAR_MAX
|
||||
|
||||
/* Required for POSIX semaphores */
|
||||
|
||||
#define _POSIX_SEM_NSEMS_MAX INT_MAX
|
||||
#define _POSIX_SEM_VALUE_MAX 0x7fff
|
||||
|
||||
/* Actual limits. These values may be increased from the POSIX minimum
|
||||
* values above or made indeterminate
|
||||
*/
|
||||
|
||||
#define ARG_MAX _POSIX_ARG_MAX
|
||||
#define CHILD_MAX _POSIX_CHILD_MAX
|
||||
#define LINK_MAX _POSIX_LINK_MAX
|
||||
#define MAX_CANON _POSIX_MAX_CANON
|
||||
#define MAX_INPUT _POSIX_MAX_INPUT
|
||||
#define NAME_MAX _POSIX_NAME_MAX
|
||||
#define NGROUPS_MAX _POSIX_NGROUPS_MAX
|
||||
#define OPEN_MAX _POSIX_OPEN_MAX
|
||||
#define PATH_MAX _POSIX_PATH_MAX
|
||||
#define PIPE_BUF _POSIX_PIPE_BUF
|
||||
#define SSIZE_MAX _POSIX_SSIZE_MAX
|
||||
#define STREAM_MAX _POSIX_STREAM_MAX
|
||||
#define TZNAME_MAX _POSIX_TZNAME_MAX
|
||||
|
||||
#define RTSIG_MAX _POSIX_RTSIG_MAX
|
||||
#define SIGQUEUE_MAX _POSIX_SIGQUEUE_MAX
|
||||
|
||||
#define DELAYTIMER_MAX _POSIX_DELAYTIMER_MAX
|
||||
#define TIMER_MAX _POSIX_TIMER_MAX
|
||||
#define CLOCKRES_MIN _POSIX_CLOCKRES_MIN
|
||||
|
||||
/* Required for asynchronous I/O */
|
||||
|
||||
#define AIO_LISTIO_MAX _POSIX_AIO_LISTIO_MAX
|
||||
#define AIO_MAX _POSIX_AIO_MAX
|
||||
|
||||
/* Required for POSIX message passing */
|
||||
|
||||
#define MQ_OPEN_MAX _POSIX_MQ_OPEN_MAX
|
||||
#define MQ_PRIO_MAX _POSIX_MQ_PRIO_MAX
|
||||
|
||||
/* Required for POSIX semaphores */
|
||||
|
||||
#define SEM_NSEMS_MAX _POSIX_SEM_NSEMS_MAX
|
||||
#define SEM_VALUE_MAX _POSIX_SEM_VALUE_MAX
|
||||
|
||||
#endif /* __INCLUDE_LIMITS_H */
|
||||
Reference in New Issue
Block a user