Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of workinQM_10thDec by
Diff: main.cpp
- Revision:
- 27:61c856be467e
- Parent:
- 22:950dbe9fbeb8
- Child:
- 33:76f2b8735501
diff -r 950dbe9fbeb8 -r 61c856be467e main.cpp
--- a/main.cpp Fri Jul 01 18:14:34 2016 +0000
+++ b/main.cpp Sat Jul 02 14:06:34 2016 +0000
@@ -136,6 +136,8 @@
extern uint16_t ACS_MM_Z_COMSN;
extern uint16_t ACS_MG_Z_COMSN;
+extern uint8_t controlmode_mms;
+
//BCN
extern uint8_t BCN_FEN;
extern void FCTN_BCN_FEN(void const *args);
@@ -303,7 +305,7 @@
//================================================================================
//default flash array some filler bits added (detail in MMS file)
-uint32_t ARR_INITIAL_VAL[8]={0x33574C00,0x505A4141,0x1A1A1400,0x00000000,0x00000000,0x00000000,0xCBA20000,0x00000000};//to be done
+uint32_t ARR_INITIAL_VAL[8]={0x73582600,0x505A4141,0x1A1A1400,0x00000000,0x00000000,0x00000000,0xCBA20000,0x00000000};//to be done
void FLASH_INI()
{
@@ -328,14 +330,14 @@
ACS_ATS_STATUS = read[0]>>24;
ACS_TR_XY_SW_STATUS = ((uint8_t)(read[0]>>22))&0x03;
ACS_TR_Z_SW_STATUS = (read[0]>>20)&0x03;
- ACS_DETUMBLING_ALGO_TYPE = (read[0]>>19)&0x01;
- ACS_STATE = (read[0]>>16)&0x07;
- BCN_TX_SW_STATUS = ((uint8_t)(read[0]>>14))&0x03;
- BCN_SPND_TX = ((uint8_t)(read[0]>>13))&0x01;
- BCN_FEN = ((uint8_t)(read[0]>>12))&0x01;
- BCN_LONG_MSG_TYPE = ((uint8_t)(read[0]>>11))&0x01;
- EPS_BTRY_HTR_AUTO = ((uint8_t)(read[0]>>10))&0x03;//EPS_BATTERY_HEATER_ENABLE
- //now two spares in telemetry[5]
+ ACS_STATE = (read[0]>>16)&0x0F;
+ ACS_DETUMBLING_ALGO_TYPE = (read[0]>>15)&0x01;
+ BCN_TX_SW_STATUS = ((uint8_t)(read[0]>>13))&0x03;
+ BCN_SPND_TX = ((uint8_t)(read[0]>>12))&0x01;
+ BCN_FEN = ((uint8_t)(read[0]>>11))&0x01;
+ BCN_LONG_MSG_TYPE = ((uint8_t)(read[0]>>10))&0x01;
+ EPS_BTRY_HTR_AUTO = ((uint8_t)(read[0]>>9))&0x03;//EPS_BATTERY_HEATER_ENABLE
+ //now one spares in telemetry[5]
//updating the reset counter
BAE_RESET_COUNTER = ((uint8_t)(read[0]))+1;
@@ -525,6 +527,7 @@
ACS_STATUS = 4; // set Set ACS_STATUS = ACS_BDOT_CONTROL
ACS_DETUMBLING_ALGO_TYPE = 0x01;
FCTN_ACS_CNTRLALGO(moment,mag_data,gyro_data,0x00,0x01,ACS_DETUMBLING_ALGO_TYPE);
+ controlmode_mms=0x00;
#if print
printf("\n\r Moment values returned by control algo \n");
#endif
@@ -544,6 +547,7 @@
DRV_Z_EN = 1;
DRV_XY_EN = 1;
FCTN_ACS_CNTRLALGO(moment,mag_data,gyro_data,0x01,0x00,ACS_DETUMBLING_ALGO_TYPE);
+ controlmode_mms = 0x01;
#if print
printf("\n\r Moment values returned by control algo \n");
#endif
@@ -563,6 +567,7 @@
DRV_Z_EN = 1;
DRV_XY_EN = 1;
FCTN_ACS_CNTRLALGO(moment,mag_data,gyro_data,0x00,0x00,ACS_DETUMBLING_ALGO_TYPE);
+ controlmode_mms = 0x00;
#if print
printf("\n\r Moment values returned by control algo \n");
for(int i=0; i<3; i++)
@@ -579,6 +584,7 @@
DRV_Z_EN = 1;
DRV_XY_EN = 1;
FCTN_ACS_CNTRLALGO(moment,mag_data,gyro_data,0x00,0x01,ACS_DETUMBLING_ALGO_TYPE);
+ controlmode_mms = 0x00;
FCTN_ACS_GENPWM_MAIN(moment) ;
ACS_MAIN_STATUS = 0;
return;
@@ -1082,11 +1088,11 @@
FCTN_EPS_INIT();
FCTN_BCN_INIT();
- uint32_t data_flash=FCTN_BAE_RD_FLASH_ENTITY(0);/*sending the 0 entity as in mms tc/tm bae_reset_counter is present in first 32 bits */
- uint32_t data_modify=data_flash & 0x000000FF;
- data_modify +=1;
- data_modify |=data_flash;
- FCTN_BAE_WR_FLASH(0,data_modify);
+ //uint32_t data_flash=FCTN_BAE_RD_FLASH_ENTITY(0);/*sending the 0 entity as in mms tc/tm bae_reset_counter is present in first 32 bits */
+ //uint32_t data_modify=data_flash & 0x000000FF;
+ //data_modify +=1;
+ //data_modify |=data_flash;
+ //FCTN_BAE_WR_FLASH(0,data_modify);
#if print
printf("\n\rthe number of reset %d",data_modify);
#endif
