working version
Dependencies: mbed mbed-rtos SimpleDMA FreescaleIAP eeprom
Fork of CDMS_CODE_FM_28JAN2017 by
main.cpp@334:71e9f4fdb387, 2016-12-10 (annotated)
- Committer:
- ee12b079
- Date:
- Sat Dec 10 16:24:56 2016 +0000
- Revision:
- 334:71e9f4fdb387
- Parent:
- 311:af5ab655ba00
testing
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shreeshas95 | 7:fcd26c28411d | 1 | // TESTING PUSH PULL IN MAIN CPP |
shreeshas95 | 7:fcd26c28411d | 2 | |
shreeshas95 | 0:f016e9e8d48b | 3 | #include "mbed.h" |
ee12b079 | 98:fd99ddc0e0a1 | 4 | |
ee12b079 | 99:efde3df6cd94 | 5 | #define DEBUG 1 |
ee12b079 | 98:fd99ddc0e0a1 | 6 | |
shreeshas95 | 101:bece931236a2 | 7 | #include "SimpleDMA.h" |
shreeshas95 | 101:bece931236a2 | 8 | #include "dmaSPIslave.h" |
shreeshas95 | 0:f016e9e8d48b | 9 | #include "rtos.h" |
shreeshas95 | 1:a0055b3280c8 | 10 | #include "mbed_debug.h" |
aniruddhv | 262:752c8689944a | 11 | void rx_read(); |
shreeshas95 | 0:f016e9e8d48b | 12 | #include "Structures.h" |
shreeshas95 | 103:b55559925dc1 | 13 | #include "pinconfig.h" |
shreeshas95 | 0:f016e9e8d48b | 14 | #include "DefinitionsAndGlobals.h" |
shreeshas95 | 0:f016e9e8d48b | 15 | #include "crc.h" |
shreeshas95 | 103:b55559925dc1 | 16 | #include "i2c.h" |
shreeshas95 | 1:a0055b3280c8 | 17 | #include "COM_SND_TM_functions.h" |
ee12b079 | 289:9bd62b69874c | 18 | #include "Flash.h" |
ee12b079 | 210:f4acf895b598 | 19 | #include "cdms_rtc.h" |
ee12b079 | 300:609c3e4240c9 | 20 | #include "COM_SND_TM.h" |
ee12b079 | 99:efde3df6cd94 | 21 | #include "cdms_sd.h" |
krishanprajapat | 117:bfdc807f3d3c | 22 | #include "common_functions.h" |
ee12b079 | 210:f4acf895b598 | 23 | #include "RESET_functions.h" |
ee12b079 | 289:9bd62b69874c | 24 | #include "CDMS_PL.h" |
ee12b079 | 210:f4acf895b598 | 25 | #include "CDMS_HK.h" |
shreeshas95 | 1:a0055b3280c8 | 26 | #include "adf.h" |
shreeshas95 | 0:f016e9e8d48b | 27 | #include "COM_RCV_TC.h" |
ee12b079 | 210:f4acf895b598 | 28 | #include "FMS_all.h" |
chaithanyarss | 261:1e54415b34d3 | 29 | #include "Compression.h" |
shreeshas95 | 0:f016e9e8d48b | 30 | #include "COM_MNG_TMTC.h" |
aniruddhv | 262:752c8689944a | 31 | #include "COM_POWER_OFF_TX.h" |
shreeshas95 | 4:104dd82c99b8 | 32 | #include "COM_POWER_ON_TX.h" |
aniruddhv | 262:752c8689944a | 33 | #include "OBSRS.h" |
shreeshas95 | 0:f016e9e8d48b | 34 | #include "ThreadsAndFunctions.h" |
ee12b079 | 210:f4acf895b598 | 35 | #include "TEST_PL.h" |
shreeshas95 | 0:f016e9e8d48b | 36 | |
shreeshas95 | 0:f016e9e8d48b | 37 | int main() |
prasanthbj05 | 267:783c248a6207 | 38 | { |
ee12b079 | 284:5bfd48ce169d | 39 | |
ee12b079 | 285:fe33b39dd267 | 40 | //RELAY SWITCHING |
ee12b079 | 284:5bfd48ce169d | 41 | |
ee12b079 | 285:fe33b39dd267 | 42 | |
ee12b079 | 334:71e9f4fdb387 | 43 | |
ee12b079 | 285:fe33b39dd267 | 44 | RF_SW_CNTRL_BCN = 1; |
ee12b079 | 285:fe33b39dd267 | 45 | Thread::wait(25); |
ee12b079 | 285:fe33b39dd267 | 46 | RF_SW_CNTRL_BCN = 0; |
ee12b079 | 284:5bfd48ce169d | 47 | PYLD_DFF = 1; |
ee12b079 | 284:5bfd48ce169d | 48 | |
ee12b079 | 284:5bfd48ce169d | 49 | for(int i= 0; i< 10 ; i++) |
ee12b079 | 284:5bfd48ce169d | 50 | {PYLD_DFF_CLK = !PYLD_DFF_CLK; |
ee12b079 | 284:5bfd48ce169d | 51 | wait_us(10);} |
ee12b079 | 284:5bfd48ce169d | 52 | |
ee12b079 | 185:3b3cd96a7811 | 53 | CDMS_I2C_GPIO = 0; |
ee12b079 | 210:f4acf895b598 | 54 | PL_I2C_GPIO = 0; |
ee12b079 | 162:48fda0b8d573 | 55 | |
shreeshas95 | 0:f016e9e8d48b | 56 | RX1M.baud(1200); |
shreeshas95 | 0:f016e9e8d48b | 57 | gRX_HEAD_DATA_NODE = new COM_RX_DATA_NODE; |
shreeshas95 | 0:f016e9e8d48b | 58 | gRX_HEAD_DATA_NODE->next_node = NULL; |
shreeshas95 | 0:f016e9e8d48b | 59 | gRX_CURRENT_DATA_NODE = gRX_HEAD_DATA_NODE; |
shreeshas95 | 2:2caf2a9a13aa | 60 | gRX_COUNT = 0; |
shreeshas95 | 0:f016e9e8d48b | 61 | RX1M.attach(&rx_read, Serial::RxIrq); |
shreeshas95 | 0:f016e9e8d48b | 62 | |
samp1234 | 311:af5ab655ba00 | 63 | gPC.baud(1200);//changed for bypassing COM |
samp1234 | 311:af5ab655ba00 | 64 | |
shreeshas95 | 0:f016e9e8d48b | 65 | |
ee12b079 | 288:aa93d6652381 | 66 | //Base_tm *tm_ptr = NULL; |
ee12b079 | 288:aa93d6652381 | 67 | //SET_BCN_STANDBY(tm_ptr); |
ee12b079 | 288:aa93d6652381 | 68 | //gPC.puts("set Bcn off\r\n"); |
ee12b079 | 285:fe33b39dd267 | 69 | |
shreeshas95 | 0:f016e9e8d48b | 70 | // COMMON SPI |
shreeshas95 | 0:f016e9e8d48b | 71 | spi.format(8,0); |
chaithanyarss | 261:1e54415b34d3 | 72 | spi.frequency(500000); |
shreeshas95 | 0:f016e9e8d48b | 73 | |
spacelab | 308:7c3872365d58 | 74 | SD_SW_EN_DS = 0; |
spacelab | 308:7c3872365d58 | 75 | wait(1); |
spacelab | 308:7c3872365d58 | 76 | SD_SW_EN_DS = 1; |
spacelab | 308:7c3872365d58 | 77 | wait(1); |
shreeshas95 | 0:f016e9e8d48b | 78 | // SD CARD |
ee12b079 | 86:a26f5f22631d | 79 | cs_sd = 1; |
shreeshas95 | 2:2caf2a9a13aa | 80 | gCS_RTC = 1; |
ee12b079 | 90:df55a5f68331 | 81 | gCS_ADF = 1; |
ee12b079 | 93:4d76de54a699 | 82 | |
ee12b079 | 274:5c02ff05f3da | 83 | FCTN_CDMS_INIT_RTC();/* rtc initialization*/ |
spacelab | 308:7c3872365d58 | 84 | FCTN_CDMS_SD_INIT();/* sd card initialization*/ |
shreeshas95 | 0:f016e9e8d48b | 85 | |
ee12b079 | 196:c51bf4993f75 | 86 | |
ee12b079 | 274:5c02ff05f3da | 87 | uint8_t test[512] = {0}; |
spacelab | 308:7c3872365d58 | 88 | disk_write(test,8000); //to be used only just before launch |
ee12b079 | 196:c51bf4993f75 | 89 | |
ee12b079 | 113:b8991d9e3b6c | 90 | #if DEBUG |
ee12b079 | 113:b8991d9e3b6c | 91 | gPC.puts("welcome to mng_tmtc\r\n"); |
ee12b079 | 113:b8991d9e3b6c | 92 | #endif |
ee12b079 | 113:b8991d9e3b6c | 93 | |
ee12b079 | 246:565458eefd94 | 94 | #if DEBUG |
ee12b079 | 246:565458eefd94 | 95 | gPC.puts("allocating threads\r\n"); |
ee12b079 | 246:565458eefd94 | 96 | #endif |
ee12b079 | 185:3b3cd96a7811 | 97 | |
aniruddhv | 264:f7d8f9f361e3 | 98 | // COM_POWER_ON_TX(); |
aniruddhv | 264:f7d8f9f361e3 | 99 | |
ee12b079 | 334:71e9f4fdb387 | 100 | //COM Flash parameters |
ee12b079 | 334:71e9f4fdb387 | 101 | |
ee12b079 | 334:71e9f4fdb387 | 102 | //COM_TC_BYTES_LIMIT |
ee12b079 | 334:71e9f4fdb387 | 103 | //COM_RX_CURRENT_MAX |
ee12b079 | 334:71e9f4fdb387 | 104 | //COM_RX_DISABLE_TIMEOUT |
ee12b079 | 334:71e9f4fdb387 | 105 | |
ee12b079 | 334:71e9f4fdb387 | 106 | //PA temp |
ee12b079 | 334:71e9f4fdb387 | 107 | COM_PA_TMP_HIGH = 343; |
ee12b079 | 334:71e9f4fdb387 | 108 | FCTN_CDMS_WR_FLASH(12,343); |
ee12b079 | 334:71e9f4fdb387 | 109 | |
ee12b079 | 334:71e9f4fdb387 | 110 | //COM_PA_RECOVERY_TIMEOUT |
ee12b079 | 334:71e9f4fdb387 | 111 | //COM_SESSION_TIMEOUT |
ee12b079 | 334:71e9f4fdb387 | 112 | //COM_RSSI_MIN |
ee12b079 | 334:71e9f4fdb387 | 113 | |
ee12b079 | 334:71e9f4fdb387 | 114 | |
ee12b079 | 334:71e9f4fdb387 | 115 | |
shreeshas95 | 0:f016e9e8d48b | 116 | // COM_MNG_TMTC THREAD |
ee12b079 | 268:ded5306a1fd1 | 117 | gCOM_MNG_TMTC_THREAD = new Thread(COM_MNG_TMTC_FUN); |
spacelab | 308:7c3872365d58 | 118 | gCOM_MNG_TMTC_THREAD->set_priority(osPriorityRealtime); |
ee12b079 | 246:565458eefd94 | 119 | |
ee12b079 | 246:565458eefd94 | 120 | gHK_THREAD = new Thread(FCTN_CDMS_HK_MAIN); |
ee12b079 | 246:565458eefd94 | 121 | gHK_THREAD->set_priority(osPriorityAboveNormal); |
ee12b079 | 246:565458eefd94 | 122 | |
ee12b079 | 113:b8991d9e3b6c | 123 | gSCIENCE_THREAD = new Thread(SCIENCE_FUN); |
spacelab | 308:7c3872365d58 | 124 | gSCIENCE_THREAD->set_priority(osPriorityHigh); |
ee12b079 | 246:565458eefd94 | 125 | |
ee12b079 | 99:efde3df6cd94 | 126 | #if DEBUG |
prasanthbj05 | 266:ae588e75cfa4 | 127 | gPC.puts("completed allocating threads\r\n"); |
prasanthbj05 | 267:783c248a6207 | 128 | #endif |
ee12b079 | 246:565458eefd94 | 129 | |
ee12b079 | 170:286ef9dad36a | 130 | master.frequency(400000); |
ee12b079 | 246:565458eefd94 | 131 | |
ee12b079 | 271:72529b247333 | 132 | HK_counter = new RtosTimer(hk_isr, osTimerPeriodic,(void * )NULL); |
spacelab | 308:7c3872365d58 | 133 | gHK_THREAD->signal_set(HK_SIGNAL); |
ee12b079 | 294:136d9b6c0acc | 134 | HK_counter->start(10000); |
ee12b079 | 253:fd6696d91e74 | 135 | |
aniruddhv | 262:752c8689944a | 136 | sys_reset_cdms_timer = new RtosTimer(sys_pwr_reset, osTimerPeriodic, (void * )NULL); |
ee12b079 | 268:ded5306a1fd1 | 137 | sys_reset_cdms_timer->start(cdms_reset_timeout); |
aniruddhv | 262:752c8689944a | 138 | |
chaithanyarss | 303:b49b486a7107 | 139 | //PL_wo_dma = new RtosTimer(payload_isr_fun_dma, osTimerPeriodic,(void * )NULL); |
chaithanyarss | 303:b49b486a7107 | 140 | //PL_wo_dma->start(6000); |
ee12b079 | 300:609c3e4240c9 | 141 | //gSCIENCE_THREAD->signal_set(SCIENCE_SIGNAL); |
ee12b079 | 203:424308159a56 | 142 | |
chaithanyarss | 261:1e54415b34d3 | 143 | /*Timeout flipper; |
chaithanyarss | 261:1e54415b34d3 | 144 | flipper.attach(BAE_TC,31);*/ |
ee12b079 | 203:424308159a56 | 145 | |
ee12b079 | 232:b1458c1e9199 | 146 | /*while(1){ |
chaithanyarss | 228:335da5b0d3e4 | 147 | gPC.printf("PL_TC sending\r\n"); |
ee12b079 | 199:9f03d6ca94c9 | 148 | |
chaithanyarss | 228:335da5b0d3e4 | 149 | Base_tm *tm_ptr = new Long_tm; |
chaithanyarss | 228:335da5b0d3e4 | 150 | PL_TC(tm_ptr); |
chaithanyarss | 228:335da5b0d3e4 | 151 | wait(1); |
chaithanyarss | 228:335da5b0d3e4 | 152 | } |
ee12b079 | 232:b1458c1e9199 | 153 | gPC.printf("PL_TC sent");*/ |
chaithanyarss | 290:3159ff1081a2 | 154 | //test_pl_main(); |
shreeshas95 | 0:f016e9e8d48b | 155 | while(true){ |
ee12b079 | 97:717c7908c822 | 156 | Thread::wait(osWaitForever); |
ee12b079 | 96:4ca92f9775e0 | 157 | gLEDG = !gLEDG; |
shreeshas95 | 0:f016e9e8d48b | 158 | } |
shreeshas95 | 0:f016e9e8d48b | 159 | } |