https://github.com/j123b567/scpi-parser
Dependents: scpi_sx127x scpi_sx127x_firstTest MLX90418_I2C_master
inc/scpi/config.h@1:b497f235115a, 2015-08-07 (annotated)
- Committer:
- dudmuck
- Date:
- Fri Aug 07 21:54:11 2015 +0000
- Revision:
- 1:b497f235115a
- Parent:
- 0:aad43948c45c
update from github commit 6e5e3e0e3fc450eaf53feee059824ad85c4f270d
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dudmuck | 0:aad43948c45c | 1 | /*- |
dudmuck | 0:aad43948c45c | 2 | * Copyright (c) 2012-2013 Jan Breuer, |
dudmuck | 0:aad43948c45c | 3 | * |
dudmuck | 0:aad43948c45c | 4 | * All Rights Reserved |
dudmuck | 1:b497f235115a | 5 | * |
dudmuck | 0:aad43948c45c | 6 | * Redistribution and use in source and binary forms, with or without |
dudmuck | 0:aad43948c45c | 7 | * modification, are permitted provided that the following conditions are |
dudmuck | 0:aad43948c45c | 8 | * met: |
dudmuck | 0:aad43948c45c | 9 | * 1. Redistributions of source code must retain the above copyright notice, |
dudmuck | 0:aad43948c45c | 10 | * this list of conditions and the following disclaimer. |
dudmuck | 0:aad43948c45c | 11 | * 2. Redistributions in binary form must reproduce the above copyright |
dudmuck | 0:aad43948c45c | 12 | * notice, this list of conditions and the following disclaimer in the |
dudmuck | 0:aad43948c45c | 13 | * documentation and/or other materials provided with the distribution. |
dudmuck | 1:b497f235115a | 14 | * |
dudmuck | 0:aad43948c45c | 15 | * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR |
dudmuck | 0:aad43948c45c | 16 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
dudmuck | 0:aad43948c45c | 17 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
dudmuck | 0:aad43948c45c | 18 | * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE |
dudmuck | 0:aad43948c45c | 19 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
dudmuck | 0:aad43948c45c | 20 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
dudmuck | 0:aad43948c45c | 21 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR |
dudmuck | 0:aad43948c45c | 22 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, |
dudmuck | 0:aad43948c45c | 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE |
dudmuck | 0:aad43948c45c | 24 | * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN |
dudmuck | 0:aad43948c45c | 25 | * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
dudmuck | 0:aad43948c45c | 26 | */ |
dudmuck | 0:aad43948c45c | 27 | |
dudmuck | 0:aad43948c45c | 28 | /** |
dudmuck | 0:aad43948c45c | 29 | * @file config.h |
dudmuck | 0:aad43948c45c | 30 | * @date Wed Mar 20 12:21:26 UTC 2013 |
dudmuck | 1:b497f235115a | 31 | * |
dudmuck | 0:aad43948c45c | 32 | * @brief SCPI Configuration |
dudmuck | 1:b497f235115a | 33 | * |
dudmuck | 1:b497f235115a | 34 | * |
dudmuck | 0:aad43948c45c | 35 | */ |
dudmuck | 0:aad43948c45c | 36 | |
dudmuck | 0:aad43948c45c | 37 | #ifndef __SCPI_CONFIG_H_ |
dudmuck | 0:aad43948c45c | 38 | #define __SCPI_CONFIG_H_ |
dudmuck | 0:aad43948c45c | 39 | |
dudmuck | 0:aad43948c45c | 40 | #ifdef __cplusplus |
dudmuck | 0:aad43948c45c | 41 | extern "C" { |
dudmuck | 0:aad43948c45c | 42 | #endif |
dudmuck | 0:aad43948c45c | 43 | |
dudmuck | 1:b497f235115a | 44 | #ifdef SCPI_USER_CONFIG |
dudmuck | 1:b497f235115a | 45 | #include "scpi_user_config.h" |
dudmuck | 1:b497f235115a | 46 | #endif |
dudmuck | 1:b497f235115a | 47 | |
dudmuck | 1:b497f235115a | 48 | /* set the termination character(s) */ |
dudmuck | 1:b497f235115a | 49 | #define LINE_ENDING_CR "\r" /* use a <CR> carriage return as termination charcter */ |
dudmuck | 1:b497f235115a | 50 | #define LINE_ENDING_LF "\n" /* use a <LF> line feed as termination charcter */ |
dudmuck | 1:b497f235115a | 51 | #define LINE_ENDING_CRLF "\r\n" /* use <CR><LF> carriage return + line feed as termination charcters */ |
dudmuck | 1:b497f235115a | 52 | |
dudmuck | 1:b497f235115a | 53 | #ifndef SCPI_LINE_ENDING |
dudmuck | 1:b497f235115a | 54 | #define SCPI_LINE_ENDING LINE_ENDING_CRLF |
dudmuck | 1:b497f235115a | 55 | #endif |
dudmuck | 1:b497f235115a | 56 | |
dudmuck | 1:b497f235115a | 57 | /* Enable full error list |
dudmuck | 1:b497f235115a | 58 | * 0 = Minimal set of errors |
dudmuck | 1:b497f235115a | 59 | * 1 = Full set of errors |
dudmuck | 1:b497f235115a | 60 | * |
dudmuck | 1:b497f235115a | 61 | * For small systems, full set of errors will occupy large ammount of data |
dudmuck | 1:b497f235115a | 62 | */ |
dudmuck | 1:b497f235115a | 63 | #ifndef USE_FULL_ERROR_LIST |
dudmuck | 1:b497f235115a | 64 | #define USE_FULL_ERROR_LIST 0 |
dudmuck | 1:b497f235115a | 65 | #endif |
dudmuck | 1:b497f235115a | 66 | |
dudmuck | 1:b497f235115a | 67 | /** |
dudmuck | 1:b497f235115a | 68 | * Enable also LIST_OF_USER_ERRORS to be included |
dudmuck | 1:b497f235115a | 69 | * 0 = Use only library defined errors |
dudmuck | 1:b497f235115a | 70 | * 1 = Use also LIST_OF_USER_ERRORS |
dudmuck | 1:b497f235115a | 71 | */ |
dudmuck | 1:b497f235115a | 72 | #ifndef USE_USER_ERROR_LIST |
dudmuck | 1:b497f235115a | 73 | #define USE_USER_ERROR_LIST 0 |
dudmuck | 1:b497f235115a | 74 | #endif |
dudmuck | 1:b497f235115a | 75 | |
dudmuck | 0:aad43948c45c | 76 | /* Compiler specific */ |
dudmuck | 1:b497f235115a | 77 | /* RealView/Keil ARM Compiler, e.g. Cortex-M CPUs */ |
dudmuck | 1:b497f235115a | 78 | #if defined(__CC_ARM) |
dudmuck | 1:b497f235115a | 79 | #define HAVE_STRNLEN 0 |
dudmuck | 1:b497f235115a | 80 | #define HAVE_STRNCASECMP 1 |
dudmuck | 1:b497f235115a | 81 | #define HAVE_STRNICMP 0 |
dudmuck | 1:b497f235115a | 82 | #endif |
dudmuck | 1:b497f235115a | 83 | |
dudmuck | 1:b497f235115a | 84 | /* National Instruments (R) CVI x86/x64 PC platform */ |
dudmuck | 1:b497f235115a | 85 | #if defined(_CVI_) |
dudmuck | 1:b497f235115a | 86 | #define HAVE_STRNLEN 0 |
dudmuck | 1:b497f235115a | 87 | #define HAVE_STRNCASECMP 0 |
dudmuck | 1:b497f235115a | 88 | #define HAVE_STRNICMP 1 |
dudmuck | 1:b497f235115a | 89 | #define HAVE_STDBOOL 0 |
dudmuck | 1:b497f235115a | 90 | #endif |
dudmuck | 1:b497f235115a | 91 | |
dudmuck | 0:aad43948c45c | 92 | /* 8bit PIC - PIC16, etc */ |
dudmuck | 0:aad43948c45c | 93 | #if defined(_MPC_) |
dudmuck | 0:aad43948c45c | 94 | #define HAVE_STRNLEN 0 |
dudmuck | 0:aad43948c45c | 95 | #define HAVE_STRNCASECMP 0 |
dudmuck | 0:aad43948c45c | 96 | #define HAVE_STRNICMP 1 |
dudmuck | 0:aad43948c45c | 97 | #endif |
dudmuck | 0:aad43948c45c | 98 | |
dudmuck | 0:aad43948c45c | 99 | /* PIC24 */ |
dudmuck | 0:aad43948c45c | 100 | #if defined(__C30__) |
dudmuck | 0:aad43948c45c | 101 | #define HAVE_STRNLEN 0 |
dudmuck | 0:aad43948c45c | 102 | #define HAVE_STRNCASECMP 0 |
dudmuck | 0:aad43948c45c | 103 | #define HAVE_STRNICMP 0 |
dudmuck | 0:aad43948c45c | 104 | #endif |
dudmuck | 0:aad43948c45c | 105 | |
dudmuck | 0:aad43948c45c | 106 | /* PIC32mx */ |
dudmuck | 0:aad43948c45c | 107 | #if defined(__C32__) |
dudmuck | 0:aad43948c45c | 108 | #define HAVE_STRNLEN 0 |
dudmuck | 0:aad43948c45c | 109 | #define HAVE_STRNCASECMP 1 |
dudmuck | 0:aad43948c45c | 110 | #define HAVE_STRNICMP 0 |
dudmuck | 0:aad43948c45c | 111 | #endif |
dudmuck | 0:aad43948c45c | 112 | |
dudmuck | 1:b497f235115a | 113 | /* AVR libc */ |
dudmuck | 1:b497f235115a | 114 | #if defined(__AVR__) |
dudmuck | 1:b497f235115a | 115 | #include <stdlib.h> |
dudmuck | 1:b497f235115a | 116 | #define HAVE_DTOSTRE 1 |
dudmuck | 1:b497f235115a | 117 | #endif |
dudmuck | 1:b497f235115a | 118 | |
dudmuck | 0:aad43948c45c | 119 | /* ======== test strnlen ======== */ |
dudmuck | 0:aad43948c45c | 120 | #ifndef HAVE_STRNLEN |
dudmuck | 0:aad43948c45c | 121 | #define HAVE_STRNLEN 1 |
dudmuck | 0:aad43948c45c | 122 | #endif |
dudmuck | 0:aad43948c45c | 123 | /* ======== test strncasecmp ======== */ |
dudmuck | 0:aad43948c45c | 124 | #ifndef HAVE_STRNCASECMP |
dudmuck | 0:aad43948c45c | 125 | #define HAVE_STRNCASECMP 1 |
dudmuck | 0:aad43948c45c | 126 | #endif |
dudmuck | 0:aad43948c45c | 127 | /* ======== test strnicmp ======== */ |
dudmuck | 0:aad43948c45c | 128 | #ifndef HAVE_STRNICMP |
dudmuck | 0:aad43948c45c | 129 | #define HAVE_STRNICMP 0 |
dudmuck | 0:aad43948c45c | 130 | #endif |
dudmuck | 0:aad43948c45c | 131 | |
dudmuck | 1:b497f235115a | 132 | #ifndef HAVE_STDBOOL |
dudmuck | 1:b497f235115a | 133 | #define HAVE_STDBOOL 1 |
dudmuck | 1:b497f235115a | 134 | #endif |
dudmuck | 1:b497f235115a | 135 | |
dudmuck | 0:aad43948c45c | 136 | /* define local macros depending on existance of strnlen */ |
dudmuck | 0:aad43948c45c | 137 | #if HAVE_STRNLEN |
dudmuck | 1:b497f235115a | 138 | #define SCPIDEFINE_strnlen(s, l) strnlen((s), (l)) |
dudmuck | 0:aad43948c45c | 139 | #else |
dudmuck | 1:b497f235115a | 140 | #define SCPIDEFINE_strnlen(s, l) BSD_strnlen((s), (l)) |
dudmuck | 0:aad43948c45c | 141 | #endif |
dudmuck | 0:aad43948c45c | 142 | |
dudmuck | 0:aad43948c45c | 143 | /* define local macros depending on existance of strncasecmp and strnicmp */ |
dudmuck | 0:aad43948c45c | 144 | #if HAVE_STRNCASECMP |
dudmuck | 1:b497f235115a | 145 | #define SCPIDEFINE_strncasecmp(s1, s2, l) strncasecmp((s1), (s2), (l)) |
dudmuck | 0:aad43948c45c | 146 | #elif HAVE_STRNICMP |
dudmuck | 1:b497f235115a | 147 | #define SCPIDEFINE_strncasecmp(s1, s2, l) strnicmp((s1), (s2), (l)) |
dudmuck | 0:aad43948c45c | 148 | #else |
dudmuck | 1:b497f235115a | 149 | #define SCPIDEFINE_strncasecmp(s1, s2, l) OUR_strncasecmp((s1), (s2), (l)) |
dudmuck | 0:aad43948c45c | 150 | #endif |
dudmuck | 0:aad43948c45c | 151 | |
dudmuck | 1:b497f235115a | 152 | #if HAVE_DTOSTRE |
dudmuck | 1:b497f235115a | 153 | #define SCPIDEFINE_doubleToStr(v, s, l) strlen(dtostre((v), (s), 6, DTOSTR_PLUS_SIGN | DTOSTR_ALWAYS_SIGN | DTOSTR_UPPERCASE)) |
dudmuck | 1:b497f235115a | 154 | #else |
dudmuck | 1:b497f235115a | 155 | #define SCPIDEFINE_doubleToStr(v, s, l) snprintf((s), (l), "%lg", (v)) |
dudmuck | 1:b497f235115a | 156 | #endif |
dudmuck | 1:b497f235115a | 157 | |
dudmuck | 1:b497f235115a | 158 | |
dudmuck | 0:aad43948c45c | 159 | #ifdef __cplusplus |
dudmuck | 0:aad43948c45c | 160 | } |
dudmuck | 0:aad43948c45c | 161 | #endif |
dudmuck | 0:aad43948c45c | 162 | |
dudmuck | 0:aad43948c45c | 163 | #endif |