FreeCalypso > hg > freecalypso-citrine
diff L1/include/l1_macro.h @ 0:75a11d740a02
initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 09 Jun 2016 00:02:41 +0000 |
parents | |
children | f93dab57b032 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/L1/include/l1_macro.h Thu Jun 09 00:02:41 2016 +0000 @@ -0,0 +1,149 @@ +/************* Revision Controle System Header ************* + * GSM Layer 1 software + * L1_MACRO.H + * + * Filename l1_macro.h + * Copyright 2003 (C) Texas Instruments + * + ************* Revision Controle System Header *************/ + +#include "l1_confg.h" +#if(L1_DYN_DSP_DWNLD == 1) + #include "../dyn_dwl_include/l1_dyn_dwl_const.h" +#endif +#include "l1_types.h" + +#if (TRACE_TYPE==5) && NUCLEUS_TRACE +//WARNING : this type of trace takes a lot of space in data RAM (~16kB) + + // switch for Nucleus debugging messages. + #define NU_ALLOC_ERR 0 + #define NU_DEALLOC_ERR 1 + #define NU_RCVE_QUEUE_ERR 2 + #define NU_SEND_QUEUE_ERR 3 + #define NU_OBTA_SEMA_ERR 4 + #define NU_RLSE_SEMA_ERR 5 + + // Nucleus debug function. + #define DEBUGMSG(status,type) \ + if(status) switch(type) \ + { \ + case NU_ALLOC_ERR: \ + printf("NU mem. allocation error %d file %s line %d\n", status,__FILE__,__LINE__); \ + exit(0); \ + break; \ + \ + case NU_DEALLOC_ERR: \ + printf("NU mem. deallocation error %d file %s line %d\n", status,__FILE__,__LINE__); \ + exit(0); \ + break; \ + \ + case NU_RCVE_QUEUE_ERR: \ + printf("NU rcve queue error %d file %s line %d\n", status,__FILE__,__LINE__); \ + exit(0); \ + break; \ + \ + case NU_SEND_QUEUE_ERR: \ + printf("NU send queue error %d file %s line %d\n", status,__FILE__,__LINE__); \ + exit(0); \ + break; \ + \ + case NU_OBTA_SEMA_ERR: \ + printf("NU obtain semaph. error %d file %s line %d\n", status,__FILE__,__LINE__); \ + exit(0); \ + break; \ + \ + case NU_RLSE_SEMA_ERR: \ + printf("NU release semaph. error %d file %s line %d\n", status,__FILE__,__LINE__); \ + exit(0); \ + break; \ + \ + default: \ + printf("Unknown error %d file %s line %d\n", status,__FILE__,__LINE__); \ + exit(0); \ + break; \ + } +#else + #define DEBUGMSG(status,type) +#endif + +/************************************************************/ +/* Macros for FAST INTEGER MODULO implementation. */ +/************************************************************/ +#define IncMod(operand, increment, modulo) \ + if( (operand += increment) >= modulo ) operand -= modulo + + +// Define MACRO for selecting the min. time to next task. +#define Select_min_time(Task_Time, Min_Time) \ + if(Task_Time < Min_Time) Min_Time = Task_Time; + +/************************************************************/ +/* Macros for MCU/DSP API address conversion . */ +/************************************************************/ + +#define API_address_dsp2mcu(dsp_address) \ + (MCU_API_BASE_ADDRESS + ((API)((dsp_address) - DSP_API_BASE_ADDRESS) * 2)) + +#define API_address_mcu2dsp(mcu_address) \ + (DSP_API_BASE_ADDRESS + ((UWORD32)((mcu_address) - MCU_API_BASE_ADDRESS) / 2)) + + + + + /* Added temporirly for RF_KEypad build */ + + #if (L1_RF_KBD_FIX == 1) + + #if(OP_L1_STANDALONE == 1) + +#if 0 + typedef struct + { + // T_RVF_MB_ID prim_id; + // T_RVF_ADDR_ID addr_id; + // BOOL swe_is_initialized; + // T_RVM_RETURN (*error_ft)(T_RVM_NAME swe_name, + // T_RVM_RETURN error_cause, + // T_RVM_ERROR_TYPE error_type, + // T_RVM_STRING error_msg); + #if ((CHIPSET == 12) || (CHIPSET == 15)) + // T_KPD_RECEIVED_KEY_INFO received_key_info[KPD_MAX_DETECTABLE]; + //UINT8 nb_active_keys; + UWORD16 repeat_time; + UWORD16 long_time; + #endif + } T_KPD_ENV_CTRL_BLK_L1; + +#endif + +// typedef unsigned char KPD_CORRECTION_RATIO; //UWORD8 //omaps00090550 + void kpd_timer_modify(UWORD8 ratio,UWORD32 frameNumber); //omaps00090550 + #define KBR_DEBOUNCING_TIME (MEM_KEYBOARD + 0x02) /* KBR debouncing time reg */ + #define KPD_DEBOUNCING_TIME (0x3F) + #define KBR_LONG_KEY_TIME (MEM_KEYBOARD + 0x04) /* KBR long key time reg */ + #define KBR_TIME_OUT (MEM_KEYBOARD + 0x06) /* KBR Time out reg */ + #define KBR_CTRL_REG (MEM_KEYBOARD + 0x00) /* KBR control reg */ + #define KBR_STATE_MACHINE_STATUS (MEM_KEYBOARD + 0x0E) /* KBR state machine status reg */ + #define KPD_CLK_DIV32 4 + #define KPD_CLOCK_DIVIDER KPD_CLK_DIV32 + + #define SetGroupBits16(registre,position,number,value) {\ + UINT16 tmp=registre;\ + volatile UINT16 tmpvalue;\ + tmpvalue = (value<<(16-(number)));\ + tmpvalue = (tmpvalue>>(16-(number)));\ + tmp&=~((0xFFFF>>(16-(number)))<<(position));\ + tmp|=((tmpvalue&(0xFFFF>>(16-(number))))<<(position));\ + registre=tmp;\ + } + #endif/* #if(OP_L1_STANDALONE == 1) */ + + #endif /* #if (L1_RF_KBD_FIX == 1) */ + /* Added temporirly for RF_KEypad build */ + + + + + +