https://github.com/j123b567/scpi-parser

Dependents:   scpi_sx127x scpi_sx127x_firstTest MLX90418_I2C_master

Committer:
dudmuck
Date:
Thu Apr 09 22:42:15 2015 +0000
Revision:
0:aad43948c45c
Child:
1:b497f235115a
SCPI library

Who changed what in which revision?

UserRevisionLine numberNew 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 0:aad43948c45c 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 0:aad43948c45c 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 0:aad43948c45c 31 *
dudmuck 0:aad43948c45c 32 * @brief SCPI Configuration
dudmuck 0:aad43948c45c 33 *
dudmuck 0:aad43948c45c 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 0:aad43948c45c 44 /* Compiler specific */
dudmuck 0:aad43948c45c 45 /* 8bit PIC - PIC16, etc */
dudmuck 0:aad43948c45c 46 #if defined(_MPC_)
dudmuck 0:aad43948c45c 47 #define HAVE_STRNLEN 0
dudmuck 0:aad43948c45c 48 #define HAVE_STRNCASECMP 0
dudmuck 0:aad43948c45c 49 #define HAVE_STRNICMP 1
dudmuck 0:aad43948c45c 50 #endif
dudmuck 0:aad43948c45c 51
dudmuck 0:aad43948c45c 52 /* PIC24 */
dudmuck 0:aad43948c45c 53 #if defined(__C30__)
dudmuck 0:aad43948c45c 54 #define HAVE_STRNLEN 0
dudmuck 0:aad43948c45c 55 #define HAVE_STRNCASECMP 0
dudmuck 0:aad43948c45c 56 #define HAVE_STRNICMP 0
dudmuck 0:aad43948c45c 57 #endif
dudmuck 0:aad43948c45c 58
dudmuck 0:aad43948c45c 59 /* PIC32mx */
dudmuck 0:aad43948c45c 60 #if defined(__C32__)
dudmuck 0:aad43948c45c 61 #define HAVE_STRNLEN 0
dudmuck 0:aad43948c45c 62 #define HAVE_STRNCASECMP 1
dudmuck 0:aad43948c45c 63 #define HAVE_STRNICMP 0
dudmuck 0:aad43948c45c 64 #endif
dudmuck 0:aad43948c45c 65
dudmuck 0:aad43948c45c 66 /* ======== test strnlen ======== */
dudmuck 0:aad43948c45c 67 #ifndef HAVE_STRNLEN
dudmuck 0:aad43948c45c 68 #define HAVE_STRNLEN 1
dudmuck 0:aad43948c45c 69 #endif
dudmuck 0:aad43948c45c 70 /* ======== test strncasecmp ======== */
dudmuck 0:aad43948c45c 71 #ifndef HAVE_STRNCASECMP
dudmuck 0:aad43948c45c 72 #define HAVE_STRNCASECMP 1
dudmuck 0:aad43948c45c 73 #endif
dudmuck 0:aad43948c45c 74 /* ======== test strnicmp ======== */
dudmuck 0:aad43948c45c 75 #ifndef HAVE_STRNICMP
dudmuck 0:aad43948c45c 76 #define HAVE_STRNICMP 0
dudmuck 0:aad43948c45c 77 #endif
dudmuck 0:aad43948c45c 78
dudmuck 0:aad43948c45c 79 /* define local macros depending on existance of strnlen */
dudmuck 0:aad43948c45c 80 #if HAVE_STRNLEN
dudmuck 0:aad43948c45c 81 #define SCPI_strnlen(s, l) strnlen((s), (l))
dudmuck 0:aad43948c45c 82 #else
dudmuck 0:aad43948c45c 83 #define SCPI_strnlen(s, l) BSD_strnlen((s), (l))
dudmuck 0:aad43948c45c 84 #endif
dudmuck 0:aad43948c45c 85
dudmuck 0:aad43948c45c 86 /* define local macros depending on existance of strncasecmp and strnicmp */
dudmuck 0:aad43948c45c 87 #if HAVE_STRNCASECMP
dudmuck 0:aad43948c45c 88 #define SCPI_strncasecmp(s1, s2, l) strncasecmp((s1), (s2), (l))
dudmuck 0:aad43948c45c 89 #elif HAVE_STRNICMP
dudmuck 0:aad43948c45c 90 #define SCPI_strncasecmp(s1, s2, l) strnicmp((s1), (s2), (l))
dudmuck 0:aad43948c45c 91 #else
dudmuck 0:aad43948c45c 92 #define SCPI_strncasecmp(s1, s2, l) OUR_strncasecmp((s1), (s2), (l))
dudmuck 0:aad43948c45c 93 #endif
dudmuck 0:aad43948c45c 94
dudmuck 0:aad43948c45c 95 #ifdef __cplusplus
dudmuck 0:aad43948c45c 96 }
dudmuck 0:aad43948c45c 97 #endif
dudmuck 0:aad43948c45c 98
dudmuck 0:aad43948c45c 99 #endif