sakthi priya amirtharaj
/
BAE_acsbeahk
acs bea hk together
Fork of BAE_vr3honeycomb1_christmas by
Embed:
(wiki syntax)
Show/hide line numbers
fault.cpp
00001 #include "fault.h" 00002 #include "HK.h" 00003 00004 00005 DigitalIn fault0(FAULT0,PullUp); 00006 DigitalIn fault1(FAULT1,PullUp); 00007 DigitalIn fault2(FAULT2,PullUp); 00008 DigitalIn fault3(FAULT3,PullUp); 00009 DigitalIn fault4(FAULT4,PullUp); 00010 //DigitalIn fault5(FAULT5,PullUp); 00011 //DigitalIn fault6(FAULT6,PullUp); 00012 //DigitalIn fault7(FAULT7,PullUp); 00013 //DigitalIn fault8(FAULT8,PullUp); 00014 00015 00016 InterruptIn fault_IR1(FAULT5); 00017 InterruptIn fault_IR2(FAULT6); 00018 InterruptIn fault_IR3(FAULT7); 00019 InterruptIn fault_IR4(FAULT8); 00020 InterruptIn fault_IR5(FAULT9); 00021 00022 00023 00024 DigitalOut clear1(FAULT_CLEAR1,0); 00025 DigitalOut clear2(FAULT_CLEAR2,0); 00026 DigitalOut clear3(FAULT_CLEAR3,0); 00027 DigitalOut clear4(FAULT_CLEAR4,0); 00028 DigitalOut clear5(FAULT_CLEAR5); 00029 DigitalOut clear6(FAULT_CLEAR6); 00030 DigitalOut clear7(FAULT_CLEAR7); 00031 DigitalOut clear8(FAULT_CLEAR8); 00032 DigitalOut clear9(FAULT_CLEAR9); 00033 00034 00035 DigitalOut acs_active(ACS); 00036 00037 00038 BusIn fault_poll(FAULT0,FAULT1,FAULT2,FAULT3,FAULT4); 00039 BusIn fault_ir(FAULT5,FAULT6,FAULT7,FAULT8,FAULT9); 00040 00041 BusOut clear_poll(FAULT_CLEAR1,FAULT_CLEAR2,FAULT_CLEAR3,FAULT_CLEAR4);//to send fault data along with hk 00042 BusOut clear_ir(FAULT_CLEAR5,FAULT_CLEAR6,FAULT_CLEAR7,FAULT_CLEAR8,FAULT_CLEAR9); 00043 00044 00045 extern SensorDataQuantised SensorQuantised; 00046 extern int beacon_sc; //to switch beacon between low and high power mode 00047 extern int acs_pflag; //to activate/deactivate control algo 00048 char out_poll; 00049 char out_ir; 00050 00051 void FUNC_HK_FAULTS() 00052 { 00053 00054 printf("Entered Fault management \n"); 00055 /*if(fault0==0)printf("CHARGER IS CHARGING THE BATTERY "); 00056 if(fault0==1)printf("CHRGER GONE OFFLINE, BATTERY DRAINING"); 00057 00058 if(fault1==0) 00059 { clear1=1;printf("");} 00060 else 00061 { clear1=0;} 00062 00063 if(fault2==0) 00064 { clear2=1;printf("");} 00065 else 00066 { clear2=0;} 00067 00068 if(fault3==0) 00069 { clear3=1;printf("");} 00070 else 00071 { clear3=0;} 00072 00073 if(fault4==0) 00074 { clear4=1;printf("");} 00075 else 00076 { clear4=0;}*/ 00077 00078 00079 00080 00081 00082 00083 00084 00085 //clear1 = !fault1; 00086 //clear2 = !fault2; 00087 //clear3 = !fault3; 00088 //clear4 = !fault4; 00089 //clear5 = !fault5; 00090 //clear6 = !fault6; 00091 //clear7 = !fault7; 00092 //clear8 = !fault8; 00093 00094 00095 // out_poll = clear_poll; 00096 //out_ir = clear_ir; 00097 SensorQuantised.faultpoll = fault_poll ; 00098 SensorQuantised.faultir=fault_ir ; 00099 printf(" %d , %d \n ",SensorQuantised.faultpoll, SensorQuantised.faultir ) ; 00100 00101 } 00102 00103 00104 00105 void Clear_IR1() 00106 {clear5=!clear5; 00107 } 00108 00109 void Clear_IR2() 00110 {clear6=!clear6; 00111 } 00112 00113 void Clear_IR3() 00114 {clear7=!clear7; 00115 } 00116 00117 void Clear_IR4() 00118 {clear8=!clear8; 00119 } 00120 00121 void Clear_IR5() 00122 {clear9=!clear9; 00123 } 00124 00125 void interrupt_fault() 00126 { 00127 fault_IR1.rise(&Clear_IR1); 00128 fault_IR2.rise(&Clear_IR2); 00129 fault_IR3.rise(&Clear_IR3); 00130 fault_IR4.rise(&Clear_IR4); 00131 fault_IR5.rise(&Clear_IR5); 00132 fault_IR1.fall(&Clear_IR1); 00133 fault_IR2.fall(&Clear_IR2); 00134 fault_IR3.fall(&Clear_IR3); 00135 fault_IR4.fall(&Clear_IR4); 00136 fault_IR5.fall(&Clear_IR5); 00137 } 00138 00139 00140 void FUNC_HK_POWER(char flag) //flag corresponds to the power mode 00141 { 00142 printf("Entered Power Management \n"); 00143 printf("Entering mode %c \n", flag); 00144 switch (flag) 00145 { 00146 case '0': beacon_sc = 6; //least power mode 00147 acs_pflag = 0; 00148 acs_active = 0; //switching off a component of acs 00149 break; 00150 case '1': beacon_sc = 3; 00151 acs_pflag = 0; 00152 acs_active = 0; 00153 break; 00154 case '2': beacon_sc = 3; 00155 acs_pflag = 0; 00156 acs_active = 0; 00157 break; 00158 case '3': beacon_sc = 3; //normal mode 00159 acs_pflag = 1; 00160 acs_active = 1; 00161 break; 00162 } 00163 /* if (flag == '0') 00164 beacon_sc = 30; 00165 else 00166 beacon_sc = 3; 00167 if (flag == '3') 00168 acs_pflag = 1; 00169 else 00170 acs_pflag = 0; */ 00171 }
Generated on Wed Jul 13 2022 21:19:31 by 1.7.2