Jan Breuer
2015-03-18 f8536daee65bdd87d004771c787a6f42a1397859
libscpi/src/error.c
@@ -39,13 +39,16 @@
#include "scpi/parser.h"
#include "scpi/ieee488.h"
#include "scpi/error.h"
#include "scpi/fifo.h"
#include "fifo_private.h"
/* basic FIFO */
static fifo_t local_error_queue;
static scpi_fifo_t local_error_queue;
/**
 * Initialize error queue
 * @param context - scpi context
 */
void SCPI_ErrorInit(scpi_t * context) {
    /*
     * // FreeRTOS
@@ -54,7 +57,7 @@
    /* basic FIFO */
    context->error_queue = (scpi_error_queue_t)&local_error_queue;
    fifo_init((fifo_t *)context->error_queue);
    fifo_init((scpi_fifo_t *)context->error_queue);
}
/**
@@ -68,7 +71,7 @@
     */
    /* basic FIFO */
    fifo_clear((fifo_t *)context->error_queue);
    fifo_clear((scpi_fifo_t *)context->error_queue);
}
/**
@@ -87,7 +90,7 @@
     */
    /* basic FIFO */
    fifo_remove((fifo_t *)context->error_queue, &result);
    fifo_remove((scpi_fifo_t *)context->error_queue, &result);
    return result;
}
@@ -106,7 +109,7 @@
     */
    /* basic FIFO */
    fifo_count((fifo_t *)context->error_queue, &result);
    fifo_count((scpi_fifo_t *)context->error_queue, &result);
    return result;
}
@@ -118,7 +121,7 @@
     */
    /* basic FIFO */
    fifo_add((fifo_t *)context->error_queue, err);
    fifo_add((scpi_fifo_t *)context->error_queue, err);
}
struct error_reg {
@@ -174,13 +177,9 @@
const char * SCPI_ErrorTranslate(int16_t err) {
    switch (err) {
        case 0: return "No error";
        case SCPI_ERROR_SYNTAX: return "Syntax error";
        case SCPI_ERROR_INVALID_SEPARATOR: return "Invalid separator";
        case SCPI_ERROR_UNDEFINED_HEADER: return "Undefined header";
        case SCPI_ERROR_PARAMETER_NOT_ALLOWED: return "Parameter not allowed";
        case SCPI_ERROR_MISSING_PARAMETER: return "Missing parameter";
        case SCPI_ERROR_INVALID_SUFFIX: return "Invalid suffix";
        case SCPI_ERROR_SUFFIX_NOT_ALLOWED: return "Suffix not allowed";
        #define X(def, val, str) case def: return str;
        LIST_OF_ERRORS
        #undef X
        default: return "Unknown error";
    }
}