FM
Dependencies: SimpleDMA eeprom mbed-rtos mbed FreescaleIAP
Fork of CDMS_CODE by
main.cpp@346:204497974293, 2017-01-13 (annotated)
- Committer:
- samp1234
- Date:
- Fri Jan 13 08:00:33 2017 +0000
- Revision:
- 346:204497974293
- Parent:
- 338:d63eb331a67d
- Child:
- 351:a89a46894ec0
HK SD write moved to Science, Timer restart in science thread, SD_write of compressed data commented, PL_GPIO1_Status (pin71) used for signalling PL for DMA data transfer.
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 | 285:fe33b39dd267 | 43 | RF_SW_CNTRL_BCN = 1; |
ee12b079 | 285:fe33b39dd267 | 44 | Thread::wait(25); |
ee12b079 | 285:fe33b39dd267 | 45 | RF_SW_CNTRL_BCN = 0; |
ee12b079 | 284:5bfd48ce169d | 46 | PYLD_DFF = 1; |
ee12b079 | 284:5bfd48ce169d | 47 | |
ee12b079 | 284:5bfd48ce169d | 48 | for(int i= 0; i< 10 ; i++) |
ee12b079 | 284:5bfd48ce169d | 49 | {PYLD_DFF_CLK = !PYLD_DFF_CLK; |
ee12b079 | 284:5bfd48ce169d | 50 | wait_us(10);} |
ee12b079 | 284:5bfd48ce169d | 51 | |
ee12b079 | 185:3b3cd96a7811 | 52 | CDMS_I2C_GPIO = 0; |
ee12b079 | 210:f4acf895b598 | 53 | PL_I2C_GPIO = 0; |
ee12b079 | 162:48fda0b8d573 | 54 | |
shreeshas95 | 0:f016e9e8d48b | 55 | RX1M.baud(1200); |
shreeshas95 | 0:f016e9e8d48b | 56 | gRX_HEAD_DATA_NODE = new COM_RX_DATA_NODE; |
shreeshas95 | 0:f016e9e8d48b | 57 | gRX_HEAD_DATA_NODE->next_node = NULL; |
shreeshas95 | 0:f016e9e8d48b | 58 | gRX_CURRENT_DATA_NODE = gRX_HEAD_DATA_NODE; |
shreeshas95 | 2:2caf2a9a13aa | 59 | gRX_COUNT = 0; |
shreeshas95 | 0:f016e9e8d48b | 60 | RX1M.attach(&rx_read, Serial::RxIrq); |
shreeshas95 | 0:f016e9e8d48b | 61 | |
samp1234 | 311:af5ab655ba00 | 62 | gPC.baud(1200);//changed for bypassing COM |
samp1234 | 311:af5ab655ba00 | 63 | |
shreeshas95 | 0:f016e9e8d48b | 64 | |
ee12b079 | 288:aa93d6652381 | 65 | //Base_tm *tm_ptr = NULL; |
ee12b079 | 288:aa93d6652381 | 66 | //SET_BCN_STANDBY(tm_ptr); |
ee12b079 | 288:aa93d6652381 | 67 | //gPC.puts("set Bcn off\r\n"); |
ee12b079 | 285:fe33b39dd267 | 68 | |
shreeshas95 | 0:f016e9e8d48b | 69 | // COMMON SPI |
shreeshas95 | 0:f016e9e8d48b | 70 | spi.format(8,0); |
chaithanyarss | 261:1e54415b34d3 | 71 | spi.frequency(500000); |
shreeshas95 | 0:f016e9e8d48b | 72 | |
spacelab | 308:7c3872365d58 | 73 | SD_SW_EN_DS = 0; |
spacelab | 308:7c3872365d58 | 74 | wait(1); |
spacelab | 308:7c3872365d58 | 75 | SD_SW_EN_DS = 1; |
spacelab | 308:7c3872365d58 | 76 | wait(1); |
shreeshas95 | 0:f016e9e8d48b | 77 | // SD CARD |
ee12b079 | 86:a26f5f22631d | 78 | cs_sd = 1; |
shreeshas95 | 2:2caf2a9a13aa | 79 | gCS_RTC = 1; |
ee12b079 | 90:df55a5f68331 | 80 | gCS_ADF = 1; |
ee12b079 | 93:4d76de54a699 | 81 | |
chaithanyarss | 324:c0a5228cc666 | 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 | |
chaithanyarss | 324:c0a5228cc666 | 86 | CDMS_RESET_COUNTER++; |
chaithanyarss | 324:c0a5228cc666 | 87 | FCTN_CDMS_WR_FLASH(17,CDMS_RESET_COUNTER); |
chaithanyarss | 324:c0a5228cc666 | 88 | TIME_LATEST_CDSMS_RESET = FCTN_CDMS_RD_RTC() >> 7; |
chaithanyarss | 324:c0a5228cc666 | 89 | FCTN_CDMS_WR_FLASH(8,TIME_LATEST_CDSMS_RESET); |
ee12b079 | 196:c51bf4993f75 | 90 | |
chaithanyarss | 333:cddef120cae3 | 91 | uint8_t test[512]; |
chaithanyarss | 331:1943be3fd178 | 92 | for(int i =0; i<512; i++) |
chaithanyarss | 331:1943be3fd178 | 93 | test[i] = 0; |
chaithanyarss | 333:cddef120cae3 | 94 | disk_write(test,80000); |
chaithanyarss | 327:5a967a66c10f | 95 | //SD_MNG_SECT = SD_LIB_BLK_CURRENT; |
chaithanyarss | 326:e424f70b86c0 | 96 | FCTN_SD_MNGR(); |
chaithanyarss | 324:c0a5228cc666 | 97 | |
ee12b079 | 113:b8991d9e3b6c | 98 | #if DEBUG |
ee12b079 | 113:b8991d9e3b6c | 99 | gPC.puts("welcome to mng_tmtc\r\n"); |
ee12b079 | 113:b8991d9e3b6c | 100 | #endif |
ee12b079 | 113:b8991d9e3b6c | 101 | |
ee12b079 | 246:565458eefd94 | 102 | #if DEBUG |
ee12b079 | 246:565458eefd94 | 103 | gPC.puts("allocating threads\r\n"); |
ee12b079 | 246:565458eefd94 | 104 | #endif |
ee12b079 | 185:3b3cd96a7811 | 105 | |
ee12b079 | 338:d63eb331a67d | 106 | //DMA iobject decalaration |
ee12b079 | 338:d63eb331a67d | 107 | gPAY_SPI = new dmaSPISlave(PAY_SPI_MOSI, PAY_SPI_MISO, PAY_SPI_CLK, PAY_SPI_CS); |
ee12b079 | 338:d63eb331a67d | 108 | |
aniruddhv | 264:f7d8f9f361e3 | 109 | // COM_POWER_ON_TX(); |
aniruddhv | 264:f7d8f9f361e3 | 110 | |
shreeshas95 | 0:f016e9e8d48b | 111 | // COM_MNG_TMTC THREAD |
ee12b079 | 268:ded5306a1fd1 | 112 | gCOM_MNG_TMTC_THREAD = new Thread(COM_MNG_TMTC_FUN); |
spacelab | 308:7c3872365d58 | 113 | gCOM_MNG_TMTC_THREAD->set_priority(osPriorityRealtime); |
ee12b079 | 246:565458eefd94 | 114 | |
ee12b079 | 246:565458eefd94 | 115 | gHK_THREAD = new Thread(FCTN_CDMS_HK_MAIN); |
samp1234 | 346:204497974293 | 116 | // gHK_THREAD->set_priority(osPriorityHigh); |
samp1234 | 346:204497974293 | 117 | gHK_THREAD->set_priority(osPriorityNormal); |
ee12b079 | 246:565458eefd94 | 118 | |
ee12b079 | 113:b8991d9e3b6c | 119 | gSCIENCE_THREAD = new Thread(SCIENCE_FUN); |
spacelab | 308:7c3872365d58 | 120 | gSCIENCE_THREAD->set_priority(osPriorityHigh); |
ee12b079 | 246:565458eefd94 | 121 | |
ee12b079 | 99:efde3df6cd94 | 122 | #if DEBUG |
prasanthbj05 | 266:ae588e75cfa4 | 123 | gPC.puts("completed allocating threads\r\n"); |
prasanthbj05 | 267:783c248a6207 | 124 | #endif |
ee12b079 | 246:565458eefd94 | 125 | |
ee12b079 | 170:286ef9dad36a | 126 | master.frequency(400000); |
ee12b079 | 246:565458eefd94 | 127 | |
ee12b079 | 271:72529b247333 | 128 | HK_counter = new RtosTimer(hk_isr, osTimerPeriodic,(void * )NULL); |
spacelab | 308:7c3872365d58 | 129 | gHK_THREAD->signal_set(HK_SIGNAL); |
samp1234 | 346:204497974293 | 130 | HK_counter->start(10000); |
ee12b079 | 253:fd6696d91e74 | 131 | |
aniruddhv | 262:752c8689944a | 132 | sys_reset_cdms_timer = new RtosTimer(sys_pwr_reset, osTimerPeriodic, (void * )NULL); |
ee12b079 | 268:ded5306a1fd1 | 133 | sys_reset_cdms_timer->start(cdms_reset_timeout); |
aniruddhv | 262:752c8689944a | 134 | |
chaithanyarss | 303:b49b486a7107 | 135 | //PL_wo_dma = new RtosTimer(payload_isr_fun_dma, osTimerPeriodic,(void * )NULL); |
chaithanyarss | 303:b49b486a7107 | 136 | //PL_wo_dma->start(6000); |
ee12b079 | 300:609c3e4240c9 | 137 | //gSCIENCE_THREAD->signal_set(SCIENCE_SIGNAL); |
ee12b079 | 203:424308159a56 | 138 | |
chaithanyarss | 261:1e54415b34d3 | 139 | /*Timeout flipper; |
chaithanyarss | 261:1e54415b34d3 | 140 | flipper.attach(BAE_TC,31);*/ |
ee12b079 | 203:424308159a56 | 141 | |
ee12b079 | 232:b1458c1e9199 | 142 | /*while(1){ |
chaithanyarss | 228:335da5b0d3e4 | 143 | gPC.printf("PL_TC sending\r\n"); |
ee12b079 | 199:9f03d6ca94c9 | 144 | |
chaithanyarss | 228:335da5b0d3e4 | 145 | Base_tm *tm_ptr = new Long_tm; |
chaithanyarss | 228:335da5b0d3e4 | 146 | PL_TC(tm_ptr); |
chaithanyarss | 228:335da5b0d3e4 | 147 | wait(1); |
chaithanyarss | 228:335da5b0d3e4 | 148 | } |
ee12b079 | 232:b1458c1e9199 | 149 | gPC.printf("PL_TC sent");*/ |
chaithanyarss | 290:3159ff1081a2 | 150 | //test_pl_main(); |
shreeshas95 | 0:f016e9e8d48b | 151 | while(true){ |
ee12b079 | 97:717c7908c822 | 152 | Thread::wait(osWaitForever); |
ee12b079 | 96:4ca92f9775e0 | 153 | gLEDG = !gLEDG; |
shreeshas95 | 0:f016e9e8d48b | 154 | } |
shreeshas95 | 0:f016e9e8d48b | 155 | } |