QITH FLAGS

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of TF_conops_BAE1_3 by Team Fox

Committer:
sakthipriya
Date:
Mon Jul 06 07:34:00 2015 +0000
Revision:
1:7185136654ce
Parent:
0:246d1b5f11ae
varun - to modify acs part of this code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sakthipriya 0:246d1b5f11ae 1 #include "mbed.h"
sakthipriya 1:7185136654ce 2 #include "pin_config.h"
sakthipriya 1:7185136654ce 3 //.............Power switching..........
sakthipriya 1:7185136654ce 4 #define TRXY_DR_EN PIN82 //torque rod driver enable
sakthipriya 1:7185136654ce 5 #define TRZ_DR_EN PIN88
sakthipriya 1:7185136654ce 6 #define 3V3AENBL PIN33
sakthipriya 1:7185136654ce 7 #define VBATT PIN20
sakthipriya 1:7185136654ce 8 //......................HK.....................
sakthipriya 0:246d1b5f11ae 9 #define vstart 3.3
sakthipriya 0:246d1b5f11ae 10 #define vstep 0.84667
sakthipriya 0:246d1b5f11ae 11 #define cstart 0.0691
sakthipriya 0:246d1b5f11ae 12 #define cstep 0.09133
sakthipriya 1:7185136654ce 13 #define tstart -40
sakthipriya 1:7185136654ce 14 #define tstep 8.33
sakthipriya 1:7185136654ce 15 #define rsens 0.025
sakthipriya 0:246d1b5f11ae 16 #define Bnewvalue_start -100//in microTesla...max possible field is .0001 T
sakthipriya 0:246d1b5f11ae 17 #define Bnewvalue_step 13.333
sakthipriya 0:246d1b5f11ae 18 #define AngularSpeed_start -10//max possible ang. velocity in space is 10 deg/sec
sakthipriya 0:246d1b5f11ae 19 #define AngularSpeed_step 1.3333
sakthipriya 1:7185136654ce 20 //...............Battery Gauge................
sakthipriya 1:7185136654ce 21 #define BG_ADDR (0x6C) //slave address of battery gauge
sakthipriya 1:7185136654ce 22 //I2C register addresses
sakthipriya 1:7185136654ce 23 #define REG_VCELL 0x02
sakthipriya 1:7185136654ce 24 #define REG_SOC 0x04
sakthipriya 1:7185136654ce 25 #define REG_MODE 0x06
sakthipriya 1:7185136654ce 26 #define REG_VERSION 0x08
sakthipriya 1:7185136654ce 27 #define REG_HIBRT 0x0A
sakthipriya 1:7185136654ce 28 #define REG_CONFIG 0x0C
sakthipriya 1:7185136654ce 29 #define REG_VALRT 0x14
sakthipriya 1:7185136654ce 30 #define REG_CRATE 0x16
sakthipriya 1:7185136654ce 31 #define REG_VRESET_ID 0x18
sakthipriya 1:7185136654ce 32 #define REG_STATUS 0x1A
sakthipriya 1:7185136654ce 33 #define REG_TABLE 0x40
sakthipriya 1:7185136654ce 34 #define REG_CMD 0xFE
sakthipriya 0:246d1b5f11ae 35
sakthipriya 0:246d1b5f11ae 36
sakthipriya 1:7185136654ce 37 typedef struct SensorData
sakthipriya 0:246d1b5f11ae 38 {
sakthipriya 1:7185136654ce 39 float SOC; //added recently
sakthipriya 1:7185136654ce 40 float Vbatt; //added recently
sakthipriya 1:7185136654ce 41 float Voltage[15];
sakthipriya 1:7185136654ce 42 float Current[7];
sakthipriya 1:7185136654ce 43 float Temperature[1]; // not finalised
sakthipriya 1:7185136654ce 44 //float PanelTemperature[4]; // not finalised ///there wer 4 values here?
sakthipriya 0:246d1b5f11ae 45 float BatteryTemperature;
sakthipriya 0:246d1b5f11ae 46 char fault_poll; //polled faults
sakthipriya 0:246d1b5f11ae 47 char fault_ir; //interrupted faults
sakthipriya 0:246d1b5f11ae 48 char clear_fault_poll; //to be confirmed
sakthipriya 0:246d1b5f11ae 49 char clear_fault_ir;
sakthipriya 0:246d1b5f11ae 50 char power_mode; //power modes
sakthipriya 0:246d1b5f11ae 51 float AngularSpeed[3]; //in order x,y,z
sakthipriya 0:246d1b5f11ae 52 float Bnewvalue[3]; //in order Bx,By,Bz
sakthipriya 0:246d1b5f11ae 53 } SensorData;
sakthipriya 0:246d1b5f11ae 54
sakthipriya 0:246d1b5f11ae 55
sakthipriya 0:246d1b5f11ae 56 typedef struct SensorDataQuantised
sakthipriya 0:246d1b5f11ae 57 {
sakthipriya 0:246d1b5f11ae 58 char Voltage[8];
sakthipriya 0:246d1b5f11ae 59 char Current[4];
sakthipriya 1:7185136654ce 60 char Temperature[2]; ///size??????
sakthipriya 1:7185136654ce 61 //char PanelTemperature[2];//read by the 4 thermistors on solar panels
sakthipriya 0:246d1b5f11ae 62 char BatteryTemperature; //to be populated
sakthipriya 0:246d1b5f11ae 63 char faultpoll; //polled faults
sakthipriya 0:246d1b5f11ae 64 char faultir; //interrupted faults
sakthipriya 0:246d1b5f11ae 65 char power_mode; //power modes
sakthipriya 0:246d1b5f11ae 66 char AngularSpeed[2];
sakthipriya 0:246d1b5f11ae 67 char Bnewvalue[2];
sakthipriya 0:246d1b5f11ae 68
sakthipriya 0:246d1b5f11ae 69 //float magnetometer,gyro=>to be addes
sakthipriya 0:246d1b5f11ae 70 } SensorDataQuantised;
sakthipriya 0:246d1b5f11ae 71
sakthipriya 0:246d1b5f11ae 72
sakthipriya 0:246d1b5f11ae 73 typedef struct ShortBeacon
sakthipriya 0:246d1b5f11ae 74 {
sakthipriya 0:246d1b5f11ae 75 char Voltage[1]; //battery voltage from gauge, needs to be quantised
sakthipriya 0:246d1b5f11ae 76 char AngularSpeed[2]; //all the 3 data
sakthipriya 0:246d1b5f11ae 77 char SubsystemStatus[1]; //power modes
sakthipriya 0:246d1b5f11ae 78 char Temp[2]; //temp of solar panel
sakthipriya 0:246d1b5f11ae 79 //Temp[0]'s LSB=> PanelTemperature[0], Temp[0]'s MSB=> PanelTemperature[1], Temp[1]'s LSB=> PanelTemperature[2], Temp[1]'s MSB=> PanelTemperature[3]
sakthipriya 0:246d1b5f11ae 80 char ErrorFlag[1]; //fault
sakthipriya 0:246d1b5f11ae 81 }ShortBeacy;
sakthipriya 0:246d1b5f11ae 82
sakthipriya 1:7185136654ce 83
sakthipriya 1:7185136654ce 84 /******************************************************function headers************************************************************************/
sakthipriya 0:246d1b5f11ae 85 void FCTN_EPS_INIT();
sakthipriya 1:7185136654ce 86
sakthipriya 1:7185136654ce 87 void FCTN_EPS_BTEMP_INIT();
sakthipriya 1:7185136654ce 88 void FCTN_EPS_BTEMP_MAIN(float*);
sakthipriya 1:7185136654ce 89
sakthipriya 1:7185136654ce 90 unsigned short BG_readReg(char);
sakthipriya 1:7185136654ce 91 void BG_writeReg(char, unsigned short);
sakthipriya 1:7185136654ce 92 void BG_reset(); //not used in code
sakthipriya 1:7185136654ce 93 void BG_quickStart(); //not used in code
sakthipriya 1:7185136654ce 94 void BG_disableSleep();
sakthipriya 1:7185136654ce 95 void BG_disableHibernate();
sakthipriya 1:7185136654ce 96 void BG_socChangeAlertEnabled(bool);
sakthipriya 1:7185136654ce 97 float BG_compensation(); //not used in code
sakthipriya 1:7185136654ce 98 void BG_compensation(char);
sakthipriya 1:7185136654ce 99 void BG_tempCompensation(float);
sakthipriya 1:7185136654ce 100 bool BG_alerting();
sakthipriya 1:7185136654ce 101 void BG_clearAlert();
sakthipriya 1:7185136654ce 102 void BG_emptyAlertThreshold(char);
sakthipriya 1:7185136654ce 103 void BG_vAlertMinMaxThreshold();
sakthipriya 1:7185136654ce 104 void BG_vResetThresholdSet();
sakthipriya 1:7185136654ce 105 void BG_vResetAlertEnabled(bool);
sakthipriya 1:7185136654ce 106 char BG_alertFlags();
sakthipriya 1:7185136654ce 107 void BG_clearAlertFlags();
sakthipriya 1:7185136654ce 108 float BG_vcell();
sakthipriya 1:7185136654ce 109 float BG_soc();
sakthipriya 1:7185136654ce 110 void FCTN_EPS_BG_INIT();
sakthipriya 1:7185136654ce 111 void FCTN_EPS_BG_MAIN();
sakthipriya 1:7185136654ce 112
sakthipriya 1:7185136654ce 113 int FCTN_EPS_POWERMODE(float);
sakthipriya 1:7185136654ce 114 void FCTN_EPS_CTRLPOWER(int) ;
sakthipriya 1:7185136654ce 115
sakthipriya 1:7185136654ce 116 int FCTN_QUANTIZE(float ,float ,float );
sakthipriya 1:7185136654ce 117 void FCTN_WRITE_BEASTRUCT(ShortBeacy* ,SensorDataQuantised );
sakthipriya 1:7185136654ce 118 void FCTN_EPS_HK_MAIN();
sakthipriya 1:7185136654ce 119
sakthipriya 0:246d1b5f11ae 120