i2c working version

Dependencies:   mbed-rtos mbed

Committer:
sakthipriya
Date:
Thu Apr 09 22:44:39 2015 +0000
Revision:
0:7882d03f59e2
i2c working version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sakthipriya 0:7882d03f59e2 1 //to be saved as HK.h
sakthipriya 0:7882d03f59e2 2
sakthipriya 0:7882d03f59e2 3 #include "mbed.h"
sakthipriya 0:7882d03f59e2 4 #define tstart -40
sakthipriya 0:7882d03f59e2 5 #define tstep 8
sakthipriya 0:7882d03f59e2 6 #define tstep_thermistor 8//verify!!
sakthipriya 0:7882d03f59e2 7 #define tstart_thermistor -40
sakthipriya 0:7882d03f59e2 8 #define vstart 3.3
sakthipriya 0:7882d03f59e2 9 #define vstep 0.84667
sakthipriya 0:7882d03f59e2 10 #define cstart 0.0691
sakthipriya 0:7882d03f59e2 11 #define cstep 0.09133
sakthipriya 0:7882d03f59e2 12 #define rsens 0.095
sakthipriya 0:7882d03f59e2 13 #define Bnewvalue_start -100//in microTesla...max possible field is .0001 T
sakthipriya 0:7882d03f59e2 14 #define Bnewvalue_step 13.333
sakthipriya 0:7882d03f59e2 15 #define AngularSpeed_start -10//max possible ang. velocity in space is 10 deg/sec
sakthipriya 0:7882d03f59e2 16 #define AngularSpeed_step 1.3333
sakthipriya 0:7882d03f59e2 17
sakthipriya 0:7882d03f59e2 18
sakthipriya 0:7882d03f59e2 19
sakthipriya 0:7882d03f59e2 20 typedef struct SensorData
sakthipriya 0:7882d03f59e2 21 {
sakthipriya 0:7882d03f59e2 22 float Voltage[16];
sakthipriya 0:7882d03f59e2 23 float Current[8];
sakthipriya 0:7882d03f59e2 24 float Temperature[1];
sakthipriya 0:7882d03f59e2 25 float PanelTemperature[4];
sakthipriya 0:7882d03f59e2 26 float BatteryTemperature; //to be populated
sakthipriya 0:7882d03f59e2 27 char faultpoll; //polled faults
sakthipriya 0:7882d03f59e2 28 char faultir; //interrupted faults
sakthipriya 0:7882d03f59e2 29 char power_mode; //power modes
sakthipriya 0:7882d03f59e2 30
sakthipriya 0:7882d03f59e2 31 float AngularSpeed[3]; //in order x,y,z
sakthipriya 0:7882d03f59e2 32 float Bnewvalue[3]; //in order Bx,By,Bz
sakthipriya 0:7882d03f59e2 33
sakthipriya 0:7882d03f59e2 34
sakthipriya 0:7882d03f59e2 35 } SensorData;
sakthipriya 0:7882d03f59e2 36
sakthipriya 0:7882d03f59e2 37
sakthipriya 0:7882d03f59e2 38 typedef struct SensorDataQuantised {
sakthipriya 0:7882d03f59e2 39 char Voltage[8];
sakthipriya 0:7882d03f59e2 40 char Current[4];
sakthipriya 0:7882d03f59e2 41 char Temperature[1];
sakthipriya 0:7882d03f59e2 42 char PanelTemperature[2];//read by the 4 thermistors on solar panels
sakthipriya 0:7882d03f59e2 43 char BatteryTemperature; //to be populated
sakthipriya 0:7882d03f59e2 44 char faultpoll; //polled faults
sakthipriya 0:7882d03f59e2 45 char faultir; //interrupted faults
sakthipriya 0:7882d03f59e2 46 char power_mode; //power modes
sakthipriya 0:7882d03f59e2 47 char AngularSpeed[2];
sakthipriya 0:7882d03f59e2 48 char Bnewvalue[2];
sakthipriya 0:7882d03f59e2 49
sakthipriya 0:7882d03f59e2 50 //float magnetometer,gyro=>to be addes
sakthipriya 0:7882d03f59e2 51 } SensorDataQuantised;
sakthipriya 0:7882d03f59e2 52
sakthipriya 0:7882d03f59e2 53
sakthipriya 0:7882d03f59e2 54 typedef struct ShortBeacon
sakthipriya 0:7882d03f59e2 55 {
sakthipriya 0:7882d03f59e2 56 char Voltage[1]; //battery voltage from gauge, needs to be quantised
sakthipriya 0:7882d03f59e2 57 char AngularSpeed[2]; //all the 3 data
sakthipriya 0:7882d03f59e2 58 char SubsystemStatus[1]; //power modes
sakthipriya 0:7882d03f59e2 59 char Temp[2]; //temp of solar panel
sakthipriya 0:7882d03f59e2 60 //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:7882d03f59e2 61 char ErrorFlag[1]; //fault
sakthipriya 0:7882d03f59e2 62 }ShortBeacy;
sakthipriya 0:7882d03f59e2 63
sakthipriya 0:7882d03f59e2 64
sakthipriya 0:7882d03f59e2 65
sakthipriya 0:7882d03f59e2 66 void FUNC_HK_MAIN();
sakthipriya 0:7882d03f59e2 67
sakthipriya 0:7882d03f59e2 68 int quantiz(float start,float step,float x);
sakthipriya 0:7882d03f59e2 69 void init_beacon(ShortBeacy* x,SensorDataQuantised y);