FormazioneSitael / Mbed 2 deprecated I2C_PASSED

Dependencies:   mbed

Committer:
jjantoine
Date:
Fri Dec 21 15:38:58 2018 +0000
Revision:
0:8447350292ab
I2C

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jjantoine 0:8447350292ab 1 /* =======================================================================================
jjantoine 0:8447350292ab 2 * (c)
jjantoine 0:8447350292ab 3 * (c) Sitael S.p.A.
jjantoine 0:8447350292ab 4 * (c)
jjantoine 0:8447350292ab 5 * (c) Componente ERROR_STD
jjantoine 0:8447350292ab 6 * (c)
jjantoine 0:8447350292ab 7 * (c)
jjantoine 0:8447350292ab 8 * (c) ===================================================================================
jjantoine 0:8447350292ab 9 * (c)
jjantoine 0:8447350292ab 10 * (c) Copyright (C) Sitael S.p.A.
jjantoine 0:8447350292ab 11 * (c)
jjantoine 0:8447350292ab 12 * (c) Tutti i diritti riservati.
jjantoine 0:8447350292ab 13 * (c)
jjantoine 0:8447350292ab 14 * (c) Questo programma e' tutelato dalle leggi sul copyright, dalle leggi sui diritti
jjantoine 0:8447350292ab 15 * (c) d'autore e dai trattati internazionali. La riproduzione o distribuzione non
jjantoine 0:8447350292ab 16 * (c) autorizzata di questo programma, o di parte di esso, sara' perseguibile civilmente
jjantoine 0:8447350292ab 17 * (c) e penalmente.
jjantoine 0:8447350292ab 18 * (c)
jjantoine 0:8447350292ab 19 * =======================================================================================
jjantoine 0:8447350292ab 20 */
jjantoine 0:8447350292ab 21 /* =======================================================================================
jjantoine 0:8447350292ab 22 * Informazioni del modulo
jjantoine 0:8447350292ab 23 * =======================================================================================
jjantoine 0:8447350292ab 24 */
jjantoine 0:8447350292ab 25 /*! \file ERROR_STD_Def.h
jjantoine 0:8447350292ab 26 * Questo file definisce i codici di errore della libreria
jjantoine 0:8447350292ab 27 *
jjantoine 0:8447350292ab 28 * \details Questo file definisce i codici di errore della libreria
jjantoine 0:8447350292ab 29 *
jjantoine 0:8447350292ab 30 *
jjantoine 0:8447350292ab 31 * \author Orlando Petrone
jjantoine 0:8447350292ab 32 */
jjantoine 0:8447350292ab 33
jjantoine 0:8447350292ab 34 /* =======================================================================================
jjantoine 0:8447350292ab 35 * Elenco delle modifiche (data - autore - descrizione)
jjantoine 0:8447350292ab 36 * =======================================================================================
jjantoine 0:8447350292ab 37 * Ultima:
jjantoine 0:8447350292ab 38 *
jjantoine 0:8447350292ab 39 * 03/11/2015 - O. Petrone - creazione del modulo
jjantoine 0:8447350292ab 40 * =======================================================================================
jjantoine 0:8447350292ab 41 */
jjantoine 0:8447350292ab 42 #ifndef _ERROR_STD_DEF_H
jjantoine 0:8447350292ab 43 #define _ERROR_STD_DEF_H
jjantoine 0:8447350292ab 44
jjantoine 0:8447350292ab 45 /* =======================================================================================
jjantoine 0:8447350292ab 46 * File inclusi
jjantoine 0:8447350292ab 47 * =======================================================================================
jjantoine 0:8447350292ab 48 */
jjantoine 0:8447350292ab 49 #include "TYPE_Def.h" /* Contiene la definizione di ERROR_T */
jjantoine 0:8447350292ab 50
jjantoine 0:8447350292ab 51 /* =======================================================================================
jjantoine 0:8447350292ab 52 * Definizioni
jjantoine 0:8447350292ab 53 * =======================================================================================
jjantoine 0:8447350292ab 54 */
jjantoine 0:8447350292ab 55
jjantoine 0:8447350292ab 56 /*!
jjantoine 0:8447350292ab 57 * Codice identificativo della libreria
jjantoine 0:8447350292ab 58 */
jjantoine 0:8447350292ab 59 #define STD_LIB_CODE (0x82)
jjantoine 0:8447350292ab 60
jjantoine 0:8447350292ab 61 #define E_STD_INVALID_PARAM (ERROR_T) 0x01 /*!< Parametro non valido */
jjantoine 0:8447350292ab 62 #define E_STD_INVALID_STATE (ERROR_T) 0x02 /*!< Stato non ammesso */
jjantoine 0:8447350292ab 63 #define E_STD_NULL_POINTER (ERROR_T) 0x03 /*!< Puntatore nullo */
jjantoine 0:8447350292ab 64 #define E_STD_CHECKSUM (ERROR_T) 0x04 /*!< Checksum non valida */
jjantoine 0:8447350292ab 65 #define E_STD_SEQ_NUMBER (ERROR_T) 0x05 /*!< Errore di sequence counter */
jjantoine 0:8447350292ab 66 #define E_STD_MESSAGE_INVALID_SIZE (ERROR_T) 0x06 /*!< Dimensione messaggio non valida */
jjantoine 0:8447350292ab 67 #define E_STD_DATA_MAX_SIZE (ERROR_T) 0x08 /*!< Errore sulla massima dimensione */
jjantoine 0:8447350292ab 68 #define E_STD_FRAME_INVALID_SIZE (ERROR_T) 0x09 /*!< Dimensione non valida */
jjantoine 0:8447350292ab 69 #define E_STD_DECODING_FRAME (ERROR_T) 0x0A /*!< Errore decodifica frame */
jjantoine 0:8447350292ab 70
jjantoine 0:8447350292ab 71
jjantoine 0:8447350292ab 72 /*! \def MODULE_STD_ID_TE
jjantoine 0:8447350292ab 73 * Moduli e componenti appartenenti all'applicazione INTLOCK.
jjantoine 0:8447350292ab 74 */
jjantoine 0:8447350292ab 75 typedef enum
jjantoine 0:8447350292ab 76 {
jjantoine 0:8447350292ab 77 MODULE_STD_ID_IODEB = 0x01 /*!< Modulo IODEB */
jjantoine 0:8447350292ab 78 ,MODULE_STD_ID_NVCP = 0x02 /*!< Modulo NVCP */
jjantoine 0:8447350292ab 79 ,MODULE_STD_ID_NVCPDL = 0x03 /*!< Modulo NVCPDL */
jjantoine 0:8447350292ab 80 ,MODULE_STD_ID_INVALID = 0xFF /*!< Identificativo modulo valido */
jjantoine 0:8447350292ab 81
jjantoine 0:8447350292ab 82
jjantoine 0:8447350292ab 83 } MODULE_STD_ID_TE;
jjantoine 0:8447350292ab 84
jjantoine 0:8447350292ab 85
jjantoine 0:8447350292ab 86 /* =======================================================================================
jjantoine 0:8447350292ab 87 * Macro
jjantoine 0:8447350292ab 88 * =======================================================================================
jjantoine 0:8447350292ab 89 */
jjantoine 0:8447350292ab 90
jjantoine 0:8447350292ab 91 /*! \def ERROR_FormatAPP(ENUM_ModuleID, ERROR_Value)
jjantoine 0:8447350292ab 92 * Crea una parola da 32 bit con le informazioni sul modulo che ha generato l'errore
jjantoine 0:8447350292ab 93 * ed il tipo d'errore.
jjantoine 0:8447350292ab 94 * Nella formattazione degli errori si usa il seguente formato
jjantoine 0:8447350292ab 95 * Il formato degli errori (32 bit) e'
jjantoine 0:8447350292ab 96 *
jjantoine 0:8447350292ab 97 * | (1° byte) | (2° byte)| (3° byte) | (4° byte) |
jjantoine 0:8447350292ab 98 * | Byte piu' | | | Byte meno |
jjantoine 0:8447350292ab 99 * | significativo| | | significativo |
jjantoine 0:8447350292ab 100 * ----------------------------------------------------------
jjantoine 0:8447350292ab 101 * | Application/ | Modulo | Codice Errore Rilevato |
jjantoine 0:8447350292ab 102 * | Library | | Modulo | Errore |
jjantoine 0:8447350292ab 103 * | | | [0x0000......0xFFFF] |
jjantoine 0:8447350292ab 104 *
jjantoine 0:8447350292ab 105 * Per identificare la libreria di provenienza si aggiorna il
jjantoine 0:8447350292ab 106 * 2° byte piu' significativo
jjantoine 0:8447350292ab 107 */
jjantoine 0:8447350292ab 108 #define ERROR_FormatSTD(ENUM_ModuleID, ERROR_Value) \
jjantoine 0:8447350292ab 109 (((ERROR_T)((STD_LIB_CODE << 24) | (ENUM_ModuleID) << 16)) | (ERROR_Value))
jjantoine 0:8447350292ab 110
jjantoine 0:8447350292ab 111
jjantoine 0:8447350292ab 112
jjantoine 0:8447350292ab 113
jjantoine 0:8447350292ab 114 #endif /* _ERROR_STD_DEF_H */