aadadf

Dependencies:   mbed-rtos mbed

Fork of cdms_rtos_v1_1_test by Team Fox

Revision:
0:4da7c8fdd429
Child:
1:c0c5ac8eac80
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sat Nov 07 09:55:44 2015 +0000
@@ -0,0 +1,130 @@
+#include "mbed.h"
+#include "rtos.h"
+#include "pinconfig.h"
+#include "cdms_sd.h"
+
+Serial main1(USBTX,USBRX);
+
+Thread *ptr_t_sc_data;
+Thread *ptr_t_tctm;
+
+InterruptIn pl_sc_data(PIN81);
+
+/* only for sd testing*/
+uint8_t write_to_sd[512];
+uint8_t read_from_sd[512];
+/* end*/
+
+void BAE_HK();
+void CDMS_HK();
+void PL_MODE();
+void FCTN_PL_RCV_SC_DATA();
+void FCTN_COM_COMP_SC_DATA();
+
+//extern void FCTN_CDMS_INIT_SD();
+//extern int FCTN_CDMS_WR_SD(const uint8_t *, uint64_t);
+//extern int FCTN_CDMS_RD_SD(uint8_t *, uint64_t);
+
+//extern void FCTN_CDMS_INIT_SD();
+extern int disk_write(const uint8_t *, uint64_t);
+extern int disk_read(uint8_t *, uint64_t);
+extern int initialise_card();
+extern int disk_initialize();
+
+extern void FCTN_CDMS_INIT_RTC();
+extern void FCTN_CDMS_RD_RTC();
+
+void TSC_HK_BAE_CDMS_PL_MODE(void const *args)
+{
+    BAE_HK();
+    CDMS_HK();
+    PL_MODE();
+}
+
+void BAE_HK()
+{
+    main1.printf("\nBAE_HK Function Executed\r\n");
+}
+
+void CDMS_HK()
+{
+    main1.printf("\nCDMS_HK Function Executed\r\n");
+    FCTN_CDMS_RD_RTC();
+    disk_write(write_to_sd,4);
+    disk_read(read_from_sd,4);
+    for(int i=0;i<512;i++)
+    {
+        main1.printf("%d",read_from_sd[i]);
+    }
+}
+
+void PL_MODE()
+{
+    main1.printf("\nPL_MODE Function Executed\r\n");
+}
+
+void T_CDMS_RLY_TCTM(void const *args)
+{
+    while(1)
+    {
+        Thread::signal_wait(0x3);
+        main1.printf("in T_CDMS_RLY_TM\r\n");
+        //FUNC_CDMS_RLY_TM();
+    }
+}
+
+void T_PL_RCV_SC_DATA(void const *args)
+{
+    while(1)
+    {
+        Thread::signal_wait(0x1);
+        FCTN_PL_RCV_SC_DATA();
+        FCTN_COM_COMP_SC_DATA();
+        FCTN_CDMS_RD_RTC();
+        disk_write(write_to_sd,2);
+        disk_read(read_from_sd,2);
+        for(int i=0;i<512;i++)
+        {
+            main1.printf("%d",read_from_sd[i]);
+        }
+    }
+}
+
+void ISR_PL_RCV_SC_DATA()
+{
+    ptr_t_sc_data->signal_set(0x1);
+}
+
+void FCTN_PL_RCV_SC_DATA()
+{
+    main1.printf("\nFCTN_PL_RCV_SC_DATA Function Executed\r\n");
+}
+
+void FCTN_COM_COMP_SC_DATA()
+{
+    main1.printf("\nFCTN_COM_COMP_SC_DATA Function Executed\r\n");
+}
+
+void FCTN_CDMS_WR_SD()
+{
+    main1.printf("\nFCTN_CDMS_WR_SD Function Executed\r\n");
+}
+
+int main()
+{
+    main1.printf("\n\r CDMS Activated \n");
+    initialise_card();
+    disk_initialize();
+    FCTN_CDMS_INIT_RTC();
+    for(int i=0;i<512;i++)
+    {
+        write_to_sd[i] = i;
+    }   
+    RtosTimer TIMER_HK_ACQ(TSC_HK_BAE_CDMS_PL_MODE,osTimerPeriodic);
+    TIMER_HK_ACQ.start(10000);
+    ptr_t_tctm = new Thread (T_CDMS_RLY_TCTM);
+    ptr_t_sc_data = new Thread (T_PL_RCV_SC_DATA);
+    pl_sc_data.rise(&ISR_PL_RCV_SC_DATA);
+
+    while(1);
+}
\ No newline at end of file