FM

Dependencies:   SimpleDMA eeprom mbed-rtos mbed FreescaleIAP

Fork of CDMS_CODE by shubham c

main.cpp

Committer:
shreeshas95
Date:
2015-12-22
Revision:
2:2caf2a9a13aa
Parent:
1:a0055b3280c8
Child:
3:6c81fc8834e2

File content as of revision 2:2caf2a9a13aa:

#include "mbed.h"
#include "rtos.h"
#include "mbed_debug.h"

#include "Structures.h"
#include "DefinitionsAndGlobals.h"
#include "crc.h"
#include "COM_SND_TM_functions.h"
#include "COM_SND_TM.h"
#include "SDCread.h"
#include "adf.h"
#include "Compression.h"
#include "SDC_init.h"
#include "COM_RCV_TC.h"
#include "COM_MNG_TMTC.h"
#include "ThreadsAndFunctions.h"


int main()
{
    // ******************INITIALISATIONS START******************
    // COM RX
    RX1M.baud(1200);
    gRX_HEAD_DATA_NODE = new COM_RX_DATA_NODE;
    gRX_HEAD_DATA_NODE->next_node = NULL;
    gRX_CURRENT_DATA_NODE = gRX_HEAD_DATA_NODE;
    gRX_COUNT = 0;
//    gRX_CURRENT_PTR = gRX_CURRENT_DATA_NODE->values;
    RX1M.attach(&rx_read, Serial::RxIrq);
    
    // DEBUG
    gPC.baud(1200);
    gPC.puts("welcome to mng_tm_tc\r\n");
    
    // COMMON SPI
    spi.format(8,0);
    spi.frequency(1000000);

    // SD CARD
    gCS_SDC = 1;
    gCS_RTC = 1;
    // initialise_card();
    // int result= initialise_card();
    // disk_initialize();    
    
    // COM_TX
    // *********************THE TEST
    // cs_adf=1;
    // *********************THE TEST

    // COM_MNG_TMTC THREAD
    gCOM_MNG_TMTC_THREAD = new Thread(COM_MNG_TMTC_FUN);
    gCOM_MNG_TMTC_THREAD->set_priority(osPriorityAboveNormal);
    // *******************INITIALISATIONS END********************
    
    //adf test
    gPC.puts("Testing ADF\r\n");
    Base_tm *testTM = new Short_tm;
    uint8_t temp8;
    temp8 = 0xA;
    PUTtmid(testTM->fields, temp8);
    temp8 = 0x00;
    PUTshort_or_long_tm(testTM->fields, temp8);
    testTM->TM_string[0] = TMID_ACK_L1 << 4;
    testTM->TM_string[1] = gTOTAL_INCORRECT_SIZE_TC & 0xFF;
    testTM->TM_string[2] = gTOTAL_CRC_FAIL_TC & 0xFF;
    testTM->TM_string[3] = (gMASTER_STATE << 4) & 0xF0;
    testTM->next_TM = NULL;
    gPC.puts("sending now\r\n");
    snd_tm.head_pointer(testTM);
    adf_not_SDcard();
    gPC.puts("Completed testing ADF\r\n");
    
    int theAcount = 0;
    while(true){
        if(theAcount >= 700000){
            theAcount = 0;
            //gLEDR = !gLEDR;
        }
        else{
            theAcount++;
        }
    }
}