Liqun Wu / Mbed 2 deprecated 90418_mbed_controller

Dependencies:   mbed

Committer:
wuliqunyy
Date:
Mon Jan 17 13:20:09 2022 +0000
Revision:
0:be95bfb06686
a working non_flat + adc_didt for ehp regulation version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
wuliqunyy 0:be95bfb06686 1 /*-
wuliqunyy 0:be95bfb06686 2 * BSD 2-Clause License
wuliqunyy 0:be95bfb06686 3 *
wuliqunyy 0:be95bfb06686 4 * Copyright (c) 2012-2018, Jan Breuer
wuliqunyy 0:be95bfb06686 5 * All rights reserved.
wuliqunyy 0:be95bfb06686 6 *
wuliqunyy 0:be95bfb06686 7 * Redistribution and use in source and binary forms, with or without
wuliqunyy 0:be95bfb06686 8 * modification, are permitted provided that the following conditions are met:
wuliqunyy 0:be95bfb06686 9 *
wuliqunyy 0:be95bfb06686 10 * * Redistributions of source code must retain the above copyright notice, this
wuliqunyy 0:be95bfb06686 11 * list of conditions and the following disclaimer.
wuliqunyy 0:be95bfb06686 12 *
wuliqunyy 0:be95bfb06686 13 * * Redistributions in binary form must reproduce the above copyright notice,
wuliqunyy 0:be95bfb06686 14 * this list of conditions and the following disclaimer in the documentation
wuliqunyy 0:be95bfb06686 15 * and/or other materials provided with the distribution.
wuliqunyy 0:be95bfb06686 16 *
wuliqunyy 0:be95bfb06686 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
wuliqunyy 0:be95bfb06686 18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
wuliqunyy 0:be95bfb06686 19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
wuliqunyy 0:be95bfb06686 20 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
wuliqunyy 0:be95bfb06686 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
wuliqunyy 0:be95bfb06686 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
wuliqunyy 0:be95bfb06686 23 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
wuliqunyy 0:be95bfb06686 24 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
wuliqunyy 0:be95bfb06686 25 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
wuliqunyy 0:be95bfb06686 26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
wuliqunyy 0:be95bfb06686 27 */
wuliqunyy 0:be95bfb06686 28
wuliqunyy 0:be95bfb06686 29 /**
wuliqunyy 0:be95bfb06686 30 * @file cc.h
wuliqunyy 0:be95bfb06686 31 *
wuliqunyy 0:be95bfb06686 32 * @brief compiler detection
wuliqunyy 0:be95bfb06686 33 *
wuliqunyy 0:be95bfb06686 34 *
wuliqunyy 0:be95bfb06686 35 */
wuliqunyy 0:be95bfb06686 36
wuliqunyy 0:be95bfb06686 37 #ifndef __SCPI_CC_H_
wuliqunyy 0:be95bfb06686 38 #define __SCPI_CC_H_
wuliqunyy 0:be95bfb06686 39
wuliqunyy 0:be95bfb06686 40 #ifdef __cplusplus
wuliqunyy 0:be95bfb06686 41 extern "C" {
wuliqunyy 0:be95bfb06686 42 #endif
wuliqunyy 0:be95bfb06686 43
wuliqunyy 0:be95bfb06686 44 #if defined(__STDC__)
wuliqunyy 0:be95bfb06686 45 # define C89 1
wuliqunyy 0:be95bfb06686 46 # if defined(__STDC_VERSION__)
wuliqunyy 0:be95bfb06686 47 # define C90 1
wuliqunyy 0:be95bfb06686 48 # if (__STDC_VERSION__ >= 199409L)
wuliqunyy 0:be95bfb06686 49 # define C94 1
wuliqunyy 0:be95bfb06686 50 # endif
wuliqunyy 0:be95bfb06686 51 # if (__STDC_VERSION__ >= 199901L)
wuliqunyy 0:be95bfb06686 52 # define C99 1
wuliqunyy 0:be95bfb06686 53 # endif
wuliqunyy 0:be95bfb06686 54 # endif
wuliqunyy 0:be95bfb06686 55 #endif
wuliqunyy 0:be95bfb06686 56
wuliqunyy 0:be95bfb06686 57 #if (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200809L) || \
wuliqunyy 0:be95bfb06686 58 (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 700)
wuliqunyy 0:be95bfb06686 59 #define HAVE_STRNDUP 1
wuliqunyy 0:be95bfb06686 60 #define HAVE_STRNLEN 1
wuliqunyy 0:be95bfb06686 61 #endif
wuliqunyy 0:be95bfb06686 62
wuliqunyy 0:be95bfb06686 63 #if (defined _BSD_SOURCE && _BSD_SOURCE) || \
wuliqunyy 0:be95bfb06686 64 (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 500) || \
wuliqunyy 0:be95bfb06686 65 (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \
wuliqunyy 0:be95bfb06686 66 (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) || \
wuliqunyy 0:be95bfb06686 67 C99
wuliqunyy 0:be95bfb06686 68 #define HAVE_SNPRINTF 1
wuliqunyy 0:be95bfb06686 69 #endif
wuliqunyy 0:be95bfb06686 70
wuliqunyy 0:be95bfb06686 71 #if (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L)
wuliqunyy 0:be95bfb06686 72 #define HAVE_STRNCASECMP 1
wuliqunyy 0:be95bfb06686 73 #endif
wuliqunyy 0:be95bfb06686 74
wuliqunyy 0:be95bfb06686 75 #if (defined _BSD_SOURCE && _BSD_SOURCE) || \
wuliqunyy 0:be95bfb06686 76 (defined _SVID_SOURCE && _SVID_SOURCE) || \
wuliqunyy 0:be95bfb06686 77 (defined _XOPEN_SOURCE && _XOPEN_SOURCE) || \
wuliqunyy 0:be95bfb06686 78 (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \
wuliqunyy 0:be95bfb06686 79 (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) ||\
wuliqunyy 0:be95bfb06686 80 C99
wuliqunyy 0:be95bfb06686 81 #define HAVE_ISNAN 1
wuliqunyy 0:be95bfb06686 82 #endif
wuliqunyy 0:be95bfb06686 83
wuliqunyy 0:be95bfb06686 84 #if (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 600)|| \
wuliqunyy 0:be95bfb06686 85 (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \
wuliqunyy 0:be95bfb06686 86 (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) || \
wuliqunyy 0:be95bfb06686 87 C99
wuliqunyy 0:be95bfb06686 88 #define HAVE_ISFINITE 1
wuliqunyy 0:be95bfb06686 89 #define HAVE_SIGNBIT 1
wuliqunyy 0:be95bfb06686 90 #endif
wuliqunyy 0:be95bfb06686 91
wuliqunyy 0:be95bfb06686 92 #if (defined _XOPEN_SOURCE && XOPEN_SOURCE >= 600) || \
wuliqunyy 0:be95bfb06686 93 (defined _BSD_SOURCE && _BSD_SOURCE) || \
wuliqunyy 0:be95bfb06686 94 (defined _SVID_SOURCE && _SVID_SOURCE) || \
wuliqunyy 0:be95bfb06686 95 (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \
wuliqunyy 0:be95bfb06686 96 (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L)
wuliqunyy 0:be95bfb06686 97 #define HAVE_STRTOLL 1
wuliqunyy 0:be95bfb06686 98 #endif
wuliqunyy 0:be95bfb06686 99
wuliqunyy 0:be95bfb06686 100 #if (defined _XOPEN_SOURCE && _XOPEN_SOURCE >= 600) || \
wuliqunyy 0:be95bfb06686 101 (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || \
wuliqunyy 0:be95bfb06686 102 (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 200112L) || \
wuliqunyy 0:be95bfb06686 103 C99
wuliqunyy 0:be95bfb06686 104 #define HAVE_STRTOF 1
wuliqunyy 0:be95bfb06686 105 #endif
wuliqunyy 0:be95bfb06686 106
wuliqunyy 0:be95bfb06686 107 #if (defined _ISOC99_SOURCE && _ISOC99_SOURCE) || C99
wuliqunyy 0:be95bfb06686 108 #define HAVE_STDBOOL 1
wuliqunyy 0:be95bfb06686 109 #endif
wuliqunyy 0:be95bfb06686 110
wuliqunyy 0:be95bfb06686 111 /* Compiler specific */
wuliqunyy 0:be95bfb06686 112 /* RealView/Keil ARM Compiler, e.g. Cortex-M CPUs */
wuliqunyy 0:be95bfb06686 113 #if defined(__CC_ARM)
wuliqunyy 0:be95bfb06686 114 #define HAVE_STRNCASECMP 1
wuliqunyy 0:be95bfb06686 115 #endif
wuliqunyy 0:be95bfb06686 116
wuliqunyy 0:be95bfb06686 117 /* National Instruments (R) CVI x86/x64 PC platform */
wuliqunyy 0:be95bfb06686 118 #if defined(_CVI_)
wuliqunyy 0:be95bfb06686 119 #define HAVE_STRNICMP 1
wuliqunyy 0:be95bfb06686 120 #endif
wuliqunyy 0:be95bfb06686 121
wuliqunyy 0:be95bfb06686 122 /* 8bit PIC - PIC16, etc */
wuliqunyy 0:be95bfb06686 123 #if defined(_MPC_)
wuliqunyy 0:be95bfb06686 124 #define HAVE_STRNICMP 1
wuliqunyy 0:be95bfb06686 125 #endif
wuliqunyy 0:be95bfb06686 126
wuliqunyy 0:be95bfb06686 127 /* PIC24 */
wuliqunyy 0:be95bfb06686 128 #if defined(__C30__)
wuliqunyy 0:be95bfb06686 129 #endif
wuliqunyy 0:be95bfb06686 130
wuliqunyy 0:be95bfb06686 131 /* PIC32mx */
wuliqunyy 0:be95bfb06686 132 #if defined(__C32__)
wuliqunyy 0:be95bfb06686 133 #define HAVE_FINITE 1
wuliqunyy 0:be95bfb06686 134 #endif
wuliqunyy 0:be95bfb06686 135
wuliqunyy 0:be95bfb06686 136 /* AVR libc */
wuliqunyy 0:be95bfb06686 137 #if defined(__AVR__)
wuliqunyy 0:be95bfb06686 138 #include <stdlib.h>
wuliqunyy 0:be95bfb06686 139 #define HAVE_DTOSTRE 1
wuliqunyy 0:be95bfb06686 140 #undef HAVE_STRTOF
wuliqunyy 0:be95bfb06686 141 #define HAVE_STRTOF 0
wuliqunyy 0:be95bfb06686 142 #endif
wuliqunyy 0:be95bfb06686 143
wuliqunyy 0:be95bfb06686 144 /* default values */
wuliqunyy 0:be95bfb06686 145 #ifndef HAVE_STRNLEN
wuliqunyy 0:be95bfb06686 146 #define HAVE_STRNLEN 0
wuliqunyy 0:be95bfb06686 147 #endif
wuliqunyy 0:be95bfb06686 148
wuliqunyy 0:be95bfb06686 149 #ifndef HAVE_STRDUP
wuliqunyy 0:be95bfb06686 150 #define HAVE_STRDUP 0
wuliqunyy 0:be95bfb06686 151 #endif
wuliqunyy 0:be95bfb06686 152
wuliqunyy 0:be95bfb06686 153 #ifndef HAVE_STRNDUP
wuliqunyy 0:be95bfb06686 154 #define HAVE_STRNDUP 0
wuliqunyy 0:be95bfb06686 155 #endif
wuliqunyy 0:be95bfb06686 156
wuliqunyy 0:be95bfb06686 157 #ifndef HAVE_STRNICMP
wuliqunyy 0:be95bfb06686 158 #define HAVE_STRNICMP 0
wuliqunyy 0:be95bfb06686 159 #endif
wuliqunyy 0:be95bfb06686 160
wuliqunyy 0:be95bfb06686 161 #ifndef HAVE_STDBOOL
wuliqunyy 0:be95bfb06686 162 #define HAVE_STDBOOL 0
wuliqunyy 0:be95bfb06686 163 #endif
wuliqunyy 0:be95bfb06686 164
wuliqunyy 0:be95bfb06686 165 #ifndef HAVE_SNPRINTF
wuliqunyy 0:be95bfb06686 166 #define HAVE_SNPRINTF 0
wuliqunyy 0:be95bfb06686 167 #endif
wuliqunyy 0:be95bfb06686 168
wuliqunyy 0:be95bfb06686 169 #ifndef HAVE_STRNCASECMP
wuliqunyy 0:be95bfb06686 170 #define HAVE_STRNCASECMP 0
wuliqunyy 0:be95bfb06686 171 #endif
wuliqunyy 0:be95bfb06686 172
wuliqunyy 0:be95bfb06686 173 #ifndef HAVE_ISNAN
wuliqunyy 0:be95bfb06686 174 #define HAVE_ISNAN 0
wuliqunyy 0:be95bfb06686 175 #endif
wuliqunyy 0:be95bfb06686 176
wuliqunyy 0:be95bfb06686 177 #ifndef HAVE_ISFINITE
wuliqunyy 0:be95bfb06686 178 #define HAVE_ISFINITE 0
wuliqunyy 0:be95bfb06686 179 #endif
wuliqunyy 0:be95bfb06686 180
wuliqunyy 0:be95bfb06686 181 #ifndef HAVE_FINITE
wuliqunyy 0:be95bfb06686 182 #define HAVE_FINITE 0
wuliqunyy 0:be95bfb06686 183 #endif
wuliqunyy 0:be95bfb06686 184
wuliqunyy 0:be95bfb06686 185 #ifndef HAVE_SIGNBIT
wuliqunyy 0:be95bfb06686 186 #define HAVE_SIGNBIT 0
wuliqunyy 0:be95bfb06686 187 #endif
wuliqunyy 0:be95bfb06686 188
wuliqunyy 0:be95bfb06686 189 #ifndef HAVE_STRTOLL
wuliqunyy 0:be95bfb06686 190 #define HAVE_STRTOLL 0
wuliqunyy 0:be95bfb06686 191 #endif
wuliqunyy 0:be95bfb06686 192
wuliqunyy 0:be95bfb06686 193 #ifndef HAVE_STRTOF
wuliqunyy 0:be95bfb06686 194 #define HAVE_STRTOF 0
wuliqunyy 0:be95bfb06686 195 #endif
wuliqunyy 0:be95bfb06686 196
wuliqunyy 0:be95bfb06686 197 #ifndef HAVE_DTOSTRE
wuliqunyy 0:be95bfb06686 198 #define HAVE_DTOSTRE 0
wuliqunyy 0:be95bfb06686 199 #endif
wuliqunyy 0:be95bfb06686 200
wuliqunyy 0:be95bfb06686 201 #ifdef __cplusplus
wuliqunyy 0:be95bfb06686 202 }
wuliqunyy 0:be95bfb06686 203 #endif
wuliqunyy 0:be95bfb06686 204
wuliqunyy 0:be95bfb06686 205 #endif /* __SCPI_CC_H_ */
wuliqunyy 0:be95bfb06686 206