Subversion Repositories NaviCtrl

Rev

Rev 492 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 492 Rev 500
Line 84... Line 84...
84
// two calibrtion sets for extern and intern sensor
84
// two calibrtion sets for extern and intern sensor
85
#define EEPROM_ADR_MAG_CALIBRATION_INTERN       50
85
#define EEPROM_ADR_MAG_CALIBRATION_INTERN       50
86
#define EEPROM_ADR_MAG_CALIBRATION_EXTERN   70
86
#define EEPROM_ADR_MAG_CALIBRATION_EXTERN   70
Line 87... Line 87...
87
 
87
 
88
#define CALIBRATION_VERSION                     1
88
#define CALIBRATION_VERSION                     1
Line 89... Line 89...
89
#define MAG_CALIBRATION_COMPATIBLE              0xA2
89
#define MAG_CALIBRATION_COMPATIBLE              0xA3
90
 
90
 
91
#define NCMAG_MIN_RAWVALUE -2047
91
#define NCMAG_MIN_RAWVALUE -2047
Line 193... Line 193...
193
#define LSM303DLH_CRA_RATE_75HZ         0x18
193
#define LSM303DLH_CRA_RATE_75HZ         0x18
Line 194... Line 194...
194
 
194
 
195
// bit mask for gain
195
// bit mask for gain
196
#define LSM303DLH_CRB_GAIN_XXGA         0x00
196
#define LSM303DLH_CRB_GAIN_XXGA         0x00
197
#define LSM303DLH_CRB_GAIN_13GA         0x20    //default
197
#define LSM303DLH_CRB_GAIN_13GA         0x20    //default
198
#define LSM303DLH_CRB_GAIN_19GA         0x40    // <--- we use this
198
#define LSM303DLH_CRB_GAIN_19GA         0x40    
199
#define LSM303DLH_CRB_GAIN_25GA         0x60
199
#define LSM303DLH_CRB_GAIN_25GA         0x60
200
#define LSM303DLH_CRB_GAIN_40GA         0x80
200
#define LSM303DLH_CRB_GAIN_40GA         0x80    // <--- we use this (Since V2.03)
201
#define LSM303DLH_CRB_GAIN_47GA         0xA0
201
#define LSM303DLH_CRB_GAIN_47GA         0xA0
202
#define LSM303DLH_CRB_GAIN_56GA         0xC0
202
#define LSM303DLH_CRB_GAIN_56GA         0xC0
Line 203... Line 203...
203
#define LSM303DLH_CRB_GAIN_81GA         0xE0
203
#define LSM303DLH_CRB_GAIN_81GA         0xE0
Line 224... Line 224...
224
} __attribute__((packed)) MagConfig_t;
224
} __attribute__((packed)) MagConfig_t;
Line 225... Line 225...
225
 
225
 
Line 226... Line 226...
226
volatile MagConfig_t MagConfig;
226
volatile MagConfig_t MagConfig;
227
 
227
 
228
// self test value
228
// self test value
229
#define LSM303DLH_TEST_XSCALE   495
229
#define LSM303DLH_TEST_XSCALE   245
230
#define LSM303DLH_TEST_YSCALE   495
230
#define LSM303DLH_TEST_YSCALE   245
231
#define LSM303DLH_TEST_ZSCALE   470
231
#define LSM303DLH_TEST_ZSCALE   235
Line 232... Line 232...
232
// clibration range
232
// clibration range
233
#define LSM303_CALIBRATION_RANGE   550
233
#define LSM303_CALIBRATION_RANGE   300 // War bis V2.02: 550 -> Auflösung von 19Ga auf 40GA reduziert
Line 234... Line 234...
234
 
234
 
Line 378... Line 378...
378
                        Xmax = -10000;
378
                        Xmax = -10000;
379
                        Ymin =  10000;
379
                        Ymin =  10000;
380
                        Ymax = -10000;
380
                        Ymax = -10000;
381
                        Zmin =  10000;
381
                        Zmin =  10000;
382
                        Zmax = -10000;
382
                        Zmax = -10000;
-
 
383
                        Zmin2 =  10000;
-
 
384
                        Zmax2 = -10000;
-
 
385
                        X = 0; Y = 0; Z = 0;
383
                        speak = 1;
386
                        speak = 1;
384
                        CompassValueErrorCount = 0;
387
                        CompassValueErrorCount = 0;
385
                        if(Compass_CalState != OldCalState) // only once per state
388
                        if(Compass_CalState != OldCalState) // only once per state
386
                        {
389
                        {
387
                                UART1_PutString("\r\nStarting compass calibration");
390
                                UART1_PutString("\r\nStarting compass calibration");
Line 825... Line 828...
825
 
828
 
826
//----------------------------------------------------------------
829
//----------------------------------------------------------------
827
u8 NCMAG_ConfigureSensor(void)
830
u8 NCMAG_ConfigureSensor(void)
828
{
831
{
829
        u8 crb_gain, cra_rate;
-
 
830
 
832
        u8 crb_gain, cra_rate;
831
        switch(NCMAG_SensorType)
833
        switch(NCMAG_SensorType)
832
        {
834
        {
833
                case TYPE_HMC5843:
835
                case TYPE_HMC5843:
834
                        crb_gain = HMC5843_CRB_GAIN_15GA;
836
                        crb_gain = HMC5843_CRB_GAIN_15GA;
835
                        cra_rate = HMC5843_CRA_RATE_50HZ;
837
                        cra_rate = HMC5843_CRA_RATE_50HZ;
Line 836... Line 838...
836
                        break;
838
                        break;
837
 
839
 
838
                case TYPE_LSM303DLH:
840
                case TYPE_LSM303DLH:
-
 
841
                case TYPE_LSM303DLM:
839
                case TYPE_LSM303DLM:
842
//                      crb_gain = LSM303DLH_CRB_GAIN_19GA;
840
                        crb_gain = LSM303DLH_CRB_GAIN_19GA;
843
                        crb_gain = LSM303DLH_CRB_GAIN_40GA; // seit 2.03 -> 2.2014 
Line 841... Line 844...
841
                        cra_rate = LSM303DLH_CRA_RATE_75HZ;
844
                        cra_rate = LSM303DLH_CRA_RATE_75HZ;
842
                        break;
845
                        break;
Line 949... Line 952...
949
                        yscale = HMC5843_TEST_YSCALE;
952
                        yscale = HMC5843_TEST_YSCALE;
950
                        zscale = HMC5843_TEST_ZSCALE;
953
                        zscale = HMC5843_TEST_ZSCALE;
951
                        break;
954
                        break;
Line 952... Line 955...
952
 
955
 
953
                case TYPE_LSM303DLH:
956
                case TYPE_LSM303DLH:
-
 
957
//                      crb_gain = LSM303DLH_CRB_GAIN_19GA;
954
                        crb_gain = LSM303DLH_CRB_GAIN_19GA;
958
                        crb_gain = LSM303DLH_CRB_GAIN_40GA; // seit 2.03 -> 2.2014 
955
                        cra_rate = LSM303DLH_CRA_RATE_75HZ;
959
                        cra_rate = LSM303DLH_CRA_RATE_75HZ;
956
                        xscale = LSM303DLH_TEST_XSCALE;
960
                        xscale = LSM303DLH_TEST_XSCALE;
957
                        yscale = LSM303DLH_TEST_YSCALE;
961
                        yscale = LSM303DLH_TEST_YSCALE;
958
                        zscale = LSM303DLH_TEST_ZSCALE;
962
                        zscale = LSM303DLH_TEST_ZSCALE;