my fork

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers bluenrg_IFR.c Source File

bluenrg_IFR.c

00001 
00002 #include "hal.h"
00003 #include "hal_types.h"
00004 #include "ble_status.h"
00005 #include "bluenrg_updater_aci.h"
00006 #include "bluenrg_utils.h"
00007 //#include "SDK_EVAL_Spi_Driver.h"
00008 
00009 /************** Do not change this define section ************/
00010 
00011 #define BLUENRG_32_MHZ          1
00012 #define BLUENRG_32_MHZ_RO       2
00013 #define BLUENRG_16_MHZ          3
00014 #define BLUENRG_16_MHZ_RO       4
00015 
00016 #define MASTER_SCA_500ppm       0 // 251 ppm to 500 ppm
00017 #define MASTER_SCA_250ppm       1 // 151 ppm to 250 ppm
00018 #define MASTER_SCA_150ppm       2 // 101 ppm to 150 ppm
00019 #define MASTER_SCA_100ppm       3 // 76 ppm to 100 ppm
00020 #define MASTER_SCA_75ppm        4 // 51 ppm to 75 ppm
00021 #define MASTER_SCA_50ppm        5 // 31 ppm to 50 ppm
00022 #define MASTER_SCA_30ppm        6 // 21 ppm to 30 ppm
00023 #define MASTER_SCA_20ppm        7 // 0 ppm to 20 ppm
00024 
00025 /************************************************************/
00026 
00027 
00028 /************** Definitions that can be changed. ************/
00029 
00030 #define STACK_MODE              2
00031 #define SLAVE_SCA_PPM           100
00032 #define MASTER_SCA              MASTER_SCA_100ppm
00033 #define HS_STARTUP_TIME_US      512
00034 #define DAY                     27
00035 #define MONTH                   01
00036 #define YEAR                    14
00037 
00038 /************************************************************/
00039 
00040 #if BLUENRG_CONFIG == BLUENRG_32_MHZ
00041 
00042 const IFR_config_TypeDef IFR_config = {
00043   0x02,0x3A,0x5C,0x02,
00044   0x34,0x5F,0x02,0x39,
00045   0xA2,0x00,0xFF,0xFF,
00046   0xFF,0xFF,0xFF,0xFF,
00047   0xFF,0xFF,0xFF,0xFF,
00048   0xFF,0xFF,0xFF,0xFF,
00049   0xFF,0xFF,0xFF,0xFF,
00050   0xFF,0xFF,0xFF,0xFF,
00051   0xFF,0xFF,0xFF,0xFF,
00052   0xFF,0xFF,0xFF,0xFF,
00053   0xFF,0xFF,0xFF,0xFF,
00054   0xFF,0xFF,0xFF,0xFF,
00055   0xFF,0xFF,0xFF,0xFF,
00056   0xFF,0xFF,0xFF,0xFF,
00057   0xFF,0xFF,0xFF,0xFF,
00058   0xFF,0xFF,0xFF,0xFF,
00059   
00060   0x02,0x1C,0x53,0x00,
00061   0xFF,0xFF,0xFF,0xFF,
00062   0xFF,0xFF,0xFF,0xFF,
00063   0xFF,0xFF,0xFF,0xFF,
00064   0xFF,0xFF,0xFF,0xFF,
00065   0xFF,0xFF,0xFF,0xFF,
00066   0xFF,0xFF,0xFF,0xFF,
00067   0xFF,0xFF,0xFF,0xFF,
00068   0xFF,0xFF,0xFF,0xFF,
00069   0xFF,0xFF,0xFF,0xFF,
00070   0xFF,0xFF,0xFF,0xFF,
00071   0xFF,0xFF,0xFF,0xFF,
00072   0xFF,0xFF,0xFF,0xFF,
00073   0xFF,0xFF,0xFF,0xFF,
00074   0xFF,0xFF,0xFF,0xFF,
00075   0xFF,0xFF,0xFF,0xFF,
00076   
00077   STACK_MODE,
00078   0xFF,0xFF,0xFF,
00079   0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
00080   htobl(0x00190000),
00081   htobl(0x0028F5C2),
00082   htobs(SLAVE_SCA_PPM),
00083   MASTER_SCA,
00084   0xFF,
00085   htobs(FROM_US_TO_SYS_TIME(HS_STARTUP_TIME_US)),
00086   0xEF,
00087   0x5F,
00088   0xFF,0xFF,0xFF,
00089   0xFF,
00090   0xFF,   
00091   INT_TO_BCD(YEAR),INT_TO_BCD(MONTH),INT_TO_BCD(DAY),
00092   0xFFFFFFFF,  
00093   0xFFFFFFFF,
00094   0xFFFFFFFF,
00095   0xFFFFFFFF,
00096   0xFFFFFFFF
00097 };
00098 
00099 #elif BLUENRG_CONFIG == BLUENRG_32_MHZ_RO
00100 
00101 const IFR_config_TypeDef IFR_config = {
00102   0x02,0x3A,0x5C,0x02,
00103   0x34,0x1F,0x02,0x39,
00104   0xA2,0x00,0xFF,0xFF,
00105   0xFF,0xFF,0xFF,0xFF,
00106   0xFF,0xFF,0xFF,0xFF,
00107   0xFF,0xFF,0xFF,0xFF,
00108   0xFF,0xFF,0xFF,0xFF,
00109   0xFF,0xFF,0xFF,0xFF,
00110   0xFF,0xFF,0xFF,0xFF,
00111   0xFF,0xFF,0xFF,0xFF,
00112   0xFF,0xFF,0xFF,0xFF,
00113   0xFF,0xFF,0xFF,0xFF,
00114   0xFF,0xFF,0xFF,0xFF,
00115   0xFF,0xFF,0xFF,0xFF,
00116   0xFF,0xFF,0xFF,0xFF,
00117   0xFF,0xFF,0xFF,0xFF,
00118   
00119   0x02,0x1C,0x53,0x00,
00120   0xFF,0xFF,0xFF,0xFF,
00121   0xFF,0xFF,0xFF,0xFF,
00122   0xFF,0xFF,0xFF,0xFF,
00123   0xFF,0xFF,0xFF,0xFF,
00124   0xFF,0xFF,0xFF,0xFF,
00125   0xFF,0xFF,0xFF,0xFF,
00126   0xFF,0xFF,0xFF,0xFF,
00127   0xFF,0xFF,0xFF,0xFF,
00128   0xFF,0xFF,0xFF,0xFF,
00129   0xFF,0xFF,0xFF,0xFF,
00130   0xFF,0xFF,0xFF,0xFF,
00131   0xFF,0xFF,0xFF,0xFF,
00132   0xFF,0xFF,0xFF,0xFF,
00133   0xFF,0xFF,0xFF,0xFF,
00134   0xFF,0xFF,0xFF,0xFF,
00135   
00136   STACK_MODE,
00137   0xFF,0xFF,0xFF,
00138   0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
00139   0xFFFFFFFF,
00140   0xFFFFFFFF,
00141   htobs(0x01F4), 
00142   0x00,
00143   0xFF,
00144   htobs(FROM_US_TO_SYS_TIME(HS_STARTUP_TIME_US)),
00145   0xFF,
00146   0x5F,
00147   0xFF,0xFF,0xFF,
00148   0xFF,
00149   0xFF,   
00150   INT_TO_BCD(YEAR),INT_TO_BCD(MONTH),INT_TO_BCD(DAY),
00151   0xFFFFFFFF,  
00152   0xFFFFFFFF,
00153   0xFFFFFFFF,
00154   0xFFFFFFFF,
00155   0xFFFFFFFF  
00156 };
00157 
00158 #elif BLUENRG_CONFIG == BLUENRG_16_MHZ
00159 
00160 const IFR_config_TypeDef IFR_config = {
00161   0x02,0x34,0x5B,0x03,
00162   0x39,0xA2,0x58,0x00,
00163   0xFF,0xFF,0xFF,0xFF,
00164   0xFF,0xFF,0xFF,0xFF,
00165   0xFF,0xFF,0xFF,0xFF,
00166   0xFF,0xFF,0xFF,0xFF,
00167   0xFF,0xFF,0xFF,0xFF,
00168   0xFF,0xFF,0xFF,0xFF,
00169   0xFF,0xFF,0xFF,0xFF,
00170   0xFF,0xFF,0xFF,0xFF,
00171   0xFF,0xFF,0xFF,0xFF,
00172   0xFF,0xFF,0xFF,0xFF,
00173   0xFF,0xFF,0xFF,0xFF,
00174   0xFF,0xFF,0xFF,0xFF,
00175   0xFF,0xFF,0xFF,0xFF,
00176   0xFF,0xFF,0xFF,0xFF,
00177   
00178   0x02,0x1C,0x53,0x00,
00179   0xFF,0xFF,0xFF,0xFF,
00180   0xFF,0xFF,0xFF,0xFF,
00181   0xFF,0xFF,0xFF,0xFF,
00182   0xFF,0xFF,0xFF,0xFF,
00183   0xFF,0xFF,0xFF,0xFF,
00184   0xFF,0xFF,0xFF,0xFF,
00185   0xFF,0xFF,0xFF,0xFF,
00186   0xFF,0xFF,0xFF,0xFF,
00187   0xFF,0xFF,0xFF,0xFF,
00188   0xFF,0xFF,0xFF,0xFF,
00189   0xFF,0xFF,0xFF,0xFF,
00190   0xFF,0xFF,0xFF,0xFF,
00191   0xFF,0xFF,0xFF,0xFF,
00192   0xFF,0xFF,0xFF,0xFF,
00193   0xFF,0xFF,0xFF,0xFF,
00194   
00195   STACK_MODE,
00196   0xFF,0xFF,0xFF,
00197   0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
00198   htobl(0x00190000),
00199   htobl(0x0028F5C2),
00200   htobs(SLAVE_SCA_PPM), 
00201   MASTER_SCA,
00202   0xFF,
00203   htobs(FROM_US_TO_SYS_TIME(HS_STARTUP_TIME_US)),
00204   0xEE,
00205   0x5F,
00206   0xFF,0xFF,0xFF,
00207   0xFF,
00208   0xFF,   
00209   INT_TO_BCD(YEAR),INT_TO_BCD(MONTH),INT_TO_BCD(DAY),
00210   0xFFFFFFFF,  
00211   0xFFFFFFFF,
00212   0xFFFFFFFF,
00213   0xFFFFFFFF,
00214   0xFFFFFFFF
00215 
00216 };
00217 
00218 #elif BLUENRG_CONFIG == BLUENRG_16_MHZ_RO
00219 
00220 const IFR_config_TypeDef IFR_config = {
00221   0x02,0x34,0x1B,0x03,
00222   0x39,0xA2,0x58,0x00,
00223   0xFF,0xFF,0xFF,0xFF,
00224   0xFF,0xFF,0xFF,0xFF,
00225   0xFF,0xFF,0xFF,0xFF,
00226   0xFF,0xFF,0xFF,0xFF,
00227   0xFF,0xFF,0xFF,0xFF,
00228   0xFF,0xFF,0xFF,0xFF,
00229   0xFF,0xFF,0xFF,0xFF,
00230   0xFF,0xFF,0xFF,0xFF,
00231   0xFF,0xFF,0xFF,0xFF,
00232   0xFF,0xFF,0xFF,0xFF,
00233   0xFF,0xFF,0xFF,0xFF,
00234   0xFF,0xFF,0xFF,0xFF,
00235   0xFF,0xFF,0xFF,0xFF,
00236   0xFF,0xFF,0xFF,0xFF,
00237   
00238   0x02,0x1C,0x53,0x00,
00239   0xFF,0xFF,0xFF,0xFF,
00240   0xFF,0xFF,0xFF,0xFF,
00241   0xFF,0xFF,0xFF,0xFF,
00242   0xFF,0xFF,0xFF,0xFF,
00243   0xFF,0xFF,0xFF,0xFF,
00244   0xFF,0xFF,0xFF,0xFF,
00245   0xFF,0xFF,0xFF,0xFF,
00246   0xFF,0xFF,0xFF,0xFF,
00247   0xFF,0xFF,0xFF,0xFF,
00248   0xFF,0xFF,0xFF,0xFF,
00249   0xFF,0xFF,0xFF,0xFF,
00250   0xFF,0xFF,0xFF,0xFF,
00251   0xFF,0xFF,0xFF,0xFF,
00252   0xFF,0xFF,0xFF,0xFF,
00253   0xFF,0xFF,0xFF,0xFF,
00254   
00255   STACK_MODE,
00256   0xFF,0xFF,0xFF,
00257   0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,
00258   0xFFFFFFFF,
00259   0xFFFFFFFF,
00260   htobs(0x01F4), 
00261   0x00,
00262   0xFF,
00263   htobs(FROM_US_TO_SYS_TIME(HS_STARTUP_TIME_US)),
00264   0xFE,
00265   0x5F,
00266   0xFF,0xFF,0xFF,
00267   0xFF,
00268   0xFF,   
00269   INT_TO_BCD(YEAR),INT_TO_BCD(MONTH),INT_TO_BCD(DAY),
00270   0xFFFFFFFF,  
00271   0xFFFFFFFF,
00272   0xFFFFFFFF,
00273   0xFFFFFFFF,
00274   0xFFFFFFFF  
00275 };
00276 
00277 #else
00278 #warning BLUENRG_CONFIG not valid
00279 #endif
00280 
00281