/* * File: VCU_Model_data.c * * Code generated for Simulink model 'VCU_Model'. * * Model version : 19.19 * Simulink Coder version : 9.7 (R2022a) 13-Nov-2021 * C/C++ source code generated on : Wed Jan 18 09:40:11 2023 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex-M * Code generation objectives: Unspecified * Validation result: Not run */ /* * File: VCU_Model.h * * Code generated for Simulink model 'VCU_Model'. * * Model version : 19.19 * Simulink Coder version : 9.7 (R2022a) 13-Nov-2021 * C/C++ source code generated on : Wed Jan 18 09:40:11 2023 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex-M * Code generation objectives: Unspecified * Validation result: Not run */ /* * File: rtwtypes.h * * Code generated for Simulink model 'VCU_Model'. * * Model version : 19.19 * Simulink Coder version : 9.7 (R2022a) 13-Nov-2021 * C/C++ source code generated on : Wed Jan 18 09:40:11 2023 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex-M * Code generation objectives: Unspecified * Validation result: Not run */ /* Logical type definitions */ /*=======================================================================* * Target hardware information * Device type: ARM Compatible->ARM Cortex-M * Number of bits: char: 8 short: 16 int: 32 * long: 32 * native word size: 32 * Byte ordering: LittleEndian * Signed integer division rounds to: Zero * Shift right on a signed integer as arithmetic shift: on *=======================================================================*/ /*=======================================================================* * Fixed width word size data types: * * int8_T, int16_T, int32_T - signed 8, 16, or 32 bit integers * * uint8_T, uint16_T, uint32_T - unsigned 8, 16, or 32 bit integers * * real32_T, real64_T - 32 and 64 bit floating point numbers * *=======================================================================*/ typedef signed char int8_T; typedef unsigned char uint8_T; typedef short int16_T; typedef unsigned short uint16_T; typedef int int32_T; typedef unsigned int uint32_T; typedef float real32_T; typedef double real64_T; /*===========================================================================* * Generic type definitions: boolean_T, char_T, byte_T, int_T, uint_T, * * real_T, time_T, ulong_T. * *===========================================================================*/ typedef double real_T; typedef double time_T; typedef unsigned char boolean_T; typedef int int_T; typedef unsigned int uint_T; typedef unsigned long ulong_T; typedef char char_T; typedef unsigned char uchar_T; typedef char_T byte_T; /*===========================================================================* * Complex number type definitions * *===========================================================================*/ typedef struct { real32_T re; real32_T im; } creal32_T; typedef struct { real64_T re; real64_T im; } creal64_T; typedef struct { real_T re; real_T im; } creal_T; typedef struct { int8_T re; int8_T im; } cint8_T; typedef struct { uint8_T re; uint8_T im; } cuint8_T; typedef struct { int16_T re; int16_T im; } cint16_T; typedef struct { uint16_T re; uint16_T im; } cuint16_T; typedef struct { int32_T re; int32_T im; } cint32_T; typedef struct { uint32_T re; uint32_T im; } cuint32_T; /*=======================================================================* * Min and Max: * * int8_T, int16_T, int32_T - signed 8, 16, or 32 bit integers * * uint8_T, uint16_T, uint32_T - unsigned 8, 16, or 32 bit integers * *=======================================================================*/ /* Block D-Work pointer type */ typedef void * pointer_T; /* * File trailer for generated code. * * [EOF] */ /* * File: VCU_Model_types.h * * Code generated for Simulink model 'VCU_Model'. * * Model version : 19.19 * Simulink Coder version : 9.7 (R2022a) 13-Nov-2021 * C/C++ source code generated on : Wed Jan 18 09:40:11 2023 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex-M * Code generation objectives: Unspecified * Validation result: Not run */ /* Model Code Variants */ /* Parameters (default storage) */ typedef struct P_VCU_Model_T_ P_VCU_Model_T; /* Forward declaration for rtModel */ typedef struct tag_RTM_VCU_Model_T RT_MODEL_VCU_Model_T; /* * File trailer for generated code. * * [EOF] */ /*****************************************************************************/ /* stddef.h */ /* */ /* Copyright (c) 1993 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* 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. */ /* */ /* Neither the name of Texas Instruments Incorporated 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. */ /* */ /*****************************************************************************/ /*****************************************************************************/ /* _ti_config.h */ /* */ /* Copyright (c) 2017 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* 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. */ /* */ /* Neither the name of Texas Instruments Incorporated 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. */ /* */ /*****************************************************************************/ /*Unsupported pragmas are omitted */ # pragma diag_push # pragma CHECK_MISRA("-19.7") # pragma CHECK_MISRA("-19.4") # pragma CHECK_MISRA("-19.1") # pragma CHECK_MISRA("-19.15") # pragma diag_pop _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.4\")") _Pragma("CHECK_MISRA(\"-19.1\")") _Pragma("CHECK_MISRA(\"-19.6\")") /* Hide uses of the TI proprietary macros behind other macros. Implementations that don't implement these features should leave these macros undefined. */ /* Common definitions */ /* C */ /* C89/C99 */ /* _TI_NOEXCEPT_CPP14 is defined to noexcept only when compiling for C++14. It is intended to be used for functions like abort and atexit that are supposed to be declared noexcept only in C++14 mode. */ /* Target-specific definitions */ /*****************************************************************************/ /* linkage.h */ /* */ /* Copyright (c) 1998 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* 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. */ /* */ /* Neither the name of Texas Instruments Incorporated 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. */ /* */ /*****************************************************************************/ #pragma diag_push #pragma CHECK_MISRA("-19.4") /* macros required for implementation */ /* No modifiers are needed to access code or data */ /*--------------------------------------------------------------------------*/ /* Define _IDECL ==> how inline functions are declared */ /*--------------------------------------------------------------------------*/ #pragma diag_pop _Pragma("diag_pop") _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.7\")") /* macros required for implementation */ _Pragma("CHECK_MISRA(\"-20.1\")") /* standard headers must define standard names */ _Pragma("CHECK_MISRA(\"-20.2\")") /* standard headers must define standard names */ typedef int ptrdiff_t; typedef unsigned size_t; typedef unsigned short wchar_t; /*----------------------------------------------------------------------------*/ /* C++11 and C11 required max_align_t to be defined. The libc++ cstddef */ /* header expects the macro __DEFINED_max_align_t to be defined if it is to */ /* use the definintion of max_align_t from stddef.h. Only define it if */ /* compiling for C11 or we're in non strict ansi mode. */ /*----------------------------------------------------------------------------*/ typedef long double max_align_t; _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.10\")") /* need types as macro arguments */ _Pragma("diag_pop") _Pragma("diag_pop") /*****************************************************************************/ /* string.h */ /* */ /* Copyright (c) 1993 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* 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. */ /* */ /* Neither the name of Texas Instruments Incorporated 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. */ /* */ /*****************************************************************************/ _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-6.3\")") /* standard types required for standard headers */ _Pragma("CHECK_MISRA(\"-19.1\")") /* #includes required for implementation */ _Pragma("CHECK_MISRA(\"-20.1\")") /* standard headers must define standard names */ _Pragma("CHECK_MISRA(\"-20.2\")") /* standard headers must define standard names */ _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.4\")") /* macros required for implementation */ _Pragma("diag_pop") static __inline size_t strlen(const char *string); static __inline char *strcpy(char * __restrict dest, const char * __restrict src); static __inline char *strncpy(char * __restrict dest, const char * __restrict src, size_t n); static __inline char *strcat(char * __restrict string1, const char * __restrict string2); static __inline char *strncat(char * __restrict dest, const char * __restrict src, size_t n); static __inline char *strchr(const char *string, int c); static __inline char *strrchr(const char *string, int c); static __inline int strcmp(const char *string1, const char *string2); static __inline int strncmp(const char *string1, const char *string2, size_t n); int strcoll(const char *string1, const char *_string2); size_t strxfrm(char * __restrict to, const char * __restrict from, size_t n); char *strpbrk(const char *string, const char *chs); size_t strspn(const char *string, const char *chs); size_t strcspn(const char *string, const char *chs); char *strstr(const char *string1, const char *string2); char *strtok(char * __restrict str1, const char * __restrict str2); char *strerror(int _errno); char *strdup(const char *string); void *memmove(void *s1, const void *s2, size_t n); void *memccpy(void *dest, const void *src, int ch, size_t count); _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-16.4\")") /* false positives due to builtin declarations */ void *memcpy(void * __restrict s1, const void * __restrict s2, size_t n); _Pragma("diag_pop") static __inline int memcmp(const void *cs, const void *ct, size_t n); static __inline void *memchr(const void *cs, int c, size_t n); void *memset(void *mem, int ch, size_t length); _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.4\")") /* macros required for implementation */ _Pragma("diag_pop") _Pragma("diag_push") /* functions */ /* MISRA exceptions to avoid changing inline versions of the functions that would be linked in instead of included inline at different mf levels */ /* these functions are very well-tested, stable, and efficient; it would introduce a high risk to implement new, separate MISRA versions just for the inline headers */ _Pragma("CHECK_MISRA(\"-5.7\")") /* keep names intact */ _Pragma("CHECK_MISRA(\"-6.1\")") /* false positive on use of char type */ _Pragma("CHECK_MISRA(\"-8.5\")") /* need to define inline functions */ _Pragma("CHECK_MISRA(\"-10.1\")") /* use implicit casts */ _Pragma("CHECK_MISRA(\"-10.3\")") /* need casts */ _Pragma("CHECK_MISRA(\"-11.5\")") /* casting away const required for standard impl */ _Pragma("CHECK_MISRA(\"-12.1\")") /* avoid changing expressions */ _Pragma("CHECK_MISRA(\"-12.2\")") /* avoid changing expressions */ _Pragma("CHECK_MISRA(\"-12.4\")") /* avoid changing expressions */ _Pragma("CHECK_MISRA(\"-12.5\")") /* avoid changing expressions */ _Pragma("CHECK_MISRA(\"-12.6\")") /* avoid changing expressions */ _Pragma("CHECK_MISRA(\"-12.13\")") /* ++/-- needed for reasonable implementation */ _Pragma("CHECK_MISRA(\"-13.1\")") /* avoid changing expressions */ _Pragma("CHECK_MISRA(\"-14.7\")") /* use multiple return points */ _Pragma("CHECK_MISRA(\"-14.8\")") /* use non-compound statements */ _Pragma("CHECK_MISRA(\"-14.9\")") /* use non-compound statements */ _Pragma("CHECK_MISRA(\"-17.4\")") /* pointer arithmetic needed for reasonable impl */ _Pragma("CHECK_MISRA(\"-17.6\")") /* false positive returning pointer-typed param */ static __inline size_t strlen(const char *string) { size_t n = (size_t)-1; const char *s = string; do n++; while (*s++); return n; } static __inline char *strcpy(char * __restrict dest, const char * __restrict src) { char *d = dest; const char *s = src; while ((*d++ = *s++)); return dest; } static __inline char *strncpy(char * __restrict dest, const char * __restrict src, size_t n) { if (n) { char *d = dest; const char *s = src; while ((*d++ = *s++) && --n); /* COPY STRING */ if (n-- > 1) do *d++ = '\0'; while (--n); /* TERMINATION PADDING */ } return dest; } static __inline char *strcat(char * __restrict string1, const char * __restrict string2) { char *s1 = string1; const char *s2 = string2; while (*s1) s1++; /* FIND END OF STRING */ while ((*s1++ = *s2++)); /* APPEND SECOND STRING */ return string1; } static __inline char *strncat(char * __restrict dest, const char * __restrict src, size_t n) { if (n) { char *d = dest; const char *s = src; while (*d) d++; /* FIND END OF STRING */ while (n--) if (!(*d++ = *s++)) return dest; /* APPEND SECOND STRING */ *d = 0; } return dest; } static __inline char *strchr(const char *string, int c) { char tch, ch = c; const char *s = string; for (;;) { if ((tch = *s) == ch) return (char *) s; if (!tch) return (char *) 0; s++; } } static __inline char *strrchr(const char *string, int c) { char tch, ch = c; char *result = 0; const char *s = string; for (;;) { if ((tch = *s) == ch) result = (char *) s; if (!tch) break; s++; } return result; } static __inline int strcmp(const char *string1, const char *string2) { int c1, res; for (;;) { c1 = (unsigned char)*string1++; res = c1 - (unsigned char)*string2++; if (c1 == 0 || res != 0) break; } return res; } static __inline int strncmp(const char *string1, const char *string2, size_t n) { if (n) { const char *s1 = string1; const char *s2 = string2; unsigned char cp; int result; do if ((result = (unsigned char)*s1++ - (cp = (unsigned char)*s2++))) return result; while (cp && --n); } return 0; } static __inline int memcmp(const void *cs, const void *ct, size_t n) { if (n) { const unsigned char *mem1 = (unsigned char *)cs; const unsigned char *mem2 = (unsigned char *)ct; int cp1, cp2; while ((cp1 = *mem1++) == (cp2 = *mem2++) && --n); return cp1 - cp2; } return 0; } static __inline void *memchr(const void *cs, int c, size_t n) { if (n) { const unsigned char *mem = (unsigned char *)cs; unsigned char ch = c; do if ( *mem == ch ) return (void *)mem; else mem++; while (--n); } return 0; } _Pragma("diag_pop") /*----------------------------------------------------------------------------*/ /* If sys/cdefs.h is available, go ahead and include it. xlocale.h assumes */ /* this file will have already included sys/cdefs.h. */ /*----------------------------------------------------------------------------*/ /*- * SPDX-License-Identifier: BSD-3-Clause * * Copyright (c) 1991, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * Berkeley Software Design, Inc. * * 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 of the University 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 REGENTS 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 REGENTS 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. * * @(#)cdefs.h 8.8 (Berkeley) 1/9/95 * $FreeBSD$ */ _Pragma("diag_push") _Pragma("CHECK_MISRA(\"none\")") /* * Testing against Clang-specific extensions. */ /* * This code has been put in place to help reduce the addition of * compiler specific defines in FreeBSD code. It helps to aid in * having a compiler-agnostic source tree. */ /* * Macro to test if we're using a specific version of gcc or later. */ /* * The __CONCAT macro is used to concatenate parts of symbol names, e.g. * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. * The __CONCAT macro is a bit tricky to use if it must work in non-ANSI * mode -- there must be no spaces between its arguments, and for nested * __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also * concatenate double-quoted strings produced by the __STRING macro, but * this only works with ANSI C. * * __XSTRING is like __STRING, but it expands any macros in its argument * first. It is only available with ANSI C. */ /* * Compiler-dependent macros to help declare dead (non-returning) and * pure (no side effects) functions, and unused variables. They are * null except for versions of gcc that are known to support the features * properly (old versions of gcc-2 supported the dead and pure features * in a different (wrong) way). If we do not provide an implementation * for a given compiler, let the compile fail if it is told to use * a feature that we cannot live without. */ /* * TI ADD - check that __GNUC__ is defined before referencing it to avoid * generating an error when __GNUC__ treated as zero warning is * promoted to an error via -pdse195 option. */ /* * Keywords added in C11. */ /* * XXX: Some compilers (Clang 3.3, GCC 4.7) falsely announce C++11 mode * without actually supporting the thread_local keyword. Don't check for * the presence of C++11 when defining _Thread_local. */ /* * Emulation of C11 _Generic(). Unlike the previously defined C11 * keywords, it is not possible to implement this using exactly the same * syntax. Therefore implement something similar under the name * __generic(). Unlike _Generic(), this macro can only distinguish * between a single type, so it requires nested invocations to * distinguish multiple cases. */ /* * C99 Static array indices in function parameter declarations. Syntax such as: * void bar(int myArray[static 10]); * is allowed in C99 but not in C++. Define __min_size appropriately so * headers using it can be compiled in either language. Use like this: * void bar(int myArray[__min_size(10)]); */ /* XXX: should use `#if __STDC_VERSION__ < 199901'. */ /* C++11 exposes a load of C99 stuff */ /* * GCC 2.95 provides `__restrict' as an extension to C90 to support the * C99-specific `restrict' type qualifier. We happen to use `__restrict' as * a way to define the `restrict' type qualifier without disturbing older * software that is unaware of C99 keywords. * The TI compiler supports __restrict in all compilation modes. */ /* * GNU C version 2.96 adds explicit branch prediction so that * the CPU back-end can hint the processor and also so that * code blocks can be reordered such that the predicted path * sees a more linear flow, thus improving cache behavior, etc. * * The following two macros provide us with a way to utilize this * compiler feature. Use __predict_true() if you expect the expression * to evaluate to true, and __predict_false() if you expect the * expression to evaluate to false. * * A few notes about usage: * * * Generally, __predict_false() error condition checks (unless * you have some _strong_ reason to do otherwise, in which case * document it), and/or __predict_true() `no-error' condition * checks, assuming you want to optimize for the no-error case. * * * Other than that, if you don't know the likelihood of a test * succeeding from empirical or other `hard' evidence, don't * make predictions. * * * These are meant to be used in places that are run `a lot'. * It is wasteful to make predictions in code that is run * seldomly (e.g. at subsystem initialization time) as the * basic block reordering that this affects can often generate * larger code. */ /* * We define this here since , , and * require it. */ /* * Given the pointer x to the member m of the struct s, return * a pointer to the containing structure. When using GCC, we first * assign pointer x to a local variable, to check that its type is * compatible with member m. */ /* * Compiler-dependent macros to declare that functions take printf-like * or scanf-like arguments. They are null except for versions of gcc * that are known to support the features properly (old versions of gcc-2 * didn't permit keeping the keywords out of the application namespace). */ /* Compiler-dependent macros that rely on FreeBSD-specific extensions. */ /* * The following definition might not work well if used in header files, * but it should be better than nothing. If you want a "do nothing" * version, then it should generate some harmless declaration, such as: * #define __IDSTRING(name,string) struct __hack */ /* * Embed the rcs id of a source file in the resulting library. Note that in * more recent ELF binutils, we use .ident allowing the ID to be stripped. * Usage: * __FBSDID("$FreeBSD$"); */ /*- * The following definitions are an extension of the behavior originally * implemented in , but with a different level of granularity. * POSIX.1 requires that the macros we test be defined before any standard * header file is included. * * Here's a quick run-down of the versions: * defined(_POSIX_SOURCE) 1003.1-1988 * _POSIX_C_SOURCE == 1 1003.1-1990 * _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option * _POSIX_C_SOURCE == 199309 1003.1b-1993 * _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995, * and the omnibus ISO/IEC 9945-1: 1996 * _POSIX_C_SOURCE == 200112 1003.1-2001 * _POSIX_C_SOURCE == 200809 1003.1-2008 * * In addition, the X/Open Portability Guide, which is now the Single UNIX * Specification, defines a feature-test macro which indicates the version of * that specification, and which subsumes _POSIX_C_SOURCE. * * Our macros begin with two underscores to avoid namespace screwage. */ /* Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1. */ /* Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2. */ /* Deal with various X/Open Portability Guides and Single UNIX Spec. */ /* * Deal with all versions of POSIX. The ordering relative to the tests above is * important. */ /*- * Deal with _ANSI_SOURCE: * If it is defined, and no other compilation environment is explicitly * requested, then define our internal feature-test macros to zero. This * makes no difference to the preprocessor (undefined symbols in preprocessing * expressions are defined to have value zero), but makes it more convenient for * a test program to print out the values. * * If a program mistakenly defines _ANSI_SOURCE and some other macro such as * _POSIX_C_SOURCE, we will assume that it wants the broader compilation * environment (and in fact we will never get here). */ /* User override __EXT1_VISIBLE */ /* * Old versions of GCC use non-standard ARM arch symbols; acle-compat.h * translates them to __ARM_ARCH and the modern feature symbols defined by ARM. */ /* * Nullability qualifiers: currently only supported by Clang. */ /* * Type Safety Checking * * Clang provides additional attributes to enable checking type safety * properties that cannot be enforced by the C type system. */ /* * Lock annotations. * * Clang provides support for doing basic thread-safety tests at * compile-time, by marking which locks will/should be held when * entering/leaving a functions. * * Furthermore, it is also possible to annotate variables and structure * members to enforce that they are only accessed when certain locks are * held. */ /* Structure implements a lock. */ /* Function acquires an exclusive or shared lock. */ /* Function attempts to acquire an exclusive or shared lock. */ /* Function releases a lock. */ /* Function asserts that an exclusive or shared lock is held. */ /* Function requires that an exclusive or shared lock is or is not held. */ /* Function should not be analyzed. */ /* Guard variables and structure members by lock. */ _Pragma("diag_pop") /*----------------------------------------------------------------------------*/ /* Include xlocale/_string.h if POSIX is enabled. This will expose the */ /* xlocale string interface. */ /*----------------------------------------------------------------------------*/ /*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011, 2012 The FreeBSD Foundation * All rights reserved. * * 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. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. * * $FreeBSD$ */ typedef struct _xlocale *locale_t; /* * This file is included from both string.h and xlocale.h. We need to expose * the declarations unconditionally if we are included from xlocale.h, but only * if we are in POSIX2008 mode if included from string.h. */ /* * POSIX2008 functions */ int strcoll_l(const char *s1, const char *s2, locale_t l); size_t strxfrm_l(char *s1, const char *s2, size_t sz, locale_t l); /* * xlocale extensions */ _Pragma("diag_pop") /* Macros for accessing real-time model data structure */ /* user code (top of header file) */ /* System '' */ /*****************************************************************************/ /* STDINT.H */ /* */ /* Copyright (c) 2002 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* 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. */ /* */ /* Neither the name of Texas Instruments Incorporated 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. */ /* */ /*****************************************************************************/ _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.1\")") /* no code before #include */ _Pragma("CHECK_MISRA(\"-19.7\")") /* prefer functions to macros */ /*****************************************************************************/ /* _STDINT40.H */ /* */ /* Copyright (c) 2018 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* 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. */ /* */ /* Neither the name of Texas Instruments Incorporated 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. */ /* */ /*****************************************************************************/ _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.7\")") /* prefer functions to macros */ /* According to footnotes in the 1999 C standard, "C++ implementations should define these macros only when __STDC_LIMIT_MACROS is defined before is included." */ _Pragma("diag_pop") /*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Mike Barcroft * All rights reserved. * * 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. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. * * $FreeBSD$ */ /*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2002 Mike Barcroft * All rights reserved. * * 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. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. * * $FreeBSD$ */ /*- * SPDX-License-Identifier: BSD-4-Clause * * Copyright (c) 2002 Mike Barcroft * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. * * 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. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. * * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 * From: @(#)types.h 8.3 (Berkeley) 1/5/94 * $FreeBSD$ */ _Pragma("diag_push") /* This file is required to use base types */ _Pragma("CHECK_MISRA(\"-6.3\")") /* * Basic types upon which most other types are built. */ typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef short __int16_t; typedef unsigned short __uint16_t; typedef int __int32_t; typedef unsigned int __uint32_t; /* LONGLONG */ typedef long long __int64_t; /* LONGLONG */ typedef unsigned long long __uint64_t; /* * Standard type definitions. */ typedef __uint32_t __clock_t; /* clock()... */ typedef __int32_t __critical_t; typedef double __double_t; typedef float __float_t; typedef __int32_t __intfptr_t; typedef __int64_t __intmax_t; typedef __int32_t __intptr_t; typedef __int32_t __int_fast8_t; typedef __int32_t __int_fast16_t; typedef __int32_t __int_fast32_t; typedef __int64_t __int_fast64_t; typedef __int8_t __int_least8_t; typedef __int16_t __int_least16_t; typedef __int32_t __int_least32_t; typedef __int64_t __int_least64_t; typedef __int32_t __ptrdiff_t; /* ptr1 - ptr2 */ typedef __int32_t __register_t; typedef __int32_t __segsz_t; /* segment size (in pages) */ typedef __uint32_t __size_t; /* sizeof() */ typedef __int32_t __ssize_t; /* byte count or error */ typedef __uint32_t __time_t; typedef __uint32_t __uintfptr_t; typedef __uint64_t __uintmax_t; typedef __uint32_t __uintptr_t; typedef __uint32_t __uint_fast8_t; typedef __uint32_t __uint_fast16_t; typedef __uint32_t __uint_fast32_t; typedef __uint64_t __uint_fast64_t; typedef __uint8_t __uint_least8_t; typedef __uint16_t __uint_least16_t; typedef __uint32_t __uint_least32_t; typedef __uint64_t __uint_least64_t; typedef __uint32_t __u_register_t; typedef __uint32_t __vm_offset_t; typedef __uint32_t __vm_paddr_t; typedef __uint32_t __vm_size_t; typedef unsigned short ___wchar_t; /* * POSIX target specific _off_t type definition */ typedef long _off_t; /* * Unusual type definitions. */ typedef struct __va_list_t { void * __ap; } __va_list; _Pragma("diag_pop") _Pragma("diag_push") /* This file is required to use types without size and signedness */ _Pragma("CHECK_MISRA(\"-6.3\")") /* * Standard type definitions. */ typedef __int32_t __blksize_t; /* file block size */ typedef __int64_t __blkcnt_t; /* file block count */ typedef __int32_t __clockid_t; /* clock_gettime()... */ typedef __uint32_t __fflags_t; /* file flags */ typedef __uint64_t __fsblkcnt_t; typedef __uint64_t __fsfilcnt_t; typedef __uint32_t __gid_t; typedef __int64_t __id_t; /* can hold a gid_t, pid_t, or uid_t */ typedef __uint64_t __ino_t; /* inode number */ typedef long __key_t; /* IPC key (for Sys V IPC) */ typedef __int32_t __lwpid_t; /* Thread ID (a.k.a. LWP) */ typedef __uint16_t __mode_t; /* permissions */ typedef int __accmode_t; /* access permissions */ typedef int __nl_item; typedef __uint64_t __nlink_t; /* link count */ typedef _off_t __off_t; /* file offset (target-specific) */ typedef __int64_t __off64_t; /* file offset (always 64-bit) */ typedef __int32_t __pid_t; /* process [group] */ typedef __int64_t __rlim_t; /* resource limit - intentionally */ /* signed, because of legacy code */ /* that uses -1 for RLIM_INFINITY */ typedef __uint8_t __sa_family_t; typedef __uint32_t __socklen_t; typedef long __suseconds_t; /* microseconds (signed) */ typedef struct __timer *__timer_t; /* timer_gettime()... */ typedef struct __mq *__mqd_t; /* mq_open()... */ typedef __uint32_t __uid_t; typedef unsigned int __useconds_t; /* microseconds (unsigned) */ typedef int __cpuwhich_t; /* which parameter for cpuset. */ typedef int __cpulevel_t; /* level parameter for cpuset. */ typedef int __cpusetid_t; /* cpuset identifier. */ /* * Unusual type definitions. */ /* * rune_t is declared to be an ``int'' instead of the more natural * ``unsigned long'' or ``long''. Two things are happening here. It is not * unsigned so that EOF (-1) can be naturally assigned to it and used. Also, * it looks like 10646 will be a 31 bit standard. This means that if your * ints cannot hold 32 bits, you will be in trouble. The reason an int was * chosen over a long is that the is*() and to*() routines take ints (says * ANSI C), but they use __ct_rune_t instead of int. * * NOTE: rune_t is not covered by ANSI nor other standards, and should not * be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and * rune_t must be the same type. Also, wint_t should be able to hold all * members of the largest character set plus one extra value (WEOF), and * must be at least 16 bits. */ typedef int __ct_rune_t; /* arg type for ctype funcs */ typedef __ct_rune_t __rune_t; /* rune_t (see above) */ typedef __ct_rune_t __wint_t; /* wint_t (see above) */ /* Clang already provides these types as built-ins, but only in C++ mode. */ typedef __uint_least16_t __char16_t; typedef __uint_least32_t __char32_t; /* In C++11, char16_t and char32_t are built-in types. */ typedef struct { long long __max_align1 __attribute__((aligned(__alignof__(long long)))); long double __max_align2 __attribute__((aligned(__alignof__(long double)))); } __max_align_t; typedef __uint64_t __dev_t; /* device number */ typedef __uint32_t __fixpt_t; /* fixed point number */ /* * mbstate_t is an opaque object to keep conversion state during multibyte * stream conversions. */ typedef int _Mbstatet; typedef _Mbstatet __mbstate_t; typedef __uintmax_t __rman_res_t; /* * When the following macro is defined, the system uses 64-bit inode numbers. * Programs can use this to avoid including , with its associated * namespace pollution. */ _Pragma("diag_pop") /*- * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2001, 2002 Mike Barcroft * Copyright (c) 2001 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation * by Klaus Klein. * * 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. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. * * $FreeBSD$ */ _Pragma("diag_push") /* 19.4 is issued for macros that are defined in terms of other macros. */ _Pragma("CHECK_MISRA(\"-19.4\")") _Pragma("CHECK_MISRA(\"-19.7\")") _Pragma("CHECK_MISRA(\"-19.13\")") /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types */ /* Minimum values of exact-width signed integer types. */ /* Maximum values of exact-width signed integer types. */ /* Maximum values of exact-width unsigned integer types. */ /* * ISO/IEC 9899:1999 * 7.18.2.2 Limits of minimum-width integer types */ /* Minimum values of minimum-width signed integer types. */ /* Maximum values of minimum-width signed integer types. */ /* Maximum values of minimum-width unsigned integer types. */ /* * ISO/IEC 9899:1999 * 7.18.2.3 Limits of fastest minimum-width integer types */ /* Minimum values of fastest minimum-width signed integer types. */ /* Maximum values of fastest minimum-width signed integer types. */ /* Maximum values of fastest minimum-width unsigned integer types. */ /* * ISO/IEC 9899:1999 * 7.18.2.4 Limits of integer types capable of holding object pointers */ /* * ISO/IEC 9899:1999 * 7.18.2.5 Limits of greatest-width integer types */ /* * ISO/IEC 9899:1999 * 7.18.3 Limits of other integer types */ /* Limits of ptrdiff_t. */ /* Limits of sig_atomic_t. */ /* Limit of size_t. */ /* Limits of wint_t. */ _Pragma("diag_pop") /*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 David E. O'Brien * Copyright (c) 2001 Mike Barcroft * All rights reserved. * * 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. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. * * $FreeBSD$ */ typedef __int8_t int8_t; typedef __int16_t int16_t; typedef __int32_t int32_t; typedef __int64_t int64_t; typedef __uint8_t uint8_t; typedef __uint16_t uint16_t; typedef __uint32_t uint32_t; typedef __uint64_t uint64_t; typedef __intptr_t intptr_t; typedef __uintptr_t uintptr_t; typedef __intmax_t intmax_t; typedef __uintmax_t uintmax_t; typedef __int_least8_t int_least8_t; typedef __int_least16_t int_least16_t; typedef __int_least32_t int_least32_t; typedef __int_least64_t int_least64_t; typedef __uint_least8_t uint_least8_t; typedef __uint_least16_t uint_least16_t; typedef __uint_least32_t uint_least32_t; typedef __uint_least64_t uint_least64_t; typedef __int_fast8_t int_fast8_t; typedef __int_fast16_t int_fast16_t; typedef __int_fast32_t int_fast32_t; typedef __int_fast64_t int_fast64_t; typedef __uint_fast8_t uint_fast8_t; typedef __uint_fast16_t uint_fast16_t; typedef __uint_fast32_t uint_fast32_t; typedef __uint_fast64_t uint_fast64_t; _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-10.1\")") /* GNU and Darwin define this and people seem to think it's portable */ _Pragma("diag_pop") _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.4\")") /* Limits of wchar_t. */ _Pragma("diag_pop") /* ISO/IEC 9899:2011 K.3.4.4 */ _Pragma("diag_pop") /* * Copyright (c) 2000 Jeroen Ruigrok van der Werven * All rights reserved. * * Copyright (c) 2014-2014 Texas Instruments Incorporated * * 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. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. * * $FreeBSD: release/10.0.0/include/stdbool.h 228878 2011-12-25 20:15:41Z ed $ */ /* If this file is included in C99 mode, _Bool is a builtin, so no definition. */ /* If this is C89 mode and this file is included, _Bool is pre-defined in C89 */ /* relaxed mode by the EDG parser, so it needs to be defined in strict mode. */ _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.4\")") _Pragma("CHECK_MISRA(\"-19.11\")") _Pragma("diag_pop") //***************************************************************************** // // hw_memmap.h - Macros defining the memory map of the device. // // Copyright (c) 2005-2020 Texas Instruments Incorporated. All rights reserved. // Software License Agreement // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // // Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // 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. // // Neither the name of Texas Instruments Incorporated 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. // // This is part of revision 2.2.0.295 of the Tiva Firmware Development Package. // //***************************************************************************** //***************************************************************************** // // The following are defines for the base address of the memories and // peripherals. // //***************************************************************************** // (GPIOs) // (GPIOs) // (GPIOs) // Hardware-Accelerated Module // Accelerator (DES) //***************************************************************************** // // gpio.h - Defines and Macros for GPIO API. // // Copyright (c) 2005-2020 Texas Instruments Incorporated. All rights reserved. // Software License Agreement // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // // Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // 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. // // Neither the name of Texas Instruments Incorporated 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. // // This is part of revision 2.2.0.295 of the Tiva Peripheral Driver Library. // //***************************************************************************** //***************************************************************************** // // If building with a C++ compiler, make all of the definitions in this header // have a C binding. // //***************************************************************************** //***************************************************************************** // // The following values define the bit field for the ui8Pins argument to // several of the APIs. // //***************************************************************************** //***************************************************************************** // // Values that can be passed to GPIODirModeSet as the ui32PinIO parameter, and // returned from GPIODirModeGet. // //***************************************************************************** //***************************************************************************** // // Values that can be passed to GPIOIntTypeSet as the ui32IntType parameter, // and returned from GPIOIntTypeGet. // //***************************************************************************** //***************************************************************************** // // Values that can be passed to GPIOPadConfigSet as the ui32Strength parameter, // and returned by GPIOPadConfigGet in the *pui32Strength parameter. // //***************************************************************************** //***************************************************************************** // // Values that can be passed to GPIOPadConfigSet as the ui32PadType parameter, // and returned by GPIOPadConfigGet in the *pui32PadType parameter. // //***************************************************************************** //***************************************************************************** // // Values that can be passed to GPIOIntEnable() and GPIOIntDisable() functions // in the ui32IntFlags parameter. // //***************************************************************************** //***************************************************************************** // // Prototypes for the APIs. // //***************************************************************************** extern void GPIODirModeSet(uint32_t ui32Port, uint8_t ui8Pins, uint32_t ui32PinIO); extern uint32_t GPIODirModeGet(uint32_t ui32Port, uint8_t ui8Pin); extern void GPIOIntTypeSet(uint32_t ui32Port, uint8_t ui8Pins, uint32_t ui32IntType); extern uint32_t GPIOIntTypeGet(uint32_t ui32Port, uint8_t ui8Pin); extern void GPIOPadConfigSet(uint32_t ui32Port, uint8_t ui8Pins, uint32_t ui32Strength, uint32_t ui32PadType); extern void GPIOPadConfigGet(uint32_t ui32Port, uint8_t ui8Pin, uint32_t *pui32Strength, uint32_t *pui32PadType); extern void GPIOIntEnable(uint32_t ui32Port, uint32_t ui32IntFlags); extern void GPIOIntDisable(uint32_t ui32Port, uint32_t ui32IntFlags); extern uint32_t GPIOIntStatus(uint32_t ui32Port, _Bool bMasked); extern void GPIOIntClear(uint32_t ui32Port, uint32_t ui32IntFlags); extern void GPIOIntRegister(uint32_t ui32Port, void (*pfnIntHandler)(void)); extern void GPIOIntUnregister(uint32_t ui32Port); extern void GPIOIntRegisterPin(uint32_t ui32Port, uint32_t ui32Pin, void (*pfnIntHandler)(void)); extern void GPIOIntUnregisterPin(uint32_t ui32Port, uint32_t ui32Pin); extern int32_t GPIOPinRead(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinWrite(uint32_t ui32Port, uint8_t ui8Pins, uint8_t ui8Val); extern void GPIOPinConfigure(uint32_t ui32PinConfig); extern void GPIOPinTypeADC(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeCAN(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeComparator(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeComparatorOutput(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeDIVSCLK(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeEPI(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeEthernetLED(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeEthernetMII(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeGPIOInput(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeGPIOOutput(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeGPIOOutputOD(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeHibernateRTCCLK(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeI2C(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeI2CSCL(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeLCD(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeOneWire(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypePWM(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeQEI(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeSSI(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeTimer(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeTrace(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeUART(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeUSBAnalog(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeUSBDigital(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeWakeHigh(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOPinTypeWakeLow(uint32_t ui32Port, uint8_t ui8Pins); extern uint32_t GPIOPinWakeStatus(uint32_t ui32Port); extern void GPIODMATriggerEnable(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIODMATriggerDisable(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOADCTriggerEnable(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOADCTriggerDisable(uint32_t ui32Port, uint8_t ui8Pins); extern void GPIOUnlockPin(uint32_t ui32Port, uint8_t ui8Pins); //***************************************************************************** // // Mark the end of the C bindings section for C++ compilers. // //***************************************************************************** //***************************************************************************** // // i2c.h - Prototypes for the I2C Driver. // // Copyright (c) 2005-2020 Texas Instruments Incorporated. All rights reserved. // Software License Agreement // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // // Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // 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. // // Neither the name of Texas Instruments Incorporated 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. // // This is part of revision 2.2.0.295 of the Tiva Peripheral Driver Library. // //***************************************************************************** //***************************************************************************** // // If building with a C++ compiler, make all of the definitions in this header // have a C binding. // //***************************************************************************** //***************************************************************************** // // Defines for the API. // //***************************************************************************** //***************************************************************************** // // Interrupt defines. // //***************************************************************************** //***************************************************************************** // // I2C Master commands. // //***************************************************************************** //***************************************************************************** // // I2C Master glitch filter configuration. // //***************************************************************************** //***************************************************************************** // // I2C Master error status. // //***************************************************************************** //***************************************************************************** // // I2C Slave action requests // //***************************************************************************** //***************************************************************************** // // Miscellaneous I2C driver definitions. // //***************************************************************************** //***************************************************************************** // // I2C Master interrupts. // //***************************************************************************** //***************************************************************************** // // I2C Slave interrupts. // //***************************************************************************** //***************************************************************************** // // I2C Slave FIFO configuration macros. // //***************************************************************************** //***************************************************************************** // // I2C FIFO configuration macros. // //***************************************************************************** //***************************************************************************** // // I2C FIFO status. // //***************************************************************************** //***************************************************************************** // // Prototypes for the APIs. // //***************************************************************************** extern void I2CIntRegister(uint32_t ui32Base, void(*pfnHandler)(void)); extern void I2CIntUnregister(uint32_t ui32Base); extern void I2CTxFIFOConfigSet(uint32_t ui32Base, uint32_t ui32Config); extern void I2CTxFIFOFlush(uint32_t ui32Base); extern void I2CRxFIFOConfigSet(uint32_t ui32Base, uint32_t ui32Config); extern void I2CRxFIFOFlush(uint32_t ui32Base); extern uint32_t I2CFIFOStatus(uint32_t ui32Base); extern void I2CFIFODataPut(uint32_t ui32Base, uint8_t ui8Data); extern uint32_t I2CFIFODataPutNonBlocking(uint32_t ui32Base, uint8_t ui8Data); extern uint32_t I2CFIFODataGet(uint32_t ui32Base); extern uint32_t I2CFIFODataGetNonBlocking(uint32_t ui32Base, uint8_t *pui8Data); extern void I2CMasterBurstLengthSet(uint32_t ui32Base, uint8_t ui8Length); extern uint32_t I2CMasterBurstCountGet(uint32_t ui32Base); extern void I2CMasterGlitchFilterConfigSet(uint32_t ui32Base, uint32_t ui32Config); extern void I2CSlaveFIFOEnable(uint32_t ui32Base, uint32_t ui32Config); extern void I2CSlaveFIFODisable(uint32_t ui32Base); extern _Bool I2CMasterBusBusy(uint32_t ui32Base); extern _Bool I2CMasterBusy(uint32_t ui32Base); extern void I2CMasterControl(uint32_t ui32Base, uint32_t ui32Cmd); extern uint32_t I2CMasterDataGet(uint32_t ui32Base); extern void I2CMasterDataPut(uint32_t ui32Base, uint8_t ui8Data); extern void I2CMasterDisable(uint32_t ui32Base); extern void I2CMasterEnable(uint32_t ui32Base); extern uint32_t I2CMasterErr(uint32_t ui32Base); extern void I2CMasterInitExpClk(uint32_t ui32Base, uint32_t ui32I2CClk, _Bool bFast); extern void I2CMasterIntClear(uint32_t ui32Base); extern void I2CMasterIntDisable(uint32_t ui32Base); extern void I2CMasterIntEnable(uint32_t ui32Base); extern _Bool I2CMasterIntStatus(uint32_t ui32Base, _Bool bMasked); extern void I2CMasterIntEnableEx(uint32_t ui32Base, uint32_t ui32IntFlags); extern void I2CMasterIntDisableEx(uint32_t ui32Base, uint32_t ui32IntFlags); extern uint32_t I2CMasterIntStatusEx(uint32_t ui32Base, _Bool bMasked); extern void I2CMasterIntClearEx(uint32_t ui32Base, uint32_t ui32IntFlags); extern void I2CMasterTimeoutSet(uint32_t ui32Base, uint32_t ui32Value); extern void I2CSlaveACKOverride(uint32_t ui32Base, _Bool bEnable); extern void I2CSlaveACKValueSet(uint32_t ui32Base, _Bool bACK); extern uint32_t I2CMasterLineStateGet(uint32_t ui32Base); extern void I2CMasterSlaveAddrSet(uint32_t ui32Base, uint8_t ui8SlaveAddr, _Bool bReceive); extern uint32_t I2CSlaveDataGet(uint32_t ui32Base); extern void I2CSlaveDataPut(uint32_t ui32Base, uint8_t ui8Data); extern void I2CSlaveDisable(uint32_t ui32Base); extern void I2CSlaveEnable(uint32_t ui32Base); extern void I2CSlaveInit(uint32_t ui32Base, uint8_t ui8SlaveAddr); extern void I2CSlaveAddressSet(uint32_t ui32Base, uint8_t ui8AddrNum, uint8_t ui8SlaveAddr); extern void I2CSlaveIntClear(uint32_t ui32Base); extern void I2CSlaveIntDisable(uint32_t ui32Base); extern void I2CSlaveIntEnable(uint32_t ui32Base); extern void I2CSlaveIntClearEx(uint32_t ui32Base, uint32_t ui32IntFlags); extern void I2CSlaveIntDisableEx(uint32_t ui32Base, uint32_t ui32IntFlags); extern void I2CSlaveIntEnableEx(uint32_t ui32Base, uint32_t ui32IntFlags); extern _Bool I2CSlaveIntStatus(uint32_t ui32Base, _Bool bMasked); extern uint32_t I2CSlaveIntStatusEx(uint32_t ui32Base, _Bool bMasked); extern uint32_t I2CSlaveStatus(uint32_t ui32Base); extern void I2CLoopbackEnable(uint32_t ui32Base); //***************************************************************************** // // Mark the end of the C bindings section for C++ compilers. // //***************************************************************************** //***************************************************************************** // // rom_map.h - Macros to facilitate calling functions in the ROM when they are // available and in flash otherwise. // // Copyright (c) 2008-2020 Texas Instruments Incorporated. All rights reserved. // Software License Agreement // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // // Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // 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. // // Neither the name of Texas Instruments Incorporated 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. // // This is part of revision 2.2.0.295 of the Tiva Peripheral Driver Library. // //***************************************************************************** //***************************************************************************** // // Macros for the ADC API. // //***************************************************************************** //***************************************************************************** // // Macros for the AES API. // //***************************************************************************** //***************************************************************************** // // Macros for the CAN API. // //***************************************************************************** //***************************************************************************** // // Macros for the Comparator API. // //***************************************************************************** //***************************************************************************** // // Macros for the CRC API. // //***************************************************************************** //***************************************************************************** // // Macros for the DES API. // //***************************************************************************** //***************************************************************************** // // Macros for the EEPROM API. // //***************************************************************************** //***************************************************************************** // // Macros for the EPI API. // //***************************************************************************** //***************************************************************************** // // Macros for the EMAC API. // //***************************************************************************** //***************************************************************************** // // Macros for the Flash API. // //***************************************************************************** //***************************************************************************** // // Macros for the FPU API. // //***************************************************************************** //***************************************************************************** // // Macros for the GPIO API. // //***************************************************************************** //***************************************************************************** // // Macros for the Hibernate API. // //***************************************************************************** //***************************************************************************** // // Macros for the I2C API. // //***************************************************************************** //***************************************************************************** // // Macros for the Interrupt API. // //***************************************************************************** //***************************************************************************** // // Macros for the LCD API. // //***************************************************************************** //***************************************************************************** // // Macros for the MPU API. // //***************************************************************************** //***************************************************************************** // // Macros for the OneWire API. // //***************************************************************************** //***************************************************************************** // // Macros for the PWM API. // //***************************************************************************** //***************************************************************************** // // Macros for the QEI API. // //***************************************************************************** //***************************************************************************** // // Macros for the SHAMD5 API. // //***************************************************************************** //***************************************************************************** // // Macros for the SMBus API. // //***************************************************************************** //***************************************************************************** // // Macros for the SPIFlash API. // //***************************************************************************** //***************************************************************************** // // Macros for the SSI API. // //***************************************************************************** //***************************************************************************** // // Macros for the SysCtl API. // //***************************************************************************** //***************************************************************************** // // Macros for the SysExc API. // //***************************************************************************** //***************************************************************************** // // Macros for the SysTick API. // //***************************************************************************** //***************************************************************************** // // Macros for the Timer API. // //***************************************************************************** //***************************************************************************** // // Macros for the UART API. // //***************************************************************************** //***************************************************************************** // // Macros for the uDMA API. // //***************************************************************************** //***************************************************************************** // // Macros for the USB API. // //***************************************************************************** //***************************************************************************** // // Macros for the Watchdog API. // //***************************************************************************** //***************************************************************************** // // Macros for the Software API. // //***************************************************************************** //***************************************************************************** // // sysctl.h - Prototypes for the system control driver. // // Copyright (c) 2005-2020 Texas Instruments Incorporated. All rights reserved. // Software License Agreement // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // // Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // 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. // // Neither the name of Texas Instruments Incorporated 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. // // This is part of revision 2.2.0.295 of the Tiva Peripheral Driver Library. // //***************************************************************************** //***************************************************************************** // // If building with a C++ compiler, make all of the definitions in this header // have a C binding. // //***************************************************************************** //***************************************************************************** // // The following are values that can be passed to the // SysCtlPeripheralPresent(), SysCtlPeripheralEnable(), // SysCtlPeripheralDisable(), and SysCtlPeripheralReset() APIs as the // ui32Peripheral parameter. The peripherals in the fourth group (upper nibble // is 3) can only be used with the SysCtlPeripheralPresent() API. // //***************************************************************************** //***************************************************************************** // // The following are values that can be passed to the SysCtlLDOSleepSet() and // SysCtlLDODeepSleepSet() APIs as the ui32Voltage value, or returned by the // SysCtlLDOSleepGet() and SysCtlLDODeepSleepGet() APIs. // //***************************************************************************** //***************************************************************************** // // The following are values that can be passed to the SysCtlIntEnable(), // SysCtlIntDisable(), and SysCtlIntClear() APIs, or returned in the bit mask // by the SysCtlIntStatus() API. // //***************************************************************************** //***************************************************************************** // // The following are values that can be passed to the SysCtlResetCauseClear() // API or returned by the SysCtlResetCauseGet() API. // //***************************************************************************** // Watchdog reset(Deprecated) //***************************************************************************** // // The following are values that can be passed to the SysCtlBrownOutConfigSet() // API as the ui32Config parameter. // //***************************************************************************** //***************************************************************************** // // The following are values that can be passed to the SysCtlPWMClockSet() API // as the ui32Config parameter, and can be returned by the SysCtlPWMClockGet() // API. // //***************************************************************************** //***************************************************************************** // // The following are values that can be passed to the SysCtlClockSet() API as // the ui32Config parameter. // //***************************************************************************** // // TivaWare 2.2.0.xxx Update // Due to TM4C129x Errata Item SYSCTL#22, the SYSCTL_CFG_VCO_xxx configurations // have misleading *names* as currently defined as the VCO does not run at the // stated frequencies. To amend this, new *name* defintions are being used, // however the register configuration remains the same. // The old definitions will remain for compatibility with code ported from // older versions of TivaWare. // // Does not work @ 480, use // SYSCTL_CFG_VCO_240 instead // Does not work @ 320, use // SYSCTL_CFG_VCO_160 instead //***************************************************************************** // // The following are values that can be passed to the SysCtlDeepSleepClockSet() // API as the ui32Config parameter. // //***************************************************************************** //***************************************************************************** // // The following are values that can be passed to the SysCtlPIOSCCalibrate() // API as the ui32Type parameter. // //***************************************************************************** //***************************************************************************** // // The following are values that can be passed to the SysCtlMOSCConfigSet() API // as the ui32Config parameter. // //***************************************************************************** //***************************************************************************** // // The following are values that can be passed to the SysCtlSleepPowerSet() and // SysCtlDeepSleepPowerSet() APIs as the ui32Config parameter. // //***************************************************************************** // (Deep Sleep Only) // (Deep Sleep Only) //***************************************************************************** // // Defines for the SysCtlResetBehaviorSet() and SysCtlResetBehaviorGet() APIs. // //***************************************************************************** //***************************************************************************** // // Values used with the SysCtlVoltageEventConfig() API. // //***************************************************************************** //***************************************************************************** // // Values used with the SysCtlVoltageEventStatus() and // SysCtlVoltageEventClear() APIs. // //***************************************************************************** //***************************************************************************** // // Values used with the SysCtlNMIStatus() API. // //***************************************************************************** //***************************************************************************** // // The defines for the SysCtlClockOutConfig() API. // //***************************************************************************** //***************************************************************************** // // The following defines are used with the SysCtlAltClkConfig() function. // //***************************************************************************** //***************************************************************************** // // Prototypes for the APIs. // //***************************************************************************** extern uint32_t SysCtlSRAMSizeGet(void); extern uint32_t SysCtlFlashSizeGet(void); extern uint32_t SysCtlFlashSectorSizeGet(void); extern _Bool SysCtlPeripheralPresent(uint32_t ui32Peripheral); extern _Bool SysCtlPeripheralReady(uint32_t ui32Peripheral); extern void SysCtlPeripheralPowerOn(uint32_t ui32Peripheral); extern void SysCtlPeripheralPowerOff(uint32_t ui32Peripheral); extern void SysCtlPeripheralReset(uint32_t ui32Peripheral); extern void SysCtlPeripheralEnable(uint32_t ui32Peripheral); extern void SysCtlPeripheralDisable(uint32_t ui32Peripheral); extern void SysCtlPeripheralSleepEnable(uint32_t ui32Peripheral); extern void SysCtlPeripheralSleepDisable(uint32_t ui32Peripheral); extern void SysCtlPeripheralDeepSleepEnable(uint32_t ui32Peripheral); extern void SysCtlPeripheralDeepSleepDisable(uint32_t ui32Peripheral); extern void SysCtlPeripheralClockGating(_Bool bEnable); extern void SysCtlIntRegister(void (*pfnHandler)(void)); extern void SysCtlIntUnregister(void); extern void SysCtlIntEnable(uint32_t ui32Ints); extern void SysCtlIntDisable(uint32_t ui32Ints); extern void SysCtlIntClear(uint32_t ui32Ints); extern uint32_t SysCtlIntStatus(_Bool bMasked); extern void SysCtlLDOSleepSet(uint32_t ui32Voltage); extern uint32_t SysCtlLDOSleepGet(void); extern void SysCtlLDODeepSleepSet(uint32_t ui32Voltage); extern uint32_t SysCtlLDODeepSleepGet(void); extern void SysCtlSleepPowerSet(uint32_t ui32Config); extern void SysCtlDeepSleepPowerSet(uint32_t ui32Config); extern void SysCtlReset(void); extern void SysCtlSleep(void); extern void SysCtlDeepSleep(void); extern uint32_t SysCtlResetCauseGet(void); extern void SysCtlResetCauseClear(uint32_t ui32Causes); extern void SysCtlBrownOutConfigSet(uint32_t ui32Config, uint32_t ui32Delay); extern void SysCtlDelay(uint32_t ui32Count); extern void SysCtlMOSCConfigSet(uint32_t ui32Config); extern uint32_t SysCtlPIOSCCalibrate(uint32_t ui32Type); extern void SysCtlClockSet(uint32_t ui32Config); extern uint32_t SysCtlClockGet(void); extern void SysCtlDeepSleepClockSet(uint32_t ui32Config); extern void SysCtlDeepSleepClockConfigSet(uint32_t ui32Div, uint32_t ui32Config); extern void SysCtlPWMClockSet(uint32_t ui32Config); extern uint32_t SysCtlPWMClockGet(void); extern void SysCtlIOSCVerificationSet(_Bool bEnable); extern void SysCtlMOSCVerificationSet(_Bool bEnable); extern void SysCtlPLLVerificationSet(_Bool bEnable); extern void SysCtlClkVerificationClear(void); extern void SysCtlGPIOAHBEnable(uint32_t ui32GPIOPeripheral); extern void SysCtlGPIOAHBDisable(uint32_t ui32GPIOPeripheral); extern void SysCtlUSBPLLEnable(void); extern void SysCtlUSBPLLDisable(void); extern uint32_t SysCtlClockFreqSet(uint32_t ui32Config, uint32_t ui32SysClock); extern void SysCtlResetBehaviorSet(uint32_t ui32Behavior); extern uint32_t SysCtlResetBehaviorGet(void); extern void SysCtlClockOutConfig(uint32_t ui32Config, uint32_t ui32Div); extern void SysCtlAltClkConfig(uint32_t ui32Config); extern uint32_t SysCtlNMIStatus(void); extern void SysCtlNMIClear(uint32_t ui32Status); extern void SysCtlVoltageEventConfig(uint32_t ui32Config); extern uint32_t SysCtlVoltageEventStatus(void); extern void SysCtlVoltageEventClear(uint32_t ui32Status); extern _Bool SysCtlVCOGet(uint32_t ui32Crystal, uint32_t *pui32VCOFrequency); //***************************************************************************** // // Mark the end of the C bindings section for C++ compilers. // //***************************************************************************** /* * File: VCU_Model.h * * Code generated for Simulink model 'VCU_Model'. * * Model version : 19.19 * Simulink Coder version : 9.7 (R2022a) 13-Nov-2021 * C/C++ source code generated on : Wed Jan 18 09:40:11 2023 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex-M * Code generation objectives: Unspecified * Validation result: Not run */ /* * File trailer for generated code. * * [EOF] */ /* * File: VCU_Model_private.h * * Code generated for Simulink model 'VCU_Model'. * * Model version : 19.19 * Simulink Coder version : 9.7 (R2022a) 13-Nov-2021 * C/C++ source code generated on : Wed Jan 18 09:40:11 2023 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex-M * Code generation objectives: Unspecified * Validation result: Not run */ extern void VCU_Model_Chart_Init(B_Chart_VCU_Model_T *localB, DW_Chart_VCU_Model_T *localDW); extern void VCU_Model_Chart(B_Chart_VCU_Model_T *localB, DW_Chart_VCU_Model_T *localDW); extern void VCU_Model_Polling10msTask_Init(void); extern void VCU_Model_Polling10msTask_Start(void); extern void VCU_Model_Polling10msTask(void); extern void VCU_Model_TempFunc(void); extern void VCU_Model_Uart7_ConP8_PLC_Init(void); extern void VCU_Model_Uart7_ConP8_PLC(void); extern void VCU_Model_Polling10msTask_Term(void); /* * File trailer for generated code. * * [EOF] */ /************************** I2C Address ***************************************/ /************************** I2C Registers *************************************/ extern uint8_t PJ0_JumpToBootloader; typedef union { uint8_t IR_Senser_DO_all; struct { uint8_t IR1_DO1 : 1; uint8_t IR1_DO2 : 1; uint8_t IR1_DO3 : 1; uint8_t IR1_DO4 : 1; uint8_t IR2_DO1 : 1; uint8_t IR2_DO2 : 1; uint8_t IR2_DO3 : 1; uint8_t IR2_DO4 : 1; } IR_DO; }IR_Senser_DO_all_t; typedef union { uint8_t E84_DO_all; struct { uint8_t E84_DO1 : 1; uint8_t E84_DO2 : 1; uint8_t E84_DO3 : 1; uint8_t E84_DO4 : 1; uint8_t E84_DO5 : 1; uint8_t E84_DO6 : 1; uint8_t E84_DO7 : 1; uint8_t E84_DO8 : 1; } E84_DO; }E84_DO_all_t; typedef struct { uint8_t u8E84_1_DI1; uint8_t u8E84_1_DI2; uint8_t u8E84_1_DI3; uint8_t u8E84_1_DI4; uint8_t u8E84_1_DI5; uint8_t u8E84_1_DI6; uint8_t u8E84_1_DI7; uint8_t u8E84_1_DI8; uint8_t u8E84_2_DI1; uint8_t u8E84_2_DI2; uint8_t u8E84_2_DI3; uint8_t u8E84_2_DI4; uint8_t u8E84_2_DI5; uint8_t u8E84_2_DI6; uint8_t u8E84_2_DI7; uint8_t u8E84_2_DI8; uint8_t u8E84_3_DI1; uint8_t u8E84_3_DI2; uint8_t u8E84_3_DI3; uint8_t u8E84_3_DI4; uint8_t u8E84_3_DI5; uint8_t u8E84_3_DI6; uint8_t u8E84_3_DI7; uint8_t u8E84_3_DI8; uint8_t u8IR_Sens_DI1; uint8_t u8IR_Sens_DI2; uint8_t u8IR_Sens_DI3; uint8_t u8IR_Sens_DI4; uint8_t u8IR_Sens2_DI1; uint8_t u8IR_Sens2_DI2; uint8_t u8IR_Sens2_DI3; uint8_t u8IR_Sens2_DI4; } sDigtalInputData_t; typedef struct { uint8_t u8I2C1_DI1; uint8_t u8I2C1_DI2; uint8_t u8I2C1_DI3; uint8_t u8I2C1_DI4; uint8_t u8I2C1_DI5; uint8_t u8I2C1_DI6; uint8_t u8I2C1_DI7; uint8_t u8I2C1_DI8; uint8_t u8I2C2_DI1; uint8_t u8I2C2_DI2; uint8_t u8I2C2_DI3; uint8_t u8I2C2_DI4; uint8_t u8I2C2_DI5; uint8_t u8I2C2_DI6; uint8_t u8I2C2_DI7; uint8_t u8I2C2_DI8; } sTCA9539InputData_t; typedef union { uint8_t DI_All; struct { uint8_t DI1 : 1; uint8_t DI2 : 1; uint8_t DI3 : 1; uint8_t DI4 : 1; uint8_t DI5 : 1; uint8_t DI6 : 1; uint8_t DI7 : 1; uint8_t DI8 : 1; } DIs; }PCA9539_DI_Data_t; typedef union { uint8_t DO_All; struct { uint8_t DO1 : 1; uint8_t DO2 : 1; uint8_t DO3 : 1; uint8_t DO4 : 1; uint8_t DO5 : 1; uint8_t DO6 : 1; uint8_t DO7 : 1; uint8_t DO8 : 1; } DOs; }PCA9539_DO_Data_t; extern sDigtalInputData_t gtDigtalInputDataFlag; extern sTCA9539InputData_t gtTCA9539InputDataFlag; extern uint8_t u8DigtalInputSWFlag; // Configure the GPIO Pin Mux for PD1 for GPIO_PD1(IR-Sens2-DO1) // Configure the GPIO Pin Mux for PE5 for GPIO_PE5(IR-Sens2-DO4) // Configure the GPIO Pin Mux for PD6 for GPIO_PD6(IR-Sens2-DO3) // Configure the GPIO Pin Mux for PD7 for GPIO_PD7(IR-Sens2-DO2) // Configure the GPIO Pin Mux for PK3 for GPIO_PK3(E84-3-DO1) // Configure the GPIO Pin Mux for PC7 for GPIO_PC7(E84-3-DO2) // Configure the GPIO Pin Mux for PC6 for GPIO_PC6(E84-3-DO3) // Configure the GPIO Pin Mux for PQ3 for GPIO_PQ3(E84-3-DO4) // Configure the GPIO Pin Mux for PH0 for GPIO_PH0(E84-3-DO5) // Configure the GPIO Pin Mux for PH1 for GPIO_PH1(E84-3-DO6) // Configure the GPIO Pin Mux for PH2 for GPIO_PH2(E84-3-DO7) // Configure the GPIO Pin Mux for PH3 for GPIO_PH3(E84-3-DO8) // Configure the GPIO Pin Mux for PK4 for GPIO_PK4(E84-1-DO1) // Configure the GPIO Pin Mux for PM7 for GPIO_PM7(E84-1-DO2) // Configure the GPIO Pin Mux for PM6 for GPIO_PM6(E84-1-DO3) // Configure the GPIO Pin Mux for PM5 for GPIO_PM5(E84-1-DO4) // Configure the GPIO Pin Mux for PM4 for GPIO_PM4(E84-1-DO5) // Configure the GPIO Pin Mux for PM3 for GPIO_PM3(E84-1-DO6) // Configure the GPIO Pin Mux for PM2 for GPIO_PM2(E84-1-DO7) // Configure the GPIO Pin Mux for PM1 for GPIO_PM1(E84-1-DO8) // Configure the GPIO Pin Mux for PL6 for GPIO_PL6(E84-2-DO1) // Configure the GPIO Pin Mux for PQ4 for GPIO_PQ4(E84-2-DO2) // Configure the GPIO Pin Mux for PP2 for GPIO_PP2(E84-2-DO3) // Configure the GPIO Pin Mux for PP3 for GPIO_PP3(E84-2-DO4) // Configure the GPIO Pin Mux for PP4 for GPIO_PP4(E84-2-DO5) // Configure the GPIO Pin Mux for PP5 for GPIO_PP5(E84-2-DO6) // Configure the GPIO Pin Mux for PN0 for GPIO_PN0(E84-2-DO7) // Configure the GPIO Pin Mux for PN1 for GPIO_PN1(E84-2-DO8) // Configure the GPIO Pin Mux for PN2 for GPIO_PN2(IR-Sens-DO4) // Configure the GPIO Pin Mux for PN3 for GPIO_PN3(IR-Sens-DO3) // Configure the GPIO Pin Mux for PN4 for GPIO_PN4(IR-Sens-DO2) // Configure the GPIO Pin Mux for PN5 for GPIO_PN5(IR-Sens-DO1) static void InputDataJudgment(void); static void PCA9539InitI2CReg(void); static void I2C_MultiWriteBytes(uint8_t u8SlaveAddress,uint8_t u8RegAddress, uint8_t u8data); static uint8_t I2C_SingleReadByte(uint8_t u8SlaveAddress, uint8_t u8RegAddress); static void P18Con_DI_I2C1_PCA9539_0x74(void); static void P19Con_DI_I2C1_PCA9539_0x76(void); extern void P18Con_DO_I2C1_PCA9539(uint8_t DONumber,uint8_t OnOff); extern void P19Con_DO_I2C1_PCA9539(uint8_t DONumber,uint8_t OnOff); extern void DiDo_Initial(void); extern void DiDo_Application(void); //***************************************************************************** // // hw_ints.h - Macros that define the interrupt assignment on Tiva C Series // MCUs. // // Copyright (c) 2005-2020 Texas Instruments Incorporated. All rights reserved. // Software License Agreement // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // // Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // 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. // // Neither the name of Texas Instruments Incorporated 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. // // This is part of revision 2.2.0.295 of the Tiva Firmware Development Package. // //***************************************************************************** //***************************************************************************** // // The following are defines for the fault assignments. // //***************************************************************************** //***************************************************************************** // // TM4C123 Class Interrupts // //***************************************************************************** // Control //***************************************************************************** // // TM4C129 Class Interrupts // //***************************************************************************** // (imprecise) //***************************************************************************** // // TM4C123 Interrupt Class Definition // //***************************************************************************** //***************************************************************************** // // Macros to resolve the INT_PERIPH_CLASS name to a common INT_PERIPH name. // //***************************************************************************** //***************************************************************************** // // The following are defines for the interrupt assignments. // //***************************************************************************** //***************************************************************************** // // The following are defines for the total number of interrupts. // //***************************************************************************** //***************************************************************************** // // The following are defines for the total number of priority levels. // //***************************************************************************** //***************************************************************************** // // interrupt.h - Prototypes for the NVIC Interrupt Controller Driver. // // Copyright (c) 2005-2020 Texas Instruments Incorporated. All rights reserved. // Software License Agreement // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // // Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // 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. // // Neither the name of Texas Instruments Incorporated 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. // // This is part of revision 2.2.0.295 of the Tiva Peripheral Driver Library. // //***************************************************************************** //***************************************************************************** // // If building with a C++ compiler, make all of the definitions in this header // have a C binding. // //***************************************************************************** //***************************************************************************** // // Macro to generate an interrupt priority mask based on the number of bits // of priority supported by the hardware. // //***************************************************************************** //***************************************************************************** // // Prototypes for the APIs. // //***************************************************************************** extern _Bool IntMasterEnable(void); extern _Bool IntMasterDisable(void); extern void IntRegister(uint32_t ui32Interrupt, void (*pfnHandler)(void)); extern void IntUnregister(uint32_t ui32Interrupt); extern void IntPriorityGroupingSet(uint32_t ui32Bits); extern uint32_t IntPriorityGroupingGet(void); extern void IntPrioritySet(uint32_t ui32Interrupt, uint8_t ui8Priority); extern int32_t IntPriorityGet(uint32_t ui32Interrupt); extern void IntEnable(uint32_t ui32Interrupt); extern void IntDisable(uint32_t ui32Interrupt); extern uint32_t IntIsEnabled(uint32_t ui32Interrupt); extern void IntPendSet(uint32_t ui32Interrupt); extern void IntPendClear(uint32_t ui32Interrupt); extern void IntPriorityMaskSet(uint32_t ui32PriorityMask); extern uint32_t IntPriorityMaskGet(void); extern void IntTrigger(uint32_t ui32Interrupt); //***************************************************************************** // // Mark the end of the C bindings section for C++ compilers. // //***************************************************************************** //***************************************************************************** // // rom.h - Macros to facilitate calling functions in the ROM. // // Copyright (c) 2007-2020 Texas Instruments Incorporated. All rights reserved. // Software License Agreement // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // // Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // 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. // // Neither the name of Texas Instruments Incorporated 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. // // This is part of revision 2.2.0.295 of the Tiva Peripheral Driver Library. // //***************************************************************************** //***************************************************************************** // // ROM selection labels changed between TivaWare 2.0.1 and 2.1. The following // labels are intended to ensure backwards compatibility for applications // which have not yet been updated to use the replacement labels. // //***************************************************************************** //***************************************************************************** // // Pointers to the main API tables. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the ADC API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the AES API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the CAN API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the Comparator API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the CRC API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the DES API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the EEPROM API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the EPI API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the EMAC API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the Flash API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the FPU API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the GPIO API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the Hibernate API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the I2C API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the Interrupt API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the LCD API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the MPU API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the OneWire API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the PWM API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the QEI API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the SHAMD5 API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the SMBus API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the SPIFlash API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the SSI API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the SysCtl API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the SysExc API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the SysTick API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the Timer API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the UART API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the uDMA API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the USB API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the Watchdog API. // //***************************************************************************** //***************************************************************************** // // Macros for calling ROM functions in the Software API. // //***************************************************************************** //***************************************************************************** // // uart.h - Defines and Macros for the UART. // // Copyright (c) 2005-2020 Texas Instruments Incorporated. All rights reserved. // Software License Agreement // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // // Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // 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. // // Neither the name of Texas Instruments Incorporated 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. // // This is part of revision 2.2.0.295 of the Tiva Peripheral Driver Library. // //***************************************************************************** //***************************************************************************** // // If building with a C++ compiler, make all of the definitions in this header // have a C binding. // //***************************************************************************** //***************************************************************************** // // Values that can be passed to UARTIntEnable, UARTIntDisable, and UARTIntClear // as the ui32IntFlags parameter, and returned from UARTIntStatus. // //***************************************************************************** //***************************************************************************** // // Values that can be passed to UARTConfigSetExpClk as the ui32Config parameter // and returned by UARTConfigGetExpClk in the pui32Config parameter. // Additionally, the UART_CONFIG_PAR_* subset can be passed to // UARTParityModeSet as the ui32Parity parameter, and are returned by // UARTParityModeGet. // //***************************************************************************** //***************************************************************************** // // Values that can be passed to UARTFIFOLevelSet as the ui32TxLevel parameter // and returned by UARTFIFOLevelGet in the pui32TxLevel. // //***************************************************************************** //***************************************************************************** // // Values that can be passed to UARTFIFOLevelSet as the ui32RxLevel parameter // and returned by UARTFIFOLevelGet in the pui32RxLevel. // //***************************************************************************** //***************************************************************************** // // Values that can be passed to UARTDMAEnable() and UARTDMADisable(). // //***************************************************************************** //***************************************************************************** // // Values returned from UARTRxErrorGet(). // //***************************************************************************** //***************************************************************************** // // Values that can be passed to UARTHandshakeOutputsSet() or returned from // UARTHandshakeOutputGet(). // //***************************************************************************** //***************************************************************************** // // Values that can be returned from UARTHandshakeInputsGet(). // //***************************************************************************** //***************************************************************************** // // Values that can be passed to UARTFlowControl() or returned from // UARTFlowControlGet(). // //***************************************************************************** //***************************************************************************** // // Values that can be passed to UARTTxIntModeSet() or returned from // UARTTxIntModeGet(). // //***************************************************************************** //***************************************************************************** // // Values that can be passed to UARTClockSourceSet() or returned from // UARTClockSourceGet(). // //***************************************************************************** //***************************************************************************** // // API Function prototypes // //***************************************************************************** extern void UARTParityModeSet(uint32_t ui32Base, uint32_t ui32Parity); extern uint32_t UARTParityModeGet(uint32_t ui32Base); extern void UARTFIFOLevelSet(uint32_t ui32Base, uint32_t ui32TxLevel, uint32_t ui32RxLevel); extern void UARTFIFOLevelGet(uint32_t ui32Base, uint32_t *pui32TxLevel, uint32_t *pui32RxLevel); extern void UARTConfigSetExpClk(uint32_t ui32Base, uint32_t ui32UARTClk, uint32_t ui32Baud, uint32_t ui32Config); extern void UARTConfigGetExpClk(uint32_t ui32Base, uint32_t ui32UARTClk, uint32_t *pui32Baud, uint32_t *pui32Config); extern void UARTEnable(uint32_t ui32Base); extern void UARTDisable(uint32_t ui32Base); extern void UARTFIFOEnable(uint32_t ui32Base); extern void UARTFIFODisable(uint32_t ui32Base); extern void UARTEnableSIR(uint32_t ui32Base, _Bool bLowPower); extern void UARTDisableSIR(uint32_t ui32Base); extern _Bool UARTCharsAvail(uint32_t ui32Base); extern _Bool UARTSpaceAvail(uint32_t ui32Base); extern int32_t UARTCharGetNonBlocking(uint32_t ui32Base); extern int32_t UARTCharGet(uint32_t ui32Base); extern _Bool UARTCharPutNonBlocking(uint32_t ui32Base, unsigned char ucData); extern void UARTCharPut(uint32_t ui32Base, unsigned char ucData); extern void UARTBreakCtl(uint32_t ui32Base, _Bool bBreakState); extern _Bool UARTBusy(uint32_t ui32Base); extern void UARTIntRegister(uint32_t ui32Base, void (*pfnHandler)(void)); extern void UARTIntUnregister(uint32_t ui32Base); extern void UARTIntEnable(uint32_t ui32Base, uint32_t ui32IntFlags); extern void UARTIntDisable(uint32_t ui32Base, uint32_t ui32IntFlags); extern uint32_t UARTIntStatus(uint32_t ui32Base, _Bool bMasked); extern void UARTIntClear(uint32_t ui32Base, uint32_t ui32IntFlags); extern void UARTDMAEnable(uint32_t ui32Base, uint32_t ui32DMAFlags); extern void UARTDMADisable(uint32_t ui32Base, uint32_t ui32DMAFlags); extern uint32_t UARTRxErrorGet(uint32_t ui32Base); extern void UARTRxErrorClear(uint32_t ui32Base); extern void UARTSmartCardEnable(uint32_t ui32Base); extern void UARTSmartCardDisable(uint32_t ui32Base); extern void UARTModemControlSet(uint32_t ui32Base, uint32_t ui32Control); extern void UARTModemControlClear(uint32_t ui32Base, uint32_t ui32Control); extern uint32_t UARTModemControlGet(uint32_t ui32Base); extern uint32_t UARTModemStatusGet(uint32_t ui32Base); extern void UARTFlowControlSet(uint32_t ui32Base, uint32_t ui32Mode); extern uint32_t UARTFlowControlGet(uint32_t ui32Base); extern void UARTTxIntModeSet(uint32_t ui32Base, uint32_t ui32Mode); extern uint32_t UARTTxIntModeGet(uint32_t ui32Base); extern void UARTClockSourceSet(uint32_t ui32Base, uint32_t ui32Source); extern uint32_t UARTClockSourceGet(uint32_t ui32Base); extern void UART9BitEnable(uint32_t ui32Base); extern void UART9BitDisable(uint32_t ui32Base); extern void UART9BitAddrSet(uint32_t ui32Base, uint8_t ui8Addr, uint8_t ui8Mask); extern void UART9BitAddrSend(uint32_t ui32Base, uint8_t ui8Addr); extern void UARTLoopbackEnable(uint32_t ui32Base); //***************************************************************************** // // Mark the end of the C bindings section for C++ compilers. // //***************************************************************************** extern uint8_t AGV_Reset[3]; extern void UartInit(void); extern void UART2InterruptSend(const uint8_t *pui8Buffer,uint32_t TxSize); extern void UART7InterruptSend(const uint8_t *pui8Buffer,uint32_t TxSize); extern void UART6InterruptSend(const uint8_t *pui8Buffer,uint32_t TxSize); /* Block signals for system '/Chart' */ typedef struct { uint8_T DOs; /* '/Chart' */ } B_Chart_VCU_Model_T; /* Block states (default storage) for system '/Chart' */ typedef struct { uint8_T is_active_c1_VCU_Model; /* '/Chart' */ uint8_T is_c1_VCU_Model; /* '/Chart' */ } DW_Chart_VCU_Model_T; /* Block signals (default storage) */ typedef struct { uint8_T DOs; /* '/Chart' */ B_Chart_VCU_Model_T sf_Chart_e; /* '/Chart' */ B_Chart_VCU_Model_T sf_Chart_l; /* '/Chart' */ } B_VCU_Model_T; /* Block states (default storage) for system '' */ typedef struct { uint8_T Output_DSTATE; /* '/Output' */ uint8_T Output_DSTATE_e; /* '/Output' */ uint8_T Output_DSTATE_j; /* '/Output' */ uint8_T Output_DSTATE_b; /* '/Output' */ uint8_T Output_DSTATE_k; /* '/Output' */ uint8_T Output_DSTATE_d; /* '/Output' */ uint8_T Output_DSTATE_bq; /* '/Output' */ uint8_T Output_DSTATE_g; /* '/Output' */ uint8_T Polling; /* '/Data Store Memory1' */ uint8_T Uart7RxData; /* '/Data Store Memory4' */ uint8_T PLC_RxFrame[30]; /* '/Data Store Memory7' */ uint8_T PLC_TxFrame[30]; /* '/Data Store Memory8' */ uint8_T i; /* '/Chart' */ uint8_T temp[30]; /* '/Chart' */ uint8_T is_active_c2_VCU_Model; /* '/Chart' */ uint8_T is_c2_VCU_Model; /* '/Chart' */ boolean_T J2Con_DI2; /* '/Data Store Memory3' */ boolean_T ReceiveCorrectFlag; /* '/Data Store Memory5' */ boolean_T J2Con_DI1; /* '/Data Store Memory6' */ DW_Chart_VCU_Model_T sf_Chart_e; /* '/Chart' */ DW_Chart_VCU_Model_T sf_Chart_l; /* '/Chart' */ } DW_VCU_Model_T; /* Parameters (default storage) */ struct P_VCU_Model_T_ { uint8_T PLC_RxLength; /* Variable: PLC_RxLength * Referenced by: '/Constant' */ uint8_T PLC_TxLength; /* Variable: PLC_TxLength * Referenced by: '/Constant' */ uint8_T WrapToZero_Threshold; /* Mask Parameter: WrapToZero_Threshold * Referenced by: '/FixPt Switch' */ uint8_T WrapToZero_Threshold_a; /* Mask Parameter: WrapToZero_Threshold_a * Referenced by: '/FixPt Switch' */ uint8_T CounterLimited_uplimit; /* Mask Parameter: CounterLimited_uplimit * Referenced by: '/FixPt Switch' */ uint8_T CounterLimited_uplimit_f; /* Mask Parameter: CounterLimited_uplimit_f * Referenced by: '/FixPt Switch' */ uint8_T CounterLimited1_uplimit; /* Mask Parameter: CounterLimited1_uplimit * Referenced by: '/FixPt Switch' */ uint8_T CounterLimited2_uplimit; /* Mask Parameter: CounterLimited2_uplimit * Referenced by: '/FixPt Switch' */ uint8_T CounterLimited3_uplimit; /* Mask Parameter: CounterLimited3_uplimit * Referenced by: '/FixPt Switch' */ uint8_T CounterLimited4_uplimit; /* Mask Parameter: CounterLimited4_uplimit * Referenced by: '/FixPt Switch' */ boolean_T DataStoreMemory3_InitialValue; /* Computed Parameter: DataStoreMemory3_InitialValue * Referenced by: '/Data Store Memory3' */ boolean_T DataStoreMemory5_InitialValue; /* Computed Parameter: DataStoreMemory5_InitialValue * Referenced by: '/Data Store Memory5' */ boolean_T DataStoreMemory6_InitialValue; /* Computed Parameter: DataStoreMemory6_InitialValue * Referenced by: '/Data Store Memory6' */ uint8_T Constant_Value; /* Computed Parameter: Constant_Value * Referenced by: '/Constant' */ uint8_T Constant_Value_e; /* Computed Parameter: Constant_Value_e * Referenced by: '/Constant' */ uint8_T Constant_Value_c; /* Computed Parameter: Constant_Value_c * Referenced by: '/Constant' */ uint8_T Constant_Value_a; /* Computed Parameter: Constant_Value_a * Referenced by: '/Constant' */ uint8_T Constant_Value_aw; /* Computed Parameter: Constant_Value_aw * Referenced by: '/Constant' */ uint8_T Constant_Value_k; /* Computed Parameter: Constant_Value_k * Referenced by: '/Constant' */ uint8_T Constant_Value_i; /* Computed Parameter: Constant_Value_i * Referenced by: '/Constant' */ uint8_T Constant3_Value; /* Computed Parameter: Constant3_Value * Referenced by: '/Constant3' */ uint8_T Output_InitialCondition;/* Computed Parameter: Output_InitialCondition * Referenced by: '/Output' */ uint8_T Constant2_Value; /* Computed Parameter: Constant2_Value * Referenced by: '/Constant2' */ uint8_T FixPtConstant_Value; /* Computed Parameter: FixPtConstant_Value * Referenced by: '/FixPt Constant' */ uint8_T Constant_Value_l; /* Computed Parameter: Constant_Value_l * Referenced by: '/Constant' */ uint8_T Output_InitialCondition_m; /* Computed Parameter: Output_InitialCondition_m * Referenced by: '/Output' */ uint8_T FixPtConstant_Value_k; /* Computed Parameter: FixPtConstant_Value_k * Referenced by: '/FixPt Constant' */ uint8_T Constant_Value_m; /* Computed Parameter: Constant_Value_m * Referenced by: '/Constant' */ uint8_T Constant_Value_p; /* Computed Parameter: Constant_Value_p * Referenced by: '/Constant' */ uint8_T Constant_Value_k5; /* Computed Parameter: Constant_Value_k5 * Referenced by: '/Constant' */ uint8_T Constant_Value_mm; /* Computed Parameter: Constant_Value_mm * Referenced by: '/Constant' */ uint8_T Constant_Value_b; /* Computed Parameter: Constant_Value_b * Referenced by: '/Constant' */ uint8_T Output_InitialCondition_j; /* Computed Parameter: Output_InitialCondition_j * Referenced by: '/Output' */ uint8_T Output_InitialCondition_b; /* Computed Parameter: Output_InitialCondition_b * Referenced by: '/Output' */ uint8_T FixPtConstant_Value_g; /* Computed Parameter: FixPtConstant_Value_g * Referenced by: '/FixPt Constant' */ uint8_T Output_InitialCondition_i; /* Computed Parameter: Output_InitialCondition_i * Referenced by: '/Output' */ uint8_T FixPtConstant_Value_h; /* Computed Parameter: FixPtConstant_Value_h * Referenced by: '/FixPt Constant' */ uint8_T Output_InitialCondition_jq; /* Computed Parameter: Output_InitialCondition_jq * Referenced by: '/Output' */ uint8_T FixPtConstant_Value_j; /* Computed Parameter: FixPtConstant_Value_j * Referenced by: '/FixPt Constant' */ uint8_T Output_InitialCondition_a; /* Computed Parameter: Output_InitialCondition_a * Referenced by: '/Output' */ uint8_T FixPtConstant_Value_d; /* Computed Parameter: FixPtConstant_Value_d * Referenced by: '/FixPt Constant' */ uint8_T Output_InitialCondition_g; /* Computed Parameter: Output_InitialCondition_g * Referenced by: '/Output' */ uint8_T FixPtConstant_Value_l; /* Computed Parameter: FixPtConstant_Value_l * Referenced by: '/FixPt Constant' */ uint8_T FixPtConstant_Value_b; /* Computed Parameter: FixPtConstant_Value_b * Referenced by: '/FixPt Constant' */ uint8_T DataStoreMemory9_InitialValue; /* Computed Parameter: DataStoreMemory9_InitialValue * Referenced by: '/Data Store Memory9' */ uint8_T DataStoreMemory1_InitialValue; /* Computed Parameter: DataStoreMemory1_InitialValue * Referenced by: '/Data Store Memory1' */ uint8_T DataStoreMemory4_InitialValue; /* Computed Parameter: DataStoreMemory4_InitialValue * Referenced by: '/Data Store Memory4' */ uint8_T DataStoreMemory7_InitialValue; /* Computed Parameter: DataStoreMemory7_InitialValue * Referenced by: '/Data Store Memory7' */ uint8_T DataStoreMemory8_InitialValue; /* Computed Parameter: DataStoreMemory8_InitialValue * Referenced by: '/Data Store Memory8' */ }; /* Real-time Model Data Structure */ struct tag_RTM_VCU_Model_T { const char_T * volatile errorStatus; }; /* Block parameters (default storage) */ extern P_VCU_Model_T VCU_Model_P; /* Block signals (default storage) */ extern B_VCU_Model_T VCU_Model_B; /* Block states (default storage) */ extern DW_VCU_Model_T VCU_Model_DW; /* Model entry point functions */ extern void VCU_Model_initialize(void); extern void VCU_Model_step(void); extern void VCU_Model_terminate(void); /* Real-time Model object */ extern RT_MODEL_VCU_Model_T *const VCU_Model_M; /*- * The generated code includes comments that allow you to trace directly * back to the appropriate location in the model. The basic format * is /block_name, where system is the system number (uniquely * assigned by Simulink) and block_name is the name of the block. * * Use the MATLAB hilite_system command to trace the generated code back * to the model. For example, * * hilite_system('') - opens system 3 * hilite_system('/Kp') - opens and selects block Kp which resides in S3 * * Here is the system hierarchy for this model * * '' : 'VCU_Model' * '' : 'VCU_Model/Polling10msTask' * '' : 'VCU_Model/TempFunc' * '' : 'VCU_Model/Uart7_ConP8_PLC' * '' : 'VCU_Model/Polling10msTask/Compare' * '' : 'VCU_Model/Polling10msTask/Compare1' * '' : 'VCU_Model/Polling10msTask/Compare2' * '' : 'VCU_Model/Polling10msTask/Compare3' * '' : 'VCU_Model/Polling10msTask/Compare4' * '' : 'VCU_Model/Polling10msTask/Counter Free-Running' * '' : 'VCU_Model/Polling10msTask/Counter Limited' * '' : 'VCU_Model/Polling10msTask/Counter Limited1' * '' : 'VCU_Model/Polling10msTask/Counter Limited2' * '' : 'VCU_Model/Polling10msTask/Counter Limited3' * '' : 'VCU_Model/Polling10msTask/Counter Limited4' * '' : 'VCU_Model/Polling10msTask/Polling100ms' * '' : 'VCU_Model/Polling10msTask/Polling1sec' * '' : 'VCU_Model/Polling10msTask/Polling20ms' * '' : 'VCU_Model/Polling10msTask/Polling500ms' * '' : 'VCU_Model/Polling10msTask/Polling50ms' * '' : 'VCU_Model/Polling10msTask/Counter Free-Running/Increment Real World' * '' : 'VCU_Model/Polling10msTask/Counter Free-Running/Wrap To Zero' * '' : 'VCU_Model/Polling10msTask/Counter Limited/Increment Real World' * '' : 'VCU_Model/Polling10msTask/Counter Limited/Wrap To Zero' * '' : 'VCU_Model/Polling10msTask/Counter Limited1/Increment Real World' * '' : 'VCU_Model/Polling10msTask/Counter Limited1/Wrap To Zero' * '' : 'VCU_Model/Polling10msTask/Counter Limited2/Increment Real World' * '' : 'VCU_Model/Polling10msTask/Counter Limited2/Wrap To Zero' * '' : 'VCU_Model/Polling10msTask/Counter Limited3/Increment Real World' * '' : 'VCU_Model/Polling10msTask/Counter Limited3/Wrap To Zero' * '' : 'VCU_Model/Polling10msTask/Counter Limited4/Increment Real World' * '' : 'VCU_Model/Polling10msTask/Counter Limited4/Wrap To Zero' * '' : 'VCU_Model/Polling10msTask/Polling1sec/PLC_Uart7_TX' * '' : 'VCU_Model/Polling10msTask/Polling1sec/PLC_Uart7_TX/Counter Free-Running' * '' : 'VCU_Model/Polling10msTask/Polling1sec/PLC_Uart7_TX/Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling1sec/PLC_Uart7_TX/Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling1sec/PLC_Uart7_TX/Counter Free-Running/Increment Real World' * '' : 'VCU_Model/Polling10msTask/Polling1sec/PLC_Uart7_TX/Counter Free-Running/Wrap To Zero' * '' : 'VCU_Model/Polling10msTask/Polling1sec/PLC_Uart7_TX/Subsystem/Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling500ms/Counter Limited' * '' : 'VCU_Model/Polling10msTask/Polling500ms/J2Con_DO1' * '' : 'VCU_Model/Polling10msTask/Polling500ms/P18Con_DO1' * '' : 'VCU_Model/Polling10msTask/Polling500ms/Counter Limited/Increment Real World' * '' : 'VCU_Model/Polling10msTask/Polling500ms/Counter Limited/Wrap To Zero' * '' : 'VCU_Model/Polling10msTask/Polling500ms/J2Con_DO1/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling500ms/J2Con_DO1/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling500ms/P18Con_DO1/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling500ms/P18Con_DO1/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/Chart' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO2' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO3' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO4' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO5' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO6' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO7' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO8' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO1/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO1/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO2/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO2/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO3/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO3/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO4/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO4/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO5/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO5/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO6/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO6/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO7/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO7/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO8/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P18ConLED/P18Con_DO8/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/Chart' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO2' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO3' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO4' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO5' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO6' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO7' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO8' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO1/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO1/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO2/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO2/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO3/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO3/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO4/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO4/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO5/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO5/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO6/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO6/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO7/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO7/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO8/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED/P19Con_DO8/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/Chart' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO2' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO3' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO4' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO5' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO6' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO7' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO8' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO1/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO1/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO2/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO2/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO3/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO3/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO4/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO4/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO5/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO5/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO6/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO6/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO7/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO7/If Action Subsystem1' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO8/If Action Subsystem' * '' : 'VCU_Model/Polling10msTask/Polling50ms/P19ConLED1/P19Con_DO8/If Action Subsystem1' * '' : 'VCU_Model/Uart7_ConP8_PLC/Chart' */ /* * File trailer for generated code. * * [EOF] */ /* Block parameters (default storage) */ P_VCU_Model_T VCU_Model_P = { /* Variable: PLC_RxLength * Referenced by: '/Constant' */ 30U, /* Variable: PLC_TxLength * Referenced by: '/Constant' */ 30U, /* Mask Parameter: WrapToZero_Threshold * Referenced by: '/FixPt Switch' */ 255U, /* Mask Parameter: WrapToZero_Threshold_a * Referenced by: '/FixPt Switch' */ 255U, /* Mask Parameter: CounterLimited_uplimit * Referenced by: '/FixPt Switch' */ 0U, /* Mask Parameter: CounterLimited_uplimit_f * Referenced by: '/FixPt Switch' */ 10U, /* Mask Parameter: CounterLimited1_uplimit * Referenced by: '/FixPt Switch' */ 2U, /* Mask Parameter: CounterLimited2_uplimit * Referenced by: '/FixPt Switch' */ 5U, /* Mask Parameter: CounterLimited3_uplimit * Referenced by: '/FixPt Switch' */ 100U, /* Mask Parameter: CounterLimited4_uplimit * Referenced by: '/FixPt Switch' */ 50U, /* Computed Parameter: DataStoreMemory3_InitialValue * Referenced by: '/Data Store Memory3' */ (1U), /* Computed Parameter: DataStoreMemory5_InitialValue * Referenced by: '/Data Store Memory5' */ (0U), /* Computed Parameter: DataStoreMemory6_InitialValue * Referenced by: '/Data Store Memory6' */ (1U), /* Computed Parameter: Constant_Value * Referenced by: '/Constant' */ 0U, /* Computed Parameter: Constant_Value_e * Referenced by: '/Constant' */ 0U, /* Computed Parameter: Constant_Value_c * Referenced by: '/Constant' */ 0U, /* Computed Parameter: Constant_Value_a * Referenced by: '/Constant' */ 0U, /* Computed Parameter: Constant_Value_aw * Referenced by: '/Constant' */ 0U, /* Computed Parameter: Constant_Value_k * Referenced by: '/Constant' */ 0U, /* Computed Parameter: Constant_Value_i * Referenced by: '/Constant' */ 0U, /* Computed Parameter: Constant3_Value * Referenced by: '/Constant3' */ 13U, /* Computed Parameter: Output_InitialCondition * Referenced by: '/Output' */ 0U, /* Computed Parameter: Constant2_Value * Referenced by: '/Constant2' */ 10U, /* Computed Parameter: FixPtConstant_Value * Referenced by: '/FixPt Constant' */ 1U, /* Computed Parameter: Constant_Value_l * Referenced by: '/Constant' */ 0U, /* Computed Parameter: Output_InitialCondition_m * Referenced by: '/Output' */ 0U, /* Computed Parameter: FixPtConstant_Value_k * Referenced by: '/FixPt Constant' */ 1U, /* Computed Parameter: Constant_Value_m * Referenced by: '/Constant' */ 0U, /* Computed Parameter: Constant_Value_p * Referenced by: '/Constant' */ 0U, /* Computed Parameter: Constant_Value_k5 * Referenced by: '/Constant' */ 0U, /* Computed Parameter: Constant_Value_mm * Referenced by: '/Constant' */ 0U, /* Computed Parameter: Constant_Value_b * Referenced by: '/Constant' */ 0U, /* Computed Parameter: Output_InitialCondition_j * Referenced by: '/Output' */ 0U, /* Computed Parameter: Output_InitialCondition_b * Referenced by: '/Output' */ 0U, /* Computed Parameter: FixPtConstant_Value_g * Referenced by: '/FixPt Constant' */ 1U, /* Computed Parameter: Output_InitialCondition_i * Referenced by: '/Output' */ 0U, /* Computed Parameter: FixPtConstant_Value_h * Referenced by: '/FixPt Constant' */ 1U, /* Computed Parameter: Output_InitialCondition_jq * Referenced by: '/Output' */ 0U, /* Computed Parameter: FixPtConstant_Value_j * Referenced by: '/FixPt Constant' */ 1U, /* Computed Parameter: Output_InitialCondition_a * Referenced by: '/Output' */ 0U, /* Computed Parameter: FixPtConstant_Value_d * Referenced by: '/FixPt Constant' */ 1U, /* Computed Parameter: Output_InitialCondition_g * Referenced by: '/Output' */ 0U, /* Computed Parameter: FixPtConstant_Value_l * Referenced by: '/FixPt Constant' */ 1U, /* Computed Parameter: FixPtConstant_Value_b * Referenced by: '/FixPt Constant' */ 1U, /* Computed Parameter: DataStoreMemory9_InitialValue * Referenced by: '/Data Store Memory9' */ 0U, /* Computed Parameter: DataStoreMemory1_InitialValue * Referenced by: '/Data Store Memory1' */ 0U, /* Computed Parameter: DataStoreMemory4_InitialValue * Referenced by: '/Data Store Memory4' */ 0U, /* Computed Parameter: DataStoreMemory7_InitialValue * Referenced by: '/Data Store Memory7' */ 0U, /* Computed Parameter: DataStoreMemory8_InitialValue * Referenced by: '/Data Store Memory8' */ 0U }; /* * File trailer for generated code. * * [EOF] */