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_samp_23SEP_DMA_flag by
Revision 264:f7d8f9f361e3, committed 2016-07-14
- Comitter:
- aniruddhv
- Date:
- Thu Jul 14 23:05:09 2016 +0000
- Parent:
- 263:3b872778b8c7
- Child:
- 265:ab1b6b569b69
- Child:
- 266:ae588e75cfa4
- Commit message:
- Latest_code - Partially Integrated aniruddh's revision, made changes in i2c , PA_HOT, OC_SW to be tested later, Long Beacon not received somtimes alternatively
Changed in this revision
--- a/CDMS_HK.h Thu Jul 14 19:54:27 2016 +0000
+++ b/CDMS_HK.h Thu Jul 14 23:05:09 2016 +0000
@@ -147,7 +147,12 @@
crc = crc16_gen(SC_HK_LBM_0,133);
SC_HK_LBM_0[132] = crc;
SC_HK_LBM_0[133] = crc >> 8;
- FCTN_I2C_WRITE((char *)SC_HK_LBM_0,135);
+ bool y;
+ y = FCTN_I2C_WRITE((char *)SC_HK_LBM_0,135);
+ if(y == 0)
+ gPC.printf("long Bcn sent\n\r");
+ else
+ gPC.printf("long Bcn not sent\r\n");
gPC.printf("\rCompleted Beacon\n");
gMutex.unlock();
}
--- a/COM_MNG_TMTC.h Thu Jul 14 19:54:27 2016 +0000
+++ b/COM_MNG_TMTC.h Thu Jul 14 23:05:09 2016 +0000
@@ -365,19 +365,22 @@
y = FCTN_I2C_WRITE((char*)tc_ptr->TC_string,TC_LONG_SIZE); // Check for SHORT and LONG TC and then send
if(y==1)
- {
+ {
+ gPC.printf("BAE write fail\r\n");
ACK_L234(tm_ptr_short,0x03,GETpacket_seq_count(tc_ptr));
return tm_ptr_short;
}
else if(y==0)
{
+ gPC.printf("BAE write succe\r\n");
//wait(0.2);
- uint8_t poll=0;
- while(poll<60 && BAE_I2C_GPIO==0)
+ int poll=0;
+ while(poll<9000 && BAE_I2C_GPIO==0)
{
- wait_ms(50);
+ wait_us(10);
poll+=1;
- }
+ }
+ //while(BAE_I2C_GPIO==0){}
if(BAE_I2C_GPIO == 1) //name to be changed later
{
gPC.printf("BAE_I2C_GPIO is high\r\n");
@@ -385,11 +388,13 @@
y=FCTN_I2C_READ((char*)tm_pointer->TM_string,TM_LONG_SIZE); //rify later about the size
if(y==0)
{
+ gPC.printf("BAE read success\r\n");
tm_pointer->next_TM=NULL;
return tm_ptr;
}
else if(y==1)
{
+ gPC.printf("BAE read fail\r\n");
ACK_L234(tm_ptr_short,0x85,GETpacket_seq_count(tc_ptr));
//gPC.printf("\n\rPTE->PDIR = 0x%08X",PTE->PDIR);
return tm_ptr_short;
@@ -1074,10 +1079,10 @@
else if(y==0)
{
//wait(0.2);
- uint8_t poll=0;
- while(poll<60 && PL_I2C_Intr==0)
+ int poll=0;
+ while(poll<900 && PL_I2C_Intr==0)
{
- wait_ms(50);
+ wait_us(10);
poll+=1;
}
if(PL_I2C_Intr == 1) //name to be changed later
--- a/COM_POWER_OFF_TX.h Thu Jul 14 19:54:27 2016 +0000
+++ b/COM_POWER_OFF_TX.h Thu Jul 14 23:05:09 2016 +0000
@@ -70,7 +70,7 @@
}
#define COM_POWER_OFF_TX {\
- /*gPC.puts("Inside COM_POWER_OFF_TX\r\n");*/\
+ gPC.puts("Inside COM_POWER_OFF_TX\r\n");\
COM_TX_CNTRL = 0;\
RX1M.attach(&rx_read, Serial::RxIrq);\
gFLAGS = gFLAGS & (~COM_MNG_TMTC_RUNNING_FLAG);\
@@ -79,12 +79,15 @@
RF_SW_CNTRL_BCN = 0;\
gFLAGS = gFLAGS | RF_SW_STATUS_FLAG;\
if( gFLAGS & COM_AUTO_POWER_OFF_BAE_FLAG ){\
+ gPC.puts("powering on bae\r\n");\
SW_ON_BAE;\
gFLAGS & (~COM_AUTO_POWER_OFF_BAE_FLAG);\
+ gPC.puts("resumning bcn\r\n");\
resume_bcn;\
}\
else{\
- if( gFLAGS & BAE_SW_EN_FLAG ){\
+ if( /*gFLAGS & BAE_SW_EN_FLAG*/true ){\
+ gPC.puts("resumning bcn2\r\n");\
resume_bcn;\
}\
}\
@@ -93,5 +96,5 @@
gCOM_PA_COOLING_TIMEOUT.detach();\
gFLAGS = gFLAGS & (~COM_TX_FLAG);\
gFLAGS = gFLAGS & (~COM_SESSION_TIMEOUT_FLAG);\
- /*gPC.puts("completed com_power_off tx\r\n");*/\
+ gPC.puts("completed com_power_off tx\r\n");\
}
\ No newline at end of file
--- a/COM_POWER_ON_TX.h Thu Jul 14 19:54:27 2016 +0000
+++ b/COM_POWER_ON_TX.h Thu Jul 14 23:05:09 2016 +0000
@@ -115,16 +115,22 @@
gPC.puts("Inside COM_POWER_ON_TX\r\n");
if( !(gFLAGS & COM_TX_FLAG) ){
gFLAGS = gFLAGS | COM_TX_FLAG;
+ gPC.puts("Inside COM_TX_FLAG\r\n");
+ gFLAGS = gFLAGS | BAE_SW_EN_FLAG ;
if( gFLAGS & BAE_SW_EN_FLAG ){
/*WARNING: INFINITE WHILE LOOP POSSIBLE: if standby ack received and bcn tx main status = 0*/
bool retryFlag = true;
while( retryFlag == true ){
Base_tm *tm_ptr = NULL;
+ gPC.puts("setting Bcn off\r\n");
+ wait(1);
SET_BCN_STANDBY(tm_ptr);
+ gPC.puts("set Bcn off\r\n");
uint8_t bcn_main_status = (tm_ptr->TM_string[2] & 0xEF);
if(( bcn_main_status == 0xC0 )||( bcn_main_status ==0xA0 )){
/*ACK RECCEIVED*/
if( bcn_main_status == 0xA0 ){
+ gPC.puts("A0\r\n");
retryFlag = false;
RF_SW_CNTRL_TX = 1;
Thread::wait(25);
@@ -132,17 +138,22 @@
gFLAGS = gFLAGS & (~RF_SW_STATUS_FLAG);/*RF_SW_STATUS_FLAG set to RF_COM_TX*/
}
else{
+ gPC.puts("diff\r\n");
Thread::wait(5000);
}
}
else{
+ gPC.puts("not A0\r\n");
SW_RST_BAE();
Base_tm *tm_ptr2 = NULL;
+ gPC.puts("set bcn off\r\n");
SET_BCN_STANDBY(tm_ptr2);
+ gPC.puts("bcn off\r\n");
uint8_t standbyAck2 = 0;
uint8_t bcn_main_status2 = (tm_ptr2->TM_string[2] & 0xEF);
if( ( bcn_main_status2 == 0xC0 )||( bcn_main_status2 == 0xA0 ) ){
if( bcn_main_status2 == 0xA0 ){
+ gPC.puts("ack = A0\r\n");
retryFlag = false;
RF_SW_CNTRL_TX = 1;
Thread::wait(25);
@@ -150,12 +161,15 @@
gFLAGS = gFLAGS & (~RF_SW_STATUS_FLAG);
}
else{
+ gPC.puts("ack = C0\r\n");
Thread::wait(5000);
}
}
else{
+ gPC.puts("sw off BAE\r\n");
retryFlag = false;
SW_OFF_BAE();
+ gPC.puts("swd off BAE\r\n");
gFLAGS = gFLAGS | COM_AUTO_POWER_OFF_BAE_FLAG;
RF_SW_CNTRL_TX = 1;
Thread::wait(25);
@@ -196,12 +210,14 @@
}
}
else{
+ gPC.puts("RF_SW_CNTRL_TX\r\n");
RF_SW_CNTRL_TX = 1;
Thread::wait(25);
RF_SW_CNTRL_TX = 0;
gFLAGS = gFLAGS & (~RF_SW_STATUS_FLAG);/*RF_SW_STATUS_FLAG set to RF_COM_TX*/
}
}
+ gPC.puts("swd off BAE\r\n");
COM_TX_CNTRL = 1;
uint8_t adfConfigPass = 0xFF;
for( int i = 0 ; i < COM_TX_CONFIG_LIMIT ; ++i ){
@@ -362,5 +378,5 @@
}
RESET_CDMS_TC;
}
- /*gPC.puts("COMPLETED COM_POWER_ON_TX\r\n");*/
+ gPC.puts("COMPLETED COM_POWER_ON_TX\r\n");
}
\ No newline at end of file
--- a/DefinitionsAndGlobals.h Thu Jul 14 19:54:27 2016 +0000
+++ b/DefinitionsAndGlobals.h Thu Jul 14 23:05:09 2016 +0000
@@ -33,8 +33,20 @@
DigitalOut PL_I2C_GPIO(PTC1);
//I2C - CDMS to BAE
- DigitalIn BAE_I2C_GPIO(PIN67);//PTB21 from bae to cdms
- DigitalOut CDMS_I2C_GPIO(PIN39);//PTA5 from cdms to bae
+ //DigitalIn BAE_I2C_GPIO(PIN67);//PTB21 from bae to cdms
+ //DigitalOut CDMS_I2C_GPIO(PIN39);//PTA5 from cdms to bae
+
+ #define SBC 1
+
+ #if SBC
+ DigitalOut CDMS_I2C_GPIO(PIN67);
+ DigitalIn BAE_I2C_GPIO(PIN1);
+ #endif
+
+ #if !SBC
+ DigitalIn BAE_I2C_GPIO(PIN67);
+ DigitalOut CDMS_I2C_GPIO(PIN39);
+ #endif
// TC LIST
#define TCL_STATE_INCOMPLETE 0x00
--- a/ThreadsAndFunctions.h Thu Jul 14 19:54:27 2016 +0000
+++ b/ThreadsAndFunctions.h Thu Jul 14 23:05:09 2016 +0000
@@ -194,8 +194,11 @@
gFLAGS = gFLAGS | COM_SESSION_VALIDITY;
//sys_reset_cdms_timer->start(cdms_reset_timeout);
COM_POWER_ON_TX();
+ gPC.puts("P_com_hk !!\r\n");
P_COM_HK;
+ gPC.puts("P_com_hk !!\r\n");
if( (gFLAGS & COM_PA_HOT_FLAG) || ( gFLAGS & COM_PA_OC_FLAG ) ){
+ gPC.puts("Pahot or paoc !!\r\n");
COM_TX_CNTRL = 0;
gCOM_PA_COOLING_TIMEOUT.attach(&after_cooling_pa, COM_PA_COOLING_TIME_LIMIT);
gFLAGS = gFLAGS & (~COM_MNG_TMTC_RUNNING_FLAG);
--- a/common_functions.h Thu Jul 14 19:54:27 2016 +0000
+++ b/common_functions.h Thu Jul 14 23:05:09 2016 +0000
@@ -138,18 +138,18 @@
uint8_t returnHere;\
isPAhot(returnHere);\
if (returnHere == 0xFF)\
- gFLAGS = gFLAGS & ~(COM_PA_HOT_FLAG);\
+ gFLAGS = gFLAGS | COM_PA_HOT_FLAG;\
else\
- gFLAGS = gFLAGS | COM_PA_HOT_FLAG;\
+ gFLAGS = gFLAGS & ~(COM_PA_HOT_FLAG);\
if (gFLAGS & COM_PA_OC_FLAG){\
COM_TX_CNTRL = 1;\
wait_ms(5);\
}\
isPAoc(returnHere);\
if (returnHere == 0xFF)\
- gFLAGS = gFLAGS & ~(COM_PA_OC_FLAG);\
+ gFLAGS = gFLAGS | COM_PA_OC_FLAG;\
else\
- gFLAGS = gFLAGS | COM_PA_OC_FLAG;\
+ gFLAGS = gFLAGS & ~(COM_PA_OC_FLAG);\
/*P_CDMS_HANDLE_HW_FAULTS*/\
}
@@ -171,19 +171,25 @@
pa_temp = 3365.4/log(7.60573*resistance);\
}\
pa_temp_quant = quantiz(tstart_thermistor,tstep_thermistor,pa_temp);\
+ pa_temp_quant = 0;\
if (pa_temp_quant > COM_PA_TMP_HIGH){\
- returnHere = 0;\
+ returnHere = 0xFF;\
+ gPC.puts("PA is measured HOT\r\n");\
}\
else{\
- returnHere = 0xFF;\
+ returnHere = 0;\
+ gPC.puts("PA is measured not HOT\r\n");\
}\
}
#define isPAoc(returnHere){\
- if (COM_TX_OC_FAULT)\
+ if (COM_TX_OC_FAULT){\
+ returnHere = 0xFF;\
+ }\
+ else{\
returnHere = 0;\
- else\
- returnHere = 0xFF;\
+ }\
+ returnHere = 0;\
}
#define get_call_sign(tm_ptr) {\
--- a/main.cpp Thu Jul 14 19:54:27 2016 +0000
+++ b/main.cpp Thu Jul 14 23:05:09 2016 +0000
@@ -165,6 +165,8 @@
gPC.puts("allocating threads\r\n");
#endif
+ // COM_POWER_ON_TX();
+
// COM_MNG_TMTC THREAD
gCOM_MNG_TMTC_THREAD = new Thread(COM_MNG_TMTC_FUN);
gCOM_MNG_TMTC_THREAD->set_priority(osPriorityHigh);
