
CDMS code for testing sbc
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of CDMS_CODE by
Diff: COM_MNG_TMTC.h
- Revision:
- 248:407ab7e337cd
- Parent:
- 232:bfce738e43e8
--- a/COM_MNG_TMTC.h Wed Jul 06 08:09:22 2016 +0000 +++ b/COM_MNG_TMTC.h Fri Jul 08 12:53:24 2016 +0000 @@ -50,7 +50,7 @@ uint8_t ACK_CODE; void TM_PMS_PL_SCHEDULE(Base_tm* tm_pointer1,uint8_t psc); -void ACK_L234(Base_tm* tm_pointer_short1,uint8_t ackCode,uint8_t psc); +void ACK_L234(Base_tm* tm_pointer1,uint8_t ackCode,uint8_t psc); #define delete_TC(tc_ptr) {\ if(tc_ptr == gHEAD_NODE_TCL){\ @@ -220,19 +220,19 @@ /*tm_ptr is the next_TM of a linked list, and should have the value NULL, i.e. tm_ptr should be the next_TM pointer of thte last node */ // CDMS TEAM CODE START -void ACK_L234(Base_tm* tm_pointer_short1,uint8_t ackCode,uint8_t psc) +void ACK_L234(Base_tm* tm_pointer1,uint8_t ackCode,uint8_t psc) { - tm_pointer_short1->TM_string[0] = 0xB0; - tm_pointer_short1->TM_string[1] = psc; - tm_pointer_short1->TM_string[2] = ackCode; - tm_pointer_short1->TM_string[3] = 0x00; - tm_pointer_short1->TM_string[4] = 0x00; + tm_pointer1->TM_string[0] = 0xB0; + tm_pointer1->TM_string[1] = psc; + tm_pointer1->TM_string[2] = ackCode; + tm_pointer1->TM_string[3] = 0x00; + tm_pointer1->TM_string[4] = 0x00; for(uint8_t i=0;i<6;i++) - tm_pointer_short1->TM_string[i+5] = 0; - crc16 = crc16_gen(tm_pointer_short1->TM_string,11); - tm_pointer_short1->TM_string[11] = (uint8_t)((crc16&0xFF00)>>8); - tm_pointer_short1->TM_string[12] = (uint8_t)(crc16&0x00FF); - tm_pointer_short1->next_TM = NULL; + tm_pointer1->TM_string[i+5] = 0; + crc16 = crc16_gen(tm_pointer1->TM_string,11); + tm_pointer1->TM_string[11] = (uint8_t)((crc16&0xFF00)>>8); + tm_pointer1->TM_string[12] = (uint8_t)(crc16&0x00FF); + tm_pointer1->next_TM = NULL; } void TM_PMS_PL_SCHEDULE(Base_tm *tm_pointer1,uint8_t psc) { @@ -367,11 +367,8 @@ //uint8_t ACKCODE = 0xB0; bool y; //gPC.printf("\rTC execution in progress\r\n"); - Base_tm *tm_pointer = new Long_tm; + Base_tm *tm_pointer = new Base_tm; Base_tm *tm_ptr = tm_pointer; - //Base_tm *tm_ptr = new Long_tm; - Base_tm *tm_pointer_short = new Short_tm; - Base_tm *tm_ptr_short = tm_pointer_short; received = 0; switch(GETapid(tc_ptr)) //checking APID's { @@ -385,8 +382,8 @@ if(y==1) { - ACK_L234(tm_ptr_short,0x03,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0x03,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(y==0) { @@ -409,17 +406,17 @@ } else if(y==1) { - ACK_L234(tm_ptr_short,0x85,GETpacket_seq_count(tc_ptr)); + ACK_L234(tm_pointer,0x85,GETpacket_seq_count(tc_ptr)); //gPC.printf("\n\rPTE->PDIR = 0x%08X",PTE->PDIR); - return tm_ptr_short; + return tm_ptr; break; } } else if(BAE_I2C_GPIO == 0) //name to be changed later { gPC.printf("BAE_I2C_GPIO is not high\r\n"); - ACK_L234(tm_ptr_short,0x84,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0x84,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } } BAE_I2C_mutex.unlock(); @@ -441,8 +438,8 @@ mid=((uint16_t)(tc_ptr->TC_string[3]<<4))+((uint16_t)(tc_ptr->TC_string[4])); if(mid!=0x0000 && mid!=0x0001) { - ACK_L234(tm_ptr_short,0x02,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0x02,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } FCTN_CDMS_RD_L_RAM(tm_pointer); @@ -465,15 +462,15 @@ if(mid!= && mid!=) //allowable MID values? { - ACK_L234(tm_ptr_short,0x02,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0x02,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } FCTN_CDMS_WR_S_FLASH(tc_ptr); - ACK_L234(tm_ptr_short,???,GETpacket_seq_count(tc_ptr)); //ackCode = ? for success + ACK_L234(tm_pointer,???,GETpacket_seq_count(tc_ptr)); //ackCode = ? for success - return tm_ptr_short; + return tm_ptr; } case 0x6: { @@ -483,20 +480,20 @@ if(mid<0x0002 || mid>0x000A) //allowable MID values? { - ACK_L234(tm_ptr_short,0x02,GETpacket_seq_count(tc_ptr)); //ackCode = ? for invalid mid - return tm_ptr_short; + ACK_L234(tm_pointer,0x02,GETpacket_seq_count(tc_ptr)); //ackCode = ? for invalid mid + return tm_ptr; } ///Send TM for success after writing onto flash FCTN_CDMS_WR_L_FLASH(mid); - return tm_ptr_short; + return tm_ptr; } default: { gPC.printf("INVALID SERVICE SUBTYPE\r\n"); - ACK_L234(tm_ptr_short,0x02,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0x02,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } } } */ @@ -513,13 +510,13 @@ P_PL_INIT(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(CDMS_STANDBY==0) { - ACK_L234(tm_ptr_short,0x87,GETpacket_seq_count(tc_ptr)); //TC cannot be processed now - return tm_ptr_short; + ACK_L234(tm_pointer,0x87,GETpacket_seq_count(tc_ptr)); //TC cannot be processed now + return tm_ptr; } } else if(GETpid(tc_ptr)==0x02) @@ -530,13 +527,13 @@ P_PL_MAIN(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(CDMS_STANDBY==0) { - ACK_L234(tm_ptr_short,0x87,GETpacket_seq_count(tc_ptr)); //TC cannot be processed now - return tm_ptr_short; + ACK_L234(tm_pointer,0x87,GETpacket_seq_count(tc_ptr)); //TC cannot be processed now + return tm_ptr; } } else if(GETpid(tc_ptr)==0x03) @@ -547,13 +544,13 @@ P_COM_INIT(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(CDMS_STANDBY==0) { - ACK_L234(tm_ptr_short,0x87,GETpacket_seq_count(tc_ptr)); //TC cannot be processed now - return tm_ptr_short; + ACK_L234(tm_pointer,0x87,GETpacket_seq_count(tc_ptr)); //TC cannot be processed now + return tm_ptr; } } else if(GETpid(tc_ptr)==0x04) @@ -564,13 +561,13 @@ P_CDMS_HK_MAIN(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(CDMS_STANDBY==0) { - ACK_L234(tm_ptr_short,0x87,GETpacket_seq_count(tc_ptr)); //TC cannot be processed now - return tm_ptr_short; + ACK_L234(tm_pointer,0x87,GETpacket_seq_count(tc_ptr)); //TC cannot be processed now + return tm_ptr; } } else if(GETpid(tc_ptr)==0x05) @@ -581,13 +578,13 @@ P_PL_RCV_SC_DATA(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(CDMS_STANDBY==0) { - ACK_L234(tm_ptr_short,0x87,GETpacket_seq_count(tc_ptr)); //TC cannot be processed now - return tm_ptr_short; + ACK_L234(tm_pointer,0x87,GETpacket_seq_count(tc_ptr)); //TC cannot be processed now + return tm_ptr; } } else if(GETpid(tc_ptr)==0x06) @@ -598,13 +595,13 @@ P_CDMS_INIT_SD(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(CDMS_STANDBY==0) { - ACK_L234(tm_ptr_short,0x87,GETpacket_seq_count(tc_ptr)); //TC cannot be processed now - return tm_ptr_short; + ACK_L234(tm_pointer,0x87,GETpacket_seq_count(tc_ptr)); //TC cannot be processed now + return tm_ptr; } } else if(GETpid(tc_ptr)==0x11) @@ -613,8 +610,8 @@ CDMS_SD_SW_ON(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x21) { @@ -622,8 +619,26 @@ CDMS_SD_SW_OFF(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; + } + else if(GETpid(tc_ptr)==0x12) + { + //gPC.printf("TC_SW_ON_SD\r\n"); // call PWR_SWCH_ON function + + CDMS_RTC_ON(); + + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; + } + else if(GETpid(tc_ptr)==0x22) + { + //gPC.printf("TC_SW_ON_SD\r\n"); // call PWR_SWCH_ON function + + CDMS_RTC_OFF(); + + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x13) { @@ -631,8 +646,8 @@ SW_ON_BAE(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x23) { @@ -640,8 +655,8 @@ SW_OFF_BAE(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x14) { @@ -649,8 +664,8 @@ SW_ON_PL_BEE(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x24) { @@ -658,8 +673,8 @@ SW_OFF_PL_BEE(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x15) { @@ -667,8 +682,8 @@ SW_ON_PL_EPS(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x25) { @@ -676,8 +691,8 @@ SW_OFF_PL_EPS(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x16) { @@ -686,8 +701,8 @@ SW_ON_V_A_EN(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x26) { @@ -695,8 +710,8 @@ SW_OFF_V_A_EN(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x31) { @@ -704,8 +719,8 @@ RST_SD(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x33) { @@ -713,8 +728,8 @@ RST_BAE(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x34) { @@ -722,15 +737,16 @@ RST_PL_BEE(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x38) { //gPC.printf() CDMS_INTERNAL_RESET(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x40) { @@ -738,8 +754,8 @@ RST_HK_COUNTER(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0x41) { @@ -747,14 +763,14 @@ RST_HK_COUNTER(); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0xA0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else if(GETpid(tc_ptr)==0xF1) { //gPC.printf("TC_CDMS_RD_RTC\r\n"); // call PWR_SWCH_ON function - /*uint32_t time_temp = FCTN_CDMS_RD_RTC(); //RTC_RD_EROR has to incorporated + uint32_t time_temp = FCTN_CDMS_RD_RTC(); //RTC_RD_EROR has to incorporated tm_pointer->TM_string[0] = 0x78; tm_pointer->TM_string[1] = GETpacket_seq_count(tc_ptr); tm_pointer->TM_string[2] = 0xA0; @@ -770,27 +786,28 @@ crc16 = crc16_gen(tm_ptr->TM_string,132); tm_pointer->TM_string[132] = (uint8_t)((crc16&0xFF00)>>8); tm_pointer->TM_string[133] = (uint8_t)(crc16&0x00FF); - tm_pointer->next_TM = NULL; - return tm_ptr; */ //incomplete + tm_pointer->next_TM = NULL; //incomplete + return tm_ptr; } else if(GETpid(tc_ptr)==0xF0) { uint8_t statusbits[64]; CDMS_RD_SD_HK(statusbits); - ACK_L234(tm_ptr_short,0xC0,GETpacket_seq_count(tc_ptr)); + ACK_L234(tm_pointer,0xC0,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } else { gPC.printf("INVALID FID\r\n"); - ACK_L234(tm_ptr_short,0x02,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0x02,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } } else { gPC.printf("INVALID SERVICE SUBTYPE\r\n"); - ACK_L234(tm_ptr_short,0x02,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0x02,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } } case 0x70: @@ -890,15 +907,15 @@ else { gPC.printf("INVALID SERVICE SUBTYPE\r\n"); - ACK_L234(tm_ptr_short,0x02,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0x02,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } } default: { gPC.printf("ILLEGAL TC"); - ACK_L234(tm_ptr_short,0x02,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0x02,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } } } @@ -914,8 +931,8 @@ if(y==1) { - ACK_L234(tm_ptr_short,0x03,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0x03,GETpacket_seq_count(tc_ptr)); + return tm_ptr; break; } else if(y==0) @@ -940,28 +957,27 @@ } else if(y==1) { - ACK_L234(tm_ptr_short,0x85,GETpacket_seq_count(tc_ptr)); + ACK_L234(tm_pointer,0x85,GETpacket_seq_count(tc_ptr)); //gPC.printf("\n\rPTE->PDIR = 0x%08X",PTE->PDIR); - return tm_ptr_short; + return tm_ptr; break; } } else if(PL_I2C_Intr == 0) //name to be changed later { gPC.printf("PL_I2C_Intr is not high\r\n"); - ACK_L234(tm_ptr_short,0x84,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0x84,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } } } default: //invalid TC { gPC.printf("INVALID TC\r\n"); - ACK_L234(tm_ptr_short,0x02,GETpacket_seq_count(tc_ptr)); - return tm_ptr_short; + ACK_L234(tm_pointer,0x02,GETpacket_seq_count(tc_ptr)); + return tm_ptr; } } - return; } // CDMS TEAM CODE END // EXECUTE OBOSC