QITH FLAGS
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of TF_conops_BAE1_3 by
Diff: main.cpp
- Revision:
- 2:3c6c33509772
- Parent:
- 1:7185136654ce
diff -r 7185136654ce -r 3c6c33509772 main.cpp --- a/main.cpp Mon Jul 06 07:34:00 2015 +0000 +++ b/main.cpp Fri Jul 10 10:09:56 2015 +0000 @@ -91,7 +91,7 @@ Thread::signal_wait(0x1); printf("\n\rEntered ACS %f\n",t_start.read()); t_exec.start(); - BAE_STATUS |= 0x00001000; //set ACS_MAIN_STATUS flag to 1 + BAE_STATUS = (BAE_STATUS & 0xFFFEFFFF) + 0x00001000; //set ACS_MAIN_STATUS flag to 1 PWM1 = 0; //clear pwm pins PWM2 = 0; //clear pwm pins PWM3 = 0; //clear pwm pins @@ -103,7 +103,7 @@ mag_field1[1] = 20; mag_field1[2] = 30; //-------------------------------------- - if (BAE_ENABLE & 0x00000001 == 0x00000001) // check if ACS_DATA_ACQ_ENABLE = 1? + if (BAE_ENABLE & 0x00000008 == 0x00000008) // check if ACS_DATA_ACQ_ENABLE = 1? { FCTN_ACS_DATA_ACQ(omega1,mag_field1); printf("\n\rmnm gyro values\n"); //printing the angular velocity and magnetic field values @@ -117,9 +117,9 @@ printf("%f\t",mag_field1[i]); } } - if(BAE_ENABLE & 0x0000000E == 0x00000000) // check ACS_STATE = ACS_CONTROL_OFF? + if(BAE_ENABLE & 0x00000000 == 0x00000000) // check ACS_STATE = ACS_CONTROL_OFF? { - BAE_STATUS |= 0x00000000; // set ACS_STATUS = ACS_CONTROL_OFF + BAE_STATUS = (BAE_STATUS & 0xFFF1FFFF) + 0x00000000; // set ACS_STATUS = ACS_CONTROL_OFF PWM1 = 0; //clear pwm pins PWM2 = 0; //clear pwm pins PWM3 = 0; //clear pwm pins @@ -128,9 +128,9 @@ { if(power_flag > 1) { - if(BAE_ENABLE & 0x0000000E == 0x00000004) // check ACS_STATE = ACS_ZAXIS_MOMENT_ONLY + if(BAE_ENABLE & 0x00000020 == 0x00000020) // check ACS_STATE = ACS_ZAXIS_MOMENT_ONLY { - BAE_STATUS |= 0x00000018; // set ACS_STATUS = ACS_ZAXIS_MOMENT_ONLY + BAE_STATUS = (BAE_STATUS & 0xFFF1FFFF) + 0x00004000; // set ACS_STATUS = ACS_ZAXIS_MOMENT_ONLY FCTN_ACS_CNTRLALGO(mag_field1,omega1,moment); printf("\n\r moment values returned by control algo \n"); moment[0] = 0; @@ -140,18 +140,18 @@ } else { - if(BAE_ENABLE & 0x00000040 == 0x00000040) // check ACS_STATE = ACS_DATA_ACQ_FAILURE + if(BAE_ENABLE & 0x00000030 == 0x00000030) // check ACS_STATE = ACS_DATA_ACQ_FAILURE { - BAE_STATUS |= 0x0000000C; // set ACS_STATUS = ACS_DATA_ACQ_FAILURE + BAE_STATUS = (BAE_STATUS & 0xFFF1FFFF) + 0x00006000; // set ACS_STATUS = ACS_DATA_ACQ_FAILURE PWM1 = 0; //clear pwm pins PWM2 = 0; //clear pwm pins PWM3 = 0; //clear pwm pins } else { - if(BAE_ENABLE & 0x0000000E == 0x00000008) // check ACS_STATE = ACS_NOMINAL_ONLY + if(BAE_ENABLE & 0x00000040 == 0x00000040) // check ACS_STATE = ACS_NOMINAL_ONLY { - BAE_STATUS |= 0x00000010; // set ACS_STATUS = ACS_NOMINAL_ONLY + BAE_STATUS = (BAE_STATUS & 0xFFF1FFFF) + 0x00008000; // set ACS_STATUS = ACS_NOMINAL_ONLY FCTN_ACS_CNTRLALGO(mag_field1,omega1,moment); printf("\n\r moment values returned by control algo \n"); for(int i=0; i<3; i++) @@ -162,22 +162,22 @@ } else { - if(BAE_ENABLE & 0x0000000E == 0x0000000A) // check ACS_STATE = ACS_AUTO_CONTROL + if(BAE_ENABLE & 0x00000050 == 0x00000050) // check ACS_STATE = ACS_AUTO_CONTROL { - BAE_STATUS |= 0x00000014; // set ACS_STATUS = ACS_AUTO_CONTROL + BAE_STATUS =(BAE_STATUS & 0xFFF1FFFF) + 0x0000A000; // set ACS_STATUS = ACS_AUTO_CONTROL //FCTN_ACS_AUTOCTRL_LOGIC // gotta include this code } else { - if(BAE_ENABLE & 0x0000000E == 0x0000000C) // check ACS_STATE = ACS_DETUMBLING_ONLY + if(BAE_ENABLE & 0x00000060 == 0x00000060) // check ACS_STATE = ACS_DETUMBLING_ONLY { - BAE_STATUS |= 0x00000018; // set ACS_STATUS = ACS_DETUMBLING_ONLY + BAE_STATUS =(BAE_STATUS & 0xFFF1FFFF) + 0x0000C000; // set ACS_STATUS = ACS_DETUMBLING_ONLY FCTN_ACS_CNTRLALGO(mag_field1,omega1,moment); // detumbling code has to be included FCTN_ACS_GENPWM_MAIN(moment) ; } else { - BAE_STATUS |= 0x0000001C; // set ACS_STATUS = INVALID STATE + BAE_STATUS =(BAE_STATUS & 0xFFF1FFFF) + 0x0000E000; // set ACS_STATUS = INVALID STATE PWM1 = 0; //clear pwm pins PWM2 = 0; //clear pwm pins PWM3 = 0; //clear pwm pins @@ -189,7 +189,7 @@ } else { - BAE_STATUS |= 0x00000004; // set ACS_STATUS = ACS_LOW_POWER + BAE_STATUS =(BAE_STATUS & 0xFFF1FFFF) + 0x00000004; // set ACS_STATUS = ACS_LOW_POWER PWM1 = 0; //clear pwm pins PWM2 = 0; //clear pwm pins PWM3 = 0; //clear pwm pins