working version
Dependencies: mbed mbed-rtos SimpleDMA FreescaleIAP eeprom
Fork of CDMS_CODE_FM_28JAN2017 by
Revision 307:6654e7908e57, committed 2016-11-22
- Comitter:
- ee12b079
- Date:
- Tue Nov 22 08:43:13 2016 +0000
- Parent:
- 306:82b7d137db31
- Commit message:
- testing
Changed in this revision
| adf.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/adf.h Sat Oct 29 11:39:30 2016 +0000
+++ b/adf.h Tue Nov 22 08:43:13 2016 +0000
@@ -99,7 +99,18 @@
stop_transmission=false;\
}
+/*Added on 29th October 2016**/
+bool dummy_digitalOut_1=0;
+#define power_reset{\
+ dummy_digitalOut_1=0;\
+ wait_ms(10);\
+ dummy_digitalOut_1=1;\
+ power_reset_flag=false;\
+ power_reset_count++;\
+ wait_ms(10);\
+ }\
+/**********************/
int err_arr[64];
bool bbram_err=false;
int err_idx=-1;
@@ -217,9 +228,14 @@
}\
}
-
+#define HW_RESET_THRS 5
bool hardware_reset(int bcn_call)
-{
+{
+ if(hw_reset_err_cnt>HW_RESET_THRS){
+ power_reset_flag=true;
+ power_reset;
+ return 0;
+ }
for(int i= 0; i < 2 ; i++) {
gCS_ADF=0;
spi.write(CMD_HW_RESET);
@@ -395,7 +411,7 @@
/*gPC.printf("I 0x%X\r\n",(int)status);*/\
if(IRQ){\
/*Reset the timer*/\
- /*T.reset();*/\
+ T.reset();\
/*gPC.printf("det\r\n");*/\
if(!ADF_off) {\
if(finish_write_data || restart_adf_flag) {\
@@ -424,16 +440,16 @@
wait_us(2000);\
}\
/*Stop_the_Timer*/\
- /*T.stop();*/\
+ T.stop();\
}\
}\
- /*else{*/\
- /*if(T.read_us()>98000){*/\
- /*data_irq_err=true;*/\
- /*CMD(CMD_PHY_ON);*/\
- /*gPC.printf("Data_error_detected");*/\
- /*}*/\
- /*}*/\
+ else{\
+ if(T.read_us()>98000){\
+ data_irq_err=true;\
+ CMD(CMD_PHY_ON);\
+ gPC.printf("Data_error_detected");\
+ }\
+ }\
}
#define send_data {\
@@ -572,8 +588,12 @@
initial_adf_check;\
gPC.puts("Config_part done\r\n");\
}
-
+
+//int power_reset_count=0;
+#define POWER_RESET_THRS 2
+ bool hw_reset_flag=false;
#define transmit_adf {\
+while(power_reset_count<POWER_RESET_THRS){\
restart_adf_flag=false;\
bool tx_err=false;\
configure_adf;\
@@ -590,8 +610,17 @@
wait_us(20);\
check;\
if(data_irq_err||tx_err){\
+ hw_reset_err_cnt++;\
+ hw_reset_flag=true;\
break;\
}\
}\
- /*gPC.puts("after while loop\r\n");*/\
+ if(hw_reset_flag==true){\
+ hardware_reset(0);\
+ }\
+ else{\
+ break;\
+ }\
+ gPC.puts("after while loop\r\n");\
+}\
}
