FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/services/dar/dar_api.c @ 860:cbc49d533b7d
gsm-fw: new implementation of bzero() and some specialized bcopy variants
| author | Space Falcon <falcon@ivan.Harhan.ORG> | 
|---|---|
| date | Sun, 03 May 2015 04:11:41 +0000 | 
| parents | 3c5a17928fda | 
| children | 
| rev | line source | 
|---|---|
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1 /****************************************************************************/ | 
| 308 
3c5a17928fda
DAR: starting to clean and compile .c files
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
307diff
changeset | 2 /* */ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 3 /* File Name: dar_api.c */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 4 /* */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 5 /* Purpose: This file contains all the functions used to service */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 6 /* primitives. */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 7 /* */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 8 /* Version 0.1 */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 9 /* */ | 
| 308 
3c5a17928fda
DAR: starting to clean and compile .c files
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
307diff
changeset | 10 /* Date Modification */ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 11 /* ---------------------------------------------------------------------- */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 12 /* 2 October 2001 Create */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 13 /* */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 14 /* Author - Stephanie Gerthoux */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 15 /* */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 16 /* (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved*/ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 17 /****************************************************************************/ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 18 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 19 #include "../../riviera/rv/rv_defined_swe.h" | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 20 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 21 | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 22 #ifdef RVM_DAR_SWE | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 23 #include "../../include/config.h" | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 24 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 25 #include "../../bsp/abb+spi/abb.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 26 #include "../../riviera/rv/rv_general.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 27 #include "../../riviera/rvm/rvm_gen.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 28 #include "dar_api.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 29 #include "dar_env.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 30 #include "dar_error_hdlr_i.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 31 #include "dar_messages_i.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 32 #include "dar_msg_ft.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 33 #include "dar_macro_i.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 34 #include "dar_diagnose_i.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 35 #include "dar_const_i.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 36 #include "dar_emergency.h" | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 37 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 38 #ifndef _WINDOWS | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 39 /* enable the timer */ | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 40 #include "../../bsp/mem.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 41 #include "../../bsp/timer.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 42 #include "../../bsp/iq.h" | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 43 #if (CHIPSET == 12) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 44 #include "inth/sys_inth.h" | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 45 #endif | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 46 #endif | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 47 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 48 /**** Global variable ****/ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 49 /* Define load timer */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 50 static UINT16 dar_load_tim = 0x0; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 51 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 52 /* Increment variable */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 53 static BOOLEAN dar_increment = TRUE; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 54 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 55 /* DAR previous status */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 56 T_DAR_RECOVERY_STATUS dar_previous_status; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 57 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 58 /* DAR previous exception*/ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 59 UINT8 dar_previous_exception; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 60 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 61 /**** Define extern variables ****/ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 62 /* Get the status of the system */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 63 extern T_DAR_RECOVERY_STATUS dar_current_status; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 64 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 65 /* dar_exception_status : to get the status of the exception */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 66 extern UINT8 dar_exception_status; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 67 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 68 /* Define the recovery buffer */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 69 extern UINT8 dar_recovery_buffer[DAR_RECOVERY_DATA_MAX_BUFFER_SIZE]; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 70 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 71 /* Define a pointer to the Global Environment Control block */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 72 extern T_DAR_ENV_CTRL_BLK *dar_gbl_var_p; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 73 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 74 /* *********************************************************************** */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 75 /* RECOVERY */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 76 /* *********************************************************************** */ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 77 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 78 /***************************************************************************/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 79 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 80 /* Function Name: dar_recovery_get_status */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 81 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 82 /* Purpose: This function is called by the MMI at the beginning of the */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 83 /* procedure, in order to get the status of the last reset of */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 84 /* the system. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 85 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 86 /* Input Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 87 /* Dar recovery status */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 88 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 89 /* Output Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 90 /* Validation of the function execution. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 91 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 92 /* Note: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 93 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 94 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 95 /* Revision History: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 96 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 97 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 98 /***************************************************************************/ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 99 T_RV_RET dar_recovery_get_status(T_DAR_RECOVERY_STATUS* status) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 100 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 101 /* Variable to know the status of th Omega VRPC register */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 102 UINT16 dar_pwr_status; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 103 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 104 *status = dar_previous_status; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 105 switch (dar_previous_status) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 106 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 107 case (DAR_WATCHDOG): | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 108 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 109 DAR_SEND_TRACE("Dar Entity: Status of the last reset of the system = WATCHDOG",RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 110 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 111 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 112 case (DAR_NORMAL_SCUTTLING): | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 113 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 114 DAR_SEND_TRACE("Dar Entity: Status of the last reset of the system = NORMAL SCUTTLING",RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 115 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 116 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 117 case (DAR_EMERGENCY_SCUTTLING): | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 118 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 119 DAR_SEND_TRACE("Dar Entity: Status of the last reset of the system = EMERGENCY SCUTTLING",RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 120 switch (dar_previous_exception) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 121 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 122 case (DAR_EXCEPTION_DATA_ABORT): | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 123 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 124 DAR_SEND_TRACE(" A DATA ABORT exception has occured",RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 125 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 126 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 127 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 128 case (DAR_EXCEPTION_PREFETCH_ABORT): | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 129 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 130 DAR_SEND_TRACE(" A PREFETCH ABORT exception has occured",RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 131 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 132 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 133 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 134 case (DAR_EXCEPTION_UNDEFINED): | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 135 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 136 DAR_SEND_TRACE(" A UNDEFINED INSTRUCTION exception has occured",RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 137 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 138 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 139 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 140 case (DAR_EXCEPTION_SWI): | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 141 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 142 DAR_SEND_TRACE(" A SWI exception has occured",RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 143 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 144 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 145 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 146 case (DAR_EXCEPTION_RESERVED): | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 147 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 148 DAR_SEND_TRACE(" A RESERVED exception has occured",RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 149 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 150 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 151 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 152 default: | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 153 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 154 DAR_SEND_TRACE(" An error has been detected",RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 155 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 156 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 157 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 158 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 159 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 160 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 161 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 162 default: | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 163 { | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 164 #if 1 //(_GSM==1) || (defined _WINDOWS) | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 165 dar_pwr_status = ABB_Read_Status(); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 166 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 167 #if ((ANALOG == 1) || (ANALOG == 2)) | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 168 if (dar_pwr_status & ONBSTS) | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 169 #elif (ANALOG == 3) | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 170 if (dar_pwr_status & PWONBSTS) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 171 #endif | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 172 { | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 173 /* Switch on Condition on ON BUTTON Push */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 174 DAR_SEND_TRACE("Dar Entity: Status of the last reset of the system = POWER ON/OFF",RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 175 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 176 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 177 else | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 178 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 179 /* Branch to a reset at adress 0 */ | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 180 DAR_SEND_TRACE("Dar Entity: Status of the last reset of the system = BRANCH to adress 0",RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 181 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 182 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 183 #else | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 184 /* the SPI is not available in BOARD_TEST configuration */ | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 185 DAR_SEND_TRACE("Dar Entity: Status of the last reset of the system = POWER ON/OFF or BRANCH to adress 0",RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 186 #endif | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 187 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 188 }/* switch */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 189 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 190 return(RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 191 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 192 } /* dar_recovery_get_status */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 193 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 194 /***************************************************************************/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 195 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 196 /* Function Name: dar_recovery_config */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 197 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 198 /* Purpose: This function is used to store a callback function that */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 199 /* will be called by the recovery system when a recovery */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 200 /* procedure has been initiated */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 201 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 202 /* Input Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 203 /* dar callback function */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 204 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 205 /* Output Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 206 /* Validation of the function execution. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 207 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 208 /* Note: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 209 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 210 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 211 /* Revision History: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 212 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 213 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 214 /***************************************************************************/ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 215 T_RV_RET dar_recovery_config(T_RV_RET (*dar_store_recovery_data) | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 216 (T_DAR_BUFFER buffer_p, | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 217 UINT16 length)) | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 218 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 219 /* call the callback function */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 220 dar_gbl_var_p->entity_dar_callback = dar_store_recovery_data; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 221 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 222 return(RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 223 } /* dar_recovery_config */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 224 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 225 /***************************************************************************/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 226 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 227 /* Function Name: dar_get_recovery_data */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 228 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 229 /* Purpose: This function is used to retrieve data that have been */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 230 /* stored in the buffer just before a reset. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 231 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 232 /* Input Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 233 /* - the buffer in whom important data have been stored before the */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 234 /* reset */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 235 /* - the length of the buffer */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 236 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 237 /* Output Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 238 /* Validation of the function execution. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 239 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 240 /* Note: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 241 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 242 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 243 /* Revision History: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 244 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 245 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 246 /***************************************************************************/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 247 T_RV_RET dar_get_recovery_data( T_DAR_BUFFER buffer_p, UINT16 length ) | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 248 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 249 /* Local variables */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 250 UINT8 i; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 251 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 252 if (buffer_p != NULL) | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 253 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 254 if(length <= DAR_RECOVERY_DATA_MAX_BUFFER_SIZE) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 255 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 256 /* Retrieve data that have been stored in the global buffer */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 257 for(i=0;i<length;i++) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 258 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 259 buffer_p[i] = dar_recovery_buffer[i]; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 260 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 261 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 262 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 263 else | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 264 /* the lenth is longer than DAR_RECOVERY_DATA_MAX_BUFFER_SIZE */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 265 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 266 /* So retrieve "DAR_RECOVERY_DATA_MAX_BUFFER_SIZE" data that have been stored */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 267 /* in the global buffer, the other data (length -"DAR_RECOVERY_DATA_MAX_BUFFER_SIZE") */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 268 /* are lost*/ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 269 for(i=0;i<DAR_RECOVERY_DATA_MAX_BUFFER_SIZE;i++) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 270 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 271 buffer_p[i] = dar_recovery_buffer[i]; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 272 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 273 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 274 DAR_SEND_TRACE_PARAM("Bytes nb that haven't be saved due to not enough memory space ",(DAR_RECOVERY_DATA_MAX_BUFFER_SIZE-length),DAR_WARNING); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 275 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 276 } /* if (buffer_p != NULL) */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 277 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 278 return(RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 279 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 280 } /* dar_get_recovery_data */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 281 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 282 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 283 /* *********************************************************************** */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 284 /* WATCHDOG */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 285 /* *********************************************************************** */ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 286 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 287 /***************************************************************************/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 288 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 289 /* Function Name: dar_start_watchdog_timer */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 290 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 291 /* Purpose: This function uses the timer as a general purpose timer */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 292 /* instead of Watchdog. It loads the timer, starts it and */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 293 /* then unmasks the interrupt. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 294 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 295 /* Input Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 296 /* time's interval in milliseconds before the timer expires */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 297 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 298 /* Output Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 299 /* Validation of the function execution. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 300 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 301 /* Note: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 302 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 303 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 304 /* Revision History: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 305 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 306 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 307 /***************************************************************************/ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 308 T_RV_RET dar_start_watchdog_timer(UINT16 timer_expiration_value) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 309 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 310 DAR_SEND_TRACE("DAR Watchdog timer",RV_TRACE_LEVEL_DEBUG_LOW); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 311 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 312 /* use Watchdog timer set as a general purpose timer */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 313 /* Calculate the load value thanks to the formula: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 314 /* timer_expiration_value * 1000 = Tclk * (DAR_LOAD_TIM+1)*2^(PTV+1)*/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 315 /* (in Watchdog mode, the value of PTV is fixed to 7) */ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 316 dar_load_tim = ((timer_expiration_value * 1000)/(1.078*256))-1; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 317 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 318 #ifndef _WINDOWS | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 319 /* Load "dar_load_tim" value */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 320 TIMER_WriteValue(dar_load_tim); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 321 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 322 /* Start timer with PTV = 7, no autoreload, free = 0 */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 323 *(volatile UINT16*)TIMER_CNTL_REG = 0x0E80; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 324 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 325 /* Unmask IRQ0 */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 326 #if (CHIPSET == 12) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 327 F_INTH_ENABLE_ONE_IT(C_INTH_WATCHDOG_IT); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 328 #else | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 329 IQ_Unmask(IQ_WATCHDOG); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 330 #endif | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 331 #endif | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 332 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 333 return(RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 334 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 335 } /* dar_start_watchdog_timer */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 336 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 337 /***************************************************************************/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 338 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 339 /* Function Name: dar_reload_watchdog_timer */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 340 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 341 /* Purpose: This function is used to maintain the timer in reloading */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 342 /* it periodically before it expires. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 343 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 344 /* Input Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 345 /* None */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 346 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 347 /* Output Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 348 /* Validation of the function execution. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 349 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 350 /* Note: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 351 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 352 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 353 /* Revision History: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 354 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 355 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 356 /***************************************************************************/ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 357 T_RV_RET dar_reload_watchdog_timer() | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 358 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 359 #ifndef _WINDOWS | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 360 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 361 DAR_SEND_TRACE("Reload Watchdog ",RV_TRACE_LEVEL_DEBUG_LOW); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 362 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 363 /* Stop the timer */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 364 *(volatile UINT16*)TIMER_CNTL_REG = 0x0E00; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 365 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 366 /* Reload the timer with a different value each time */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 367 if (dar_increment == TRUE) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 368 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 369 TIMER_WriteValue(++dar_load_tim); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 370 dar_increment = FALSE; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 371 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 372 else | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 373 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 374 TIMER_WriteValue(--dar_load_tim); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 375 dar_increment = TRUE; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 376 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 377 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 378 /* Restart timer with PTV = 7, no autoreload, free = 0 */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 379 *(volatile UINT16*)TIMER_CNTL_REG = 0x0E80; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 380 #endif | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 381 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 382 return(RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 383 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 384 } /* dar_reload_watchdog_timer */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 385 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 386 /***************************************************************************/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 387 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 388 /* Function Name: dar_stop_watchdog_timer */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 389 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 390 /* Purpose: This function stops the timer used as a general purpose */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 391 /* timer instead of watchdog. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 392 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 393 /* Input Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 394 /* None */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 395 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 396 /* Output Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 397 /* Validation of the function execution. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 398 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 399 /* Note: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 400 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 401 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 402 /* Revision History: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 403 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 404 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 405 /***************************************************************************/ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 406 T_RV_RET dar_stop_watchdog_timer() | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 407 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 408 #ifndef _WINDOWS | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 409 /* Stop the timer */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 410 *(volatile UINT16*)TIMER_CNTL_REG = 0x0E00; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 411 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 412 /* Mask IRQ0 */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 413 #if (CHIPSET == 12) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 414 F_INTH_DISABLE_ONE_IT(C_INTH_WATCHDOG_IT); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 415 #else | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 416 IQ_Mask(IQ_WATCHDOG); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 417 #endif | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 418 #endif | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 419 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 420 return(RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 421 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 422 } /* dar_stop_watchdog_timer */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 423 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 424 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 425 /* *********************************************************************** */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 426 /* RESET */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 427 /* *********************************************************************** */ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 428 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 429 /***************************************************************************/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 430 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 431 /* Function Name: dar_reset_system */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 432 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 433 /* Purpose: This function can be used to reset the system voluntarily. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 434 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 435 /* Input Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 436 /* None */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 437 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 438 /* Output Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 439 /* Validation of the function execution. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 440 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 441 /* Note: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 442 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 443 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 444 /* Revision History: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 445 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 446 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 447 /***************************************************************************/ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 448 T_RV_RET dar_reset_system(void) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 449 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 450 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 451 /* Update the DAR recovery status */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 452 dar_current_status = DAR_NORMAL_SCUTTLING; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 453 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 454 /* Call the MMI callback function to save some parameters before reset */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 455 dar_gbl_var_p->entity_dar_callback(dar_recovery_buffer,DAR_RECOVERY_DATA_MAX_BUFFER_SIZE); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 456 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 457 /* Send a trace before the reset of the system */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 458 DAR_SEND_TRACE("Voluntary reset of the system",RV_TRACE_LEVEL_DEBUG_HIGH); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 459 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 460 dar_reset(); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 461 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 462 return(RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 463 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 464 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 465 /* *********************************************************************** */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 466 /* DIAGNOSE */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 467 /* *********************************************************************** */ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 468 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 469 /***************************************************************************/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 470 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 471 /* Function Name: dar_diagnose_swe_filter */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 472 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 473 /* Purpose: This function is called to configure the Diagnose filtering.*/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 474 /* It allows to determine what Software Entity ( dar_use_id ) */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 475 /* wants to use the Diagnose and allows to indicate the level */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 476 /* threshold of the diagnose messages. (Warning or Debug) */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 477 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 478 /* Input Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 479 /* - the dar use id */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 480 /* - the dar level */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 481 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 482 /* Output Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 483 /* Validation of the function execution. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 484 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 485 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 486 /* Note: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 487 /* None */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 488 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 489 /***************************************************************************/ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 490 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 491 T_RV_RET dar_diagnose_swe_filter ( T_RVM_USE_ID dar_use_id, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 492 T_DAR_LEVEL dar_level) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 493 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 494 /* Declare local variables */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 495 T_RVF_MB_STATUS mb_status = RVF_GREEN; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 496 T_DAR_FILTER_START *use_id_p = NULL; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 497 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 498 /*********************** dar_diagnose_swe_filter function *************/ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 499 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 500 if (dar_gbl_var_p == NULL ) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 501 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 502 dar_error_trace(DAR_ENTITY_NOT_START); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 503 return(RV_NOT_READY); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 504 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 505 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 506 /* allocate the memory for the message to send */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 507 mb_status = rvf_get_buf (dar_gbl_var_p->mb_dar, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 508 sizeof (T_DAR_FILTER_START), | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 509 (T_RVF_BUFFER **) (&use_id_p)); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 510 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 511 /* If insufficient resources, then report a memory error and abort. */ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 512 if (mb_status == RVF_YELLOW) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 513 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 514 /* deallocate the memory */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 515 rvf_free_buf((T_RVF_BUFFER *)use_id_p); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 516 dar_error_trace(DAR_ENTITY_NO_MEMORY); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 517 return (RV_NOT_SUPPORTED); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 518 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 519 else | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 520 if (mb_status == RVF_RED) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 521 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 522 dar_error_trace(DAR_ENTITY_NO_MEMORY); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 523 return (RV_MEMORY_ERR); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 524 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 525 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 526 /* fill the message id */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 527 use_id_p ->os_hdr.msg_id = DAR_FILTER_REQ; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 528 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 529 /* fill the addr source id */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 530 use_id_p->os_hdr.src_addr_id = dar_gbl_var_p->addrId; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 531 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 532 /* fill the message parameters (group, mask and level) */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 533 use_id_p->use_msg_parameter.group_nb = (dar_use_id>>16)& 0x7FFF; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 534 use_id_p->use_msg_parameter.mask = (dar_use_id)&0xFFFF; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 535 use_id_p->use_msg_parameter.level = dar_level; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 536 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 537 /* send the messsage to the DAR entity */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 538 rvf_send_msg (dar_gbl_var_p->addrId, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 539 use_id_p); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 540 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 541 return (RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 542 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 543 | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 544 } /* dar_diagnose_swe_filter */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 545 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 546 /***************************************************************************/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 547 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 548 /* Function Name: dar_diagnose_write */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 549 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 550 /* Purpose: This function is called to store diagnose data in RAM */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 551 /* buffer. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 552 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 553 /* Input Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 554 /* Pointer to the message to store */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 555 /* Data Format, ( the Binary format is not supported) */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 556 /* Data level, */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 557 /* Data Use Id, */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 558 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 559 /* Output Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 560 /* Validation of the diagnose execution. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 561 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 562 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 563 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 564 /* Revision History: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 565 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 566 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 567 /***************************************************************************/ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 568 T_RV_RET dar_diagnose_write( T_DAR_INFO *buffer_p, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 569 T_DAR_FORMAT format, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 570 T_DAR_LEVEL diagnose_info_level, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 571 T_RVM_USE_ID dar_use_id) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 572 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 573 /* Declare local variables */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 574 UINT8 index =0 ; /* local index */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 575 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 576 /* Check if the dar_use_id group_nb exists */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 577 /* If the group exists... */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 578 if(dar_search_group((dar_use_id>>16)& 0x7FFF,&index) == RV_OK) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 579 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 580 /* Check the Dar level */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 581 switch(diagnose_info_level) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 582 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 583 case DAR_WARNING: | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 584 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 585 /* The DAR entity wants to process Warning messages */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 586 /* check if the mask_warning is in the dar_filter array */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 587 if (((dar_gbl_var_p ->dar_filter_array[index].mask_warning) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 588 & ((dar_use_id)&0xFFFF)) !=0) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 589 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 590 /* The Warning messages must be diagnosed */ | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 591 dar_send_write_data( buffer_p, format, diagnose_info_level, | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 592 dar_use_id); | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 593 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 594 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 595 else | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 596 { | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 597 /* | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 598 * There is no mask_warning for this use_id in the dar_filter | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 599 * array; the warning messages can't be diagnosed. | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 600 */ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 601 DAR_TRACE_WARNING("The Warning messages can't be diagnosed"); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 602 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 603 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 604 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 605 } /* case DAR_WARNING */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 606 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 607 case DAR_DEBUG: | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 608 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 609 /* The DAR entity wants to process Debug messages */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 610 /* Check if the mask_debug is in the dar_filter array */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 611 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 612 if (((dar_gbl_var_p ->dar_filter_array[index].mask_debug) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 613 & ((dar_use_id)&0xFFFF)) !=0) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 614 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 615 /* The Debug messages must be diagnosed */ | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 616 dar_send_write_data( buffer_p, format, diagnose_info_level, | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 617 dar_use_id); | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 618 } | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 619 | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 620 else | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 621 { | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 622 /* | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 623 * There is no mask_debug for this use_id in the dar_filter | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 624 * array; the debug messages can't be diagnosed. | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 625 */ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 626 DAR_TRACE_WARNING("The Debug messages can't be diagnosed"); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 627 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 628 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 629 } /* case DAR_DEBUG */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 630 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 631 default: | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 632 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 633 /* Unknow level has been received */ | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 634 DAR_TRACE_WARNING("A DAR unknown level has been received"); | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 635 break; | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 636 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 637 } /* switch(msg_p->use_msg_parameter.level) */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 638 } /* if (search_group(dar_use_id.group_nb,&index)== RV_OK) */ | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 639 | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 640 else | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 641 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 642 /* An unknow group message has been received */ | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 643 DAR_TRACE_WARNING("A DAR unknown group level message has been received"); | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 644 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 645 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 646 return (RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 647 } /* dar_diagnose_write */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 648 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 649 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 650 /***************************************************************************/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 651 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 652 /* Function Name: dar_diagnose_generate_emergency */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 653 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 654 /* Purpose: This function is called to store diagnose data in RAM */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 655 /* buffer when an emergency has been detected and goes to */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 656 /* emergency (automatic reset) */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 657 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 658 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 659 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 660 /* Input Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 661 /* Pointer to the message to store */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 662 /* Data Format, ( the Binary format is not supported) */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 663 /* Data Use Id, */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 664 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 665 /* Output Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 666 /* Validation of the diagnose execution. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 667 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 668 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 669 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 670 /* Revision History: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 671 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 672 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 673 /***************************************************************************/ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 674 T_RV_RET dar_diagnose_generate_emergency( T_DAR_INFO *buffer_p, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 675 T_DAR_FORMAT format, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 676 T_RVM_USE_ID dar_use_id) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 677 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 678 if (dar_gbl_var_p != NULL) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 679 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 680 /* Process the diagnose emergency */ | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 681 dar_process_emergency(buffer_p, format, dar_use_id, | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 682 DAR_EMERGENCY_RESET|DAR_NEW_ENTRY); | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 683 | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 684 return (RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 685 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 686 else | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 687 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 688 return (RV_NOT_READY); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 689 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 690 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 691 } /* dar_diagnose_write */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 692 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 693 | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 694 /***************************************************************************/ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 695 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 696 /* Function Name: dar_diagnose_write_emergency */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 697 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 698 /* Purpose: This function is called to store diagnose data in RAM */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 699 /* buffer when an emergency has been detected. Data is */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 700 /* written directly compared to dar_diagnode_write where data */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 701 /* is sent to DAR via messages. Depending on the passed flags */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 702 /* a RESET will be done. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 703 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 704 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 705 /* Input Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 706 /* Pointer to the message to store */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 707 /* Data Format, ( the Binary format is not supported) */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 708 /* Data Use Id, */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 709 /* Flags */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 710 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 711 /* Output Parameters: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 712 /* Validation of the diagnose execution. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 713 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 714 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 715 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 716 /* Revision History: */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 717 /* None. */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 718 /* */ | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 719 /***************************************************************************/ | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 720 T_RV_RET dar_diagnose_write_emergency( T_DAR_INFO *buffer_p, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 721 T_DAR_FORMAT format, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 722 T_RVM_USE_ID dar_use_id, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 723 UINT32 flags) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 724 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 725 if (dar_gbl_var_p != NULL) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 726 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 727 /* Process the diagnose emergency */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 728 dar_process_emergency(buffer_p, format, dar_use_id, flags); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 729 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 730 return (RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 731 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 732 else | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 733 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 734 return (RV_NOT_READY); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 735 } | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 736 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 737 } /* dar_diagnose_write_emergency */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 738 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 739 #else | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 740 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 741 /* ************************************************ */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 742 /* THE DAR ENTITY IS DISABLED */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 743 /* ************************************************ */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 744 | 
| 307 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 745 #include "../../riviera/rv/rv_general.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 746 #include "../../riviera/rvm/rvm_gen.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 747 #include "../../riviera/rvm/rvm_priorities.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 748 #include "../../riviera/rvf/rvf_target.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 749 #include "../../riviera/rvf/rvf_i.h" | 
| 
749ca89741fa
DAR: starting to compile
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
305diff
changeset | 750 #include "dar_gen.h" | 
| 305 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 751 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 752 T_RV_RET dar_diagnose_swe_filter ( T_RVM_USE_ID dar_use_id, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 753 T_DAR_LEVEL dar_level) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 754 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 755 return (RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 756 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 757 } /* dar_diagnose_swe_filter */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 758 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 759 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 760 T_RV_RET dar_diagnose_write( T_DAR_INFO *buffer_p, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 761 T_DAR_FORMAT format, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 762 T_DAR_LEVEL diagnose_info_level, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 763 T_RVM_USE_ID dar_use_id) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 764 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 765 return (RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 766 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 767 } /* dar_diagnose_write */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 768 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 769 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 770 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 771 T_RV_RET dar_diagnose_generate_emergency( T_DAR_INFO *buffer_p, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 772 T_DAR_FORMAT format, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 773 T_RVM_USE_ID dar_use_id) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 774 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 775 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 776 return (RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 777 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 778 } /* dar_diagnose_generate_emergency */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 779 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 780 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 781 T_RV_RET dar_diagnose_write_emergency( T_DAR_INFO *buffer_p, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 782 T_DAR_FORMAT format, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 783 T_RVM_USE_ID dar_use_id, | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 784 UINT32 flags) | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 785 { | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 786 return (RV_OK); | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 787 } /* dar_diagnose_write_emergency */ | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 788 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 789 | 
| 
4dccc9d3305f
gsm-fw: checking in DAR from Leonardo source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 790 #endif /* #ifdef RVM_DAR_SWE */ | 
