publishing to check changes in cdms code
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of CDMS_CODE_samp_23SEP_DMA_flag by
Diff: adf.h
- Revision:
- 70:c4a9b78d1c89
- Parent:
- 9:e9eaada136c6
--- a/adf.h Wed Jan 06 13:24:24 2016 +0000 +++ b/adf.h Thu Jan 14 14:47:06 2016 +0000 @@ -420,13 +420,25 @@ }\ } - void check(){ if(IRQ){ gCOM_MNG_TMTC_THREAD->signal_set(signal); } } - + +void configure_adf(){ + finish_write_data = false; + buffer_state = true; + last_buffer = false; + loop_on = true; + ADF_off = false; + /*initial adf check*/ + initial_adf_check; + gPC.puts("initial adf check\r\n"); + initiate; +// gPC.puts("initiate done\r\n"); + gPC.puts("adf configured\r\n"); +} #define send_data {\ if(sent_tmfrom_SDcard){\ @@ -470,35 +482,35 @@ #define adf_SND_SDCard {\ - buffer_state = true;\ - last_buffer = false;\ - loop_on = true;\ - ADF_off = false;\ sent_tmfrom_SDcard = true;\ + configure_adf();\ signal = COM_MNG_TMTC_SIGNAL_ADF_SD;\ - start_block_num = starting_add;\ - end_block_num = ending_add;\ - initial_adf_check;\ - initiate;\ send_data;\ - while(loop_on){\ - /*led2=!led2;*/\ - gCOM_MNG_TMTC_THREAD->signal_wait(COM_MNG_TMTC_SIGNAL_ADF_SD);\ - if(ADF_off){\ - SPI_mutex.lock();\ - ticker.detach();\ - gCS_ADF=0;\ - spi.write(0xB1);\ - gCS_ADF=1;\ - SPI_mutex.unlock();\ - gPC.puts("transmission done\r\n");\ - loop_on = false;\ - }else{\ - write_data;\ - if(!last_buffer)\ - send_tm_from_SD_card();\ - }\ - }\ + + while(loop_on){ + gCOM_MNG_TMTC_THREAD->signal_wait(COM_MNG_TMTC_SIGNAL_ADF_SD); +// if( ADF_non_responsive_flag == false ){ + if(finish_write_data){ + if(ADF_off){ + SPI_mutex.lock(); + ticker.detach(); + // wait_ms(35); + gCS_ADF=0; + spi.write(0xB1); + gCS_ADF=1; + SPI_mutex.unlock(); + loop_on = false; + gPC.puts("Transmission done\r\n"); + } + else{ + ADF_off = true; + } + } + else{ + write_data; + snd_tm.transmit_data(buffer_112,&last_buffer); + } + } } void read_TC(Base_tc* TC_ptr){ @@ -523,19 +535,7 @@ // gCOM_MNG_TMTC_THREAD->signal_set(signal); //} -void configure_adf(){ - finish_write_data = false; - buffer_state = true; - last_buffer = false; - loop_on = true; - ADF_off = false; - /*initial adf check*/ - initial_adf_check; - gPC.puts("initial adf check\r\n"); - initiate; -// gPC.puts("initiate done\r\n"); - gPC.puts("adf configured\r\n"); -} + void adf_not_SDcard(){ sent_tmfrom_SDcard = false; @@ -547,7 +547,7 @@ // ADF_non_responsive_timeout.attach(&ADF_non_responsive_fun, 10); while(loop_on){ - gCOM_MNG_TMTC_THREAD->signal_wait(COM_MNG_TMTC_SIGNAL_ADF_NSD); + gCOM_MNG_TMTC_THREAD->signal_wait(COM_MNG_TMTC_SIGNAL_ADF_SD); // if( ADF_non_responsive_flag == false ){ if(finish_write_data){ if(ADF_off){ @@ -574,4 +574,36 @@ // break; // } } -} \ No newline at end of file +} +// +//#define adf_SND_SDCard {\ +// buffer_state = true;\ +// last_buffer = false;\ +// loop_on = true;\ +// ADF_off = false;\ +// sent_tmfrom_SDcard = true;\ +// signal = COM_MNG_TMTC_SIGNAL_ADF_SD;\ +// start_block_num = starting_add;\ +// end_block_num = ending_add;\ +// initial_adf_check;\ +// initiate;\ +// send_data;\ +// while(loop_on){\ +// /*led2=!led2;*/\ +// gCOM_MNG_TMTC_THREAD->signal_wait(COM_MNG_TMTC_SIGNAL_ADF_SD);\ +// if(ADF_off){\ +// SPI_mutex.lock();\ +// ticker.detach();\ +// gCS_ADF=0;\ +// spi.write(0xB1);\ +// gCS_ADF=1;\ +// SPI_mutex.unlock();\ +// gPC.puts("transmission done\r\n");\ +// loop_on = false;\ +// }else{\ +// write_data;\ +// if(!last_buffer)\ +// send_tm_from_SD_card();\ +// }\ +// }\ +//} \ No newline at end of file