firmware
IEM Firmware Documentation
Loading...
Searching...
No Matches
projdefs.h
Go to the documentation of this file.
1
/*
2
* FreeRTOS Kernel V11.1.0
3
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
*
5
* SPDX-License-Identifier: MIT
6
*
7
* Permission is hereby granted, free of charge, to any person obtaining a copy of
8
* this software and associated documentation files (the "Software"), to deal in
9
* the Software without restriction, including without limitation the rights to
10
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
11
* the Software, and to permit persons to whom the Software is furnished to do so,
12
* subject to the following conditions:
13
*
14
* The above copyright notice and this permission notice shall be included in all
15
* copies or substantial portions of the Software.
16
*
17
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
19
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
20
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
21
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
*
24
* https://www.FreeRTOS.org
25
* https://github.com/FreeRTOS
26
*
27
*/
28
29
#ifndef PROJDEFS_H
30
#define PROJDEFS_H
31
32
/*
33
* Defines the prototype to which task functions must conform. Defined in this
34
* file to ensure the type is known before portable.h is included.
35
*/
36
typedef
void (*
TaskFunction_t
)(
void
* arg );
37
38
/* Converts a time in milliseconds to a time in ticks. This macro can be
39
* overridden by a macro of the same name defined in FreeRTOSConfig.h in case the
40
* definition here is not suitable for your application. */
41
#ifndef pdMS_TO_TICKS
42
#define pdMS_TO_TICKS( xTimeInMs ) ( ( TickType_t ) ( ( ( uint64_t ) ( xTimeInMs ) * ( uint64_t ) configTICK_RATE_HZ ) / ( uint64_t ) 1000U ) )
43
#endif
44
45
/* Converts a time in ticks to a time in milliseconds. This macro can be
46
* overridden by a macro of the same name defined in FreeRTOSConfig.h in case the
47
* definition here is not suitable for your application. */
48
#ifndef pdTICKS_TO_MS
49
#define pdTICKS_TO_MS( xTimeInTicks ) ( ( TickType_t ) ( ( ( uint64_t ) ( xTimeInTicks ) * ( uint64_t ) 1000U ) / ( uint64_t ) configTICK_RATE_HZ ) )
50
#endif
51
52
#define pdFALSE ( ( BaseType_t ) 0 )
53
#define pdTRUE ( ( BaseType_t ) 1 )
54
#define pdFALSE_SIGNED ( ( BaseType_t ) 0 )
55
#define pdTRUE_SIGNED ( ( BaseType_t ) 1 )
56
#define pdFALSE_UNSIGNED ( ( UBaseType_t ) 0 )
57
#define pdTRUE_UNSIGNED ( ( UBaseType_t ) 1 )
58
59
#define pdPASS ( pdTRUE )
60
#define pdFAIL ( pdFALSE )
61
#define errQUEUE_EMPTY ( ( BaseType_t ) 0 )
62
#define errQUEUE_FULL ( ( BaseType_t ) 0 )
63
64
/* FreeRTOS error definitions. */
65
#define errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY ( -1 )
66
#define errQUEUE_BLOCKED ( -4 )
67
#define errQUEUE_YIELD ( -5 )
68
69
/* Macros used for basic data corruption checks. */
70
#ifndef configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES
71
#define configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES 0
72
#endif
73
74
#if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS )
75
#define pdINTEGRITY_CHECK_VALUE 0x5a5a
76
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS )
77
#define pdINTEGRITY_CHECK_VALUE 0x5a5a5a5aUL
78
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_64_BITS )
79
#define pdINTEGRITY_CHECK_VALUE 0x5a5a5a5a5a5a5a5aULL
80
#else
81
#error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width.
82
#endif
83
84
/* The following errno values are used by FreeRTOS+ components, not FreeRTOS
85
* itself. */
86
#define pdFREERTOS_ERRNO_NONE 0
/* No errors */
87
#define pdFREERTOS_ERRNO_ENOENT 2
/* No such file or directory */
88
#define pdFREERTOS_ERRNO_EINTR 4
/* Interrupted system call */
89
#define pdFREERTOS_ERRNO_EIO 5
/* I/O error */
90
#define pdFREERTOS_ERRNO_ENXIO 6
/* No such device or address */
91
#define pdFREERTOS_ERRNO_EBADF 9
/* Bad file number */
92
#define pdFREERTOS_ERRNO_EAGAIN 11
/* No more processes */
93
#define pdFREERTOS_ERRNO_EWOULDBLOCK 11
/* Operation would block */
94
#define pdFREERTOS_ERRNO_ENOMEM 12
/* Not enough memory */
95
#define pdFREERTOS_ERRNO_EACCES 13
/* Permission denied */
96
#define pdFREERTOS_ERRNO_EFAULT 14
/* Bad address */
97
#define pdFREERTOS_ERRNO_EBUSY 16
/* Mount device busy */
98
#define pdFREERTOS_ERRNO_EEXIST 17
/* File exists */
99
#define pdFREERTOS_ERRNO_EXDEV 18
/* Cross-device link */
100
#define pdFREERTOS_ERRNO_ENODEV 19
/* No such device */
101
#define pdFREERTOS_ERRNO_ENOTDIR 20
/* Not a directory */
102
#define pdFREERTOS_ERRNO_EISDIR 21
/* Is a directory */
103
#define pdFREERTOS_ERRNO_EINVAL 22
/* Invalid argument */
104
#define pdFREERTOS_ERRNO_ENOSPC 28
/* No space left on device */
105
#define pdFREERTOS_ERRNO_ESPIPE 29
/* Illegal seek */
106
#define pdFREERTOS_ERRNO_EROFS 30
/* Read only file system */
107
#define pdFREERTOS_ERRNO_EUNATCH 42
/* Protocol driver not attached */
108
#define pdFREERTOS_ERRNO_EBADE 50
/* Invalid exchange */
109
#define pdFREERTOS_ERRNO_EFTYPE 79
/* Inappropriate file type or format */
110
#define pdFREERTOS_ERRNO_ENMFILE 89
/* No more files */
111
#define pdFREERTOS_ERRNO_ENOTEMPTY 90
/* Directory not empty */
112
#define pdFREERTOS_ERRNO_ENAMETOOLONG 91
/* File or path name too long */
113
#define pdFREERTOS_ERRNO_EOPNOTSUPP 95
/* Operation not supported on transport endpoint */
114
#define pdFREERTOS_ERRNO_EAFNOSUPPORT 97
/* Address family not supported by protocol */
115
#define pdFREERTOS_ERRNO_ENOBUFS 105
/* No buffer space available */
116
#define pdFREERTOS_ERRNO_ENOPROTOOPT 109
/* Protocol not available */
117
#define pdFREERTOS_ERRNO_EADDRINUSE 112
/* Address already in use */
118
#define pdFREERTOS_ERRNO_ETIMEDOUT 116
/* Connection timed out */
119
#define pdFREERTOS_ERRNO_EINPROGRESS 119
/* Connection already in progress */
120
#define pdFREERTOS_ERRNO_EALREADY 120
/* Socket already connected */
121
#define pdFREERTOS_ERRNO_EADDRNOTAVAIL 125
/* Address not available */
122
#define pdFREERTOS_ERRNO_EISCONN 127
/* Socket is already connected */
123
#define pdFREERTOS_ERRNO_ENOTCONN 128
/* Socket is not connected */
124
#define pdFREERTOS_ERRNO_ENOMEDIUM 135
/* No medium inserted */
125
#define pdFREERTOS_ERRNO_EILSEQ 138
/* An invalid UTF-16 sequence was encountered. */
126
#define pdFREERTOS_ERRNO_ECANCELED 140
/* Operation canceled. */
127
128
/* The following endian values are used by FreeRTOS+ components, not FreeRTOS
129
* itself. */
130
#define pdFREERTOS_LITTLE_ENDIAN 0
131
#define pdFREERTOS_BIG_ENDIAN 1
132
133
/* Re-defining endian values for generic naming. */
134
#define pdLITTLE_ENDIAN pdFREERTOS_LITTLE_ENDIAN
135
#define pdBIG_ENDIAN pdFREERTOS_BIG_ENDIAN
136
137
138
#endif
/* PROJDEFS_H */
TaskFunction_t
void(* TaskFunction_t)(void *arg)
Definition
projdefs.h:36
external
freertos+
include
projdefs.h
Generated by
1.14.0