Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of CDMS_CODE by
Diff: adf.h
- Revision:
- 2:2caf2a9a13aa
- Parent:
- 1:a0055b3280c8
- Child:
- 3:6c81fc8834e2
--- a/adf.h Mon Dec 14 12:04:01 2015 +0000
+++ b/adf.h Tue Dec 22 06:09:48 2015 +0000
@@ -1,6 +1,5 @@
//without reset feature , with state checks.
-DigitalOut led2(LED_RED);
-InterruptIn IRQ(PTA14);
+InterruptIn IRQ(ADF_IRQ);
Ticker ticker;
bool sent_tmfrom_SDcard;
@@ -10,8 +9,8 @@
uint8_t signal = 0x00;
unsigned char bbram_buffer[66]={0x19,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0xF4,0xC2,0x10,0xC0,0x00,0x30,0x31,0x07,0x00,0x01,0x00,0x7F,0x00,0x0B,0x37,0x00,0x00,0x40,0x0C,0x00,0x05,0x00,0x00,0x18,0x12,0x34,0x56,0x10,0x10,0xC4,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00};
-int initialise_card();
-int disk_initialize();
+//int initialise_card();
+//int disk_initialize();
#define bbram_write {\
SPI_mutex.lock();\
@@ -132,18 +131,24 @@
#define initial_adf_check {\
spi.write(CMD_PHY_OFF);\
int tempReturn = 0;\
+ bool flag = false;\
while( hw_reset_err_cnt < 2 ){\
assrt_phy_off( tempReturn);\
if( !tempReturn ){\
bbram_write;\
bbram_flag=1;\
+ flag = true;\
break;\
}\
else{\
hardware_reset(0);\
hw_reset_err_cnt++;\
+ gPC.puts("Resetting hardware\r\n");\
}\
}\
+ if( flag == false ){\
+ gPC.puts("Seems to be SPI problem\r\n");\
+ }\
assrt_phy_off(tempReturn);\
if(!bbram_flag){\
bcn_flag=1;\
@@ -478,7 +483,7 @@
initiate;\
send_data;\
while(loop_on){\
- led2=!led2;\
+ /*led2=!led2;*/\
Thread::signal_wait(COM_MNG_TMTC_SIGNAL_ADF_SD);\
if(ADF_off){\
SPI_mutex.lock();\
@@ -510,7 +515,14 @@
gPC.puts("sending from sd card\r\n");
adf_SND_SDCard;
}
-
+
+//Timeout ADF_non_responsive_timeout;
+//bool ADF_non_responsive_flag = false;
+//
+//void ADF_non_responsive_fun(){
+// ADF_non_responsive_flag = true;
+// gCOM_MNG_TMTC_THREAD->signal_set(signal);
+//}
void adf_not_SDcard(){
buffer_state = true;
@@ -523,23 +535,31 @@
initial_adf_check;
initiate;
send_data;
+
+// gPC.puts("Inside adf transmission\r\n");
+// ADF_non_responsive_timeout.attach(&ADF_non_responsive_fun, 10);
while(loop_on){
- led2=!led2;
Thread::signal_wait(COM_MNG_TMTC_SIGNAL_ADF_NSD);
- 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;
- }else{
- write_data;
- snd_tm.transmit_data(buffer_112,&last_buffer);
- }
+// if( ADF_non_responsive_flag == false ){
+ 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;
+ }else{
+ write_data;
+ snd_tm.transmit_data(buffer_112,&last_buffer);
+ }
+// }
+// else{
+// gPC.puts("ADF non responsive\r\n");
+// break;
+// }
}
}
\ No newline at end of file
