working version

Dependencies:   mbed mbed-rtos SimpleDMA FreescaleIAP eeprom

Fork of CDMS_CODE_FM_28JAN2017 by samp Srinivasan

Revision:
357:f3d48d62e00e
Parent:
356:197c93dc2012
--- a/DefinitionsAndGlobals.h	Sat Feb 10 09:06:26 2018 +0000
+++ b/DefinitionsAndGlobals.h	Sun Apr 03 15:35:53 2022 +0000
@@ -17,8 +17,8 @@
     #define SPI_CLK PTE2
     #define SPI_CS_ADF PTA15
     #define SPI_CS_SDC PIN20
-   // #define SPI_CS_RTC PIN26 // actual
-    #define SPI_CS_RTC PIN60 // sbc with jumper v1.0
+    #define SPI_CS_RTC PIN26 // actual changed Mar 7 2018
+   // #define SPI_CS_RTC PIN60 // sbc with jumper v1.0
     
 // COM_TX
     #define COM_TX_CONFIG_LIMIT 3
@@ -39,15 +39,15 @@
     #define SBC 1
     
   //  #if SBC
-    DigitalOut CDMS_I2C_GPIO(PIN67,1);
-    DigitalIn BAE_I2C_GPIO(PIN1);
+   // DigitalOut CDMS_I2C_GPIO(PIN67,1);
+   // DigitalIn BAE_I2C_GPIO(PIN1);
     uint32_t pdir_ss1;
     uint8_t i2c_count_cdms_bae;
   //  #endif
     
   //  #if !SBC
-  //  DigitalIn BAE_I2C_GPIO(PIN67);
-  //  DigitalOut CDMS_I2C_GPIO(PIN39,0);    
+    DigitalIn BAE_I2C_GPIO(PIN67);
+    DigitalOut CDMS_I2C_GPIO(PIN39,0);    
 // #endif
 
 // TC LIST
@@ -138,7 +138,7 @@
     #define OBOSC_SUB_RESET 0x07
     
 // PAYLOAD or SCIENCE
-    #define PAYLOAD_BUFFER_LENGTH 6723  // 6723
+    #define PAYLOAD_BUFFER_LENGTH 3363  // 6723
     #define PAY_SPI_MOSI PTE18
     #define PAY_SPI_MISO PTE19
     #define PAY_SPI_CLK PTE17
@@ -157,10 +157,10 @@
     #define BAE_RESET_PID 0x33
 
 //RF RELAY
-  //  #define RF_RELAY_CNTRL_TX PTA12
-  //  #define RF_RELAY_CNTRL_BCN PTA7 
-  #define RF_RELAY_CNTRL_TX PTB7
-    #define RF_RELAY_CNTRL_BCN PTB17 
+    #define RF_RELAY_CNTRL_TX PTA12     //chenged Mar 07 2018
+    #define RF_RELAY_CNTRL_BCN PTA7 
+  //#define RF_RELAY_CNTRL_TX PTB7
+    //#define RF_RELAY_CNTRL_BCN PTB17 
     
 //CDMS HK
 #define HK_SIGNAL 0x05
@@ -171,6 +171,15 @@
 #define DEVICE_OC_FAULT 0x02
 #define DEVICE_DISABLED 0x03
 
+//CDMS HK SYS_RESET
+#define T_WAIT_RST 0x00
+#define T_OFF_RST 0x0A
+#define T_RST 0x02
+#define T_RETRY_RST 0x1E
+
+//CDMS TIME_INIT
+#define T_INI 0x02
+
 
     
 // ****************GLOBAL VARIABLES******************
@@ -245,6 +254,7 @@
 // PAYLOAD OR SCIENCE_THREAD
 Thread* gSCIENCE_THREAD = NULL;
 uint8_t gPAYLOAD_BUFFER[PAYLOAD_BUFFER_LENGTH] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,1,44,1,44,1,44,1,44,1,44,1,188,2,188,2,188,2,188,2,88,2,88,2,88,2,88,2,100,0,100,0,200,0,200,0,244,1,244,1,88,2,88,2,208,2,208,2,246,0,246,0,10,0,250,0,250,0,250,0,120,0,0,0,172,13,0,0,184,11,0,0,160,15,0,0};
+//uint8_t gPAYLOAD_BUFFER[PAYLOAD_BUFFER_LENGTH] = {0};
 RtosTimer *PL_wo_dma;
 
 // CALL SIGN TM
@@ -253,7 +263,11 @@
 //HK Thread
 Thread* gHK_THREAD = NULL;
 RtosTimer *HK_counter;
-
+/*
+Startup_timer
+Thread* gST_UP = NULL;
+RtosTimer *St_upTimer
+*/
 // CDMS HK
 uint8_t CDMS_STANDBY;
 uint8_t CDMS_HEALTH_DATA[128];
@@ -310,7 +324,7 @@
 //DigitalOut TRXY_EN (PIN84);//TRXY EN
 //DigitalOut TRZ_EN (PIN88);//TRZ EN
 DigitalOut V_A_EN (PIN99,1);//TRZ FLT (no INTR capability)
-DigitalIn sys_pwr_rst (PIN46);//PTD3
+DigitalInOut sys_pwr_rst (PIN46, PIN_INPUT, PullNone, 0);//PTA16
 
 DigitalOut PYLD_DFF (PIN73);//PYLD_SW_PWR_EN_DIS
 DigitalOut PYLD_DFF_CLK (PIN65);//PL_3V3_EN_CLK
@@ -344,6 +358,8 @@
 uint32_t TIME_LATEST_SD_WR;
 uint32_t TIME_LATEST_SD_RD;
 uint32_t TIME_LATEST_SPI_SPEED;
+uint64_t TIME_LATEST_CDMS_EPS_RST;
+uint64_t TIME_LATEST_CDMS_EPS_RST_BACKUP;
 
 //Counter's
 uint16_t CDMS_I2C_ERR_SPEED_COUNTER = 0;
@@ -374,13 +390,14 @@
 uint8_t EN_CDMS_HK = 1;
 uint8_t EN_PL = 1;
 uint8_t EN_RCV_SC = 1;
+uint8_t EN_P_MGMT = 0;
 uint8_t CDMS_INIT_STATUS;
 uint8_t CDMS_HK_STATUS;
 uint8_t COM_RX_STATUS;
 uint8_t CDMS_RTC_BL;
 
 
-//CDMS FLASH parameters
+//CDMS EEPROM parameters
 
 uint8_t EPS_V_A_EN_STATUS;
 //uint8_t BAE_SW_STATUS;
@@ -399,9 +416,18 @@
 uint8_t COM_PA_RECOVERY_TIMEOUT;
 uint8_t COM_SESSION_TIMEOUT = 240;  //confirm with Anirudh 
 uint8_t COM_RSSI_MIN;
+uint8_t TC_count;
 //uint16_t SD_LIB_BLK_CURRENT_1;
 //uint16_t SD_LIB_BLK_CURRENT_2;
+//COM threshold
 uint32_t SD_LIB_BLK_CURRENT;
+uint32_t sfp_threshold_m0[52]  = {124,124,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,4032,252,252,252,252,252,4032,8128,8128,8128,8128,8128,8128,8128,8128,960,960,960,960,960,960,960,960,960,960,960,960,4032,4032,4032,4032,8128,8128,8128,8128};
+uint32_t scp_threshold_m0[52]  = {4032,4032,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,114688,8128,4032,4032,4032,4032,114688,245760,245760,245760,245760,245760,245760,245760,245760,49152,49152,49152,49152,49152,49152,49152,49152,49152,49152,49152,49152,114688,114688,114688,114688,245760,245760,245760,245760};
+uint32_t scp_threshold_m0_1[9] = {114688,245760,245760,245760,245760,114688,114688,65472,65472} ; //for callibrated mode with data conservation
+uint32_t scp_sfp_threshold_m0_2[3] = {245760,65472,65472};
+uint32_t sfp_threshold_m1[52]  = {1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,1984,8128,8128,8128,8128};
+uint32_t scp_threshold_m1[52]  = {114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,114688,245760,245760,245760,245760};
+
 
 // Ambigouties
 uint8_t EN_RTC = 0x01;
@@ -411,3 +437,9 @@
 uint8_t COM_OC_SET = 0;
 uint8_t COM_RSSI_SET = 0;
 uint8_t resume_pl_dma = 0;
+
+//For power mode MGMT
+uint8_t POWER_MODE;
+
+//For sleep 
+bool expired;
\ No newline at end of file