Rev 492 | Rev 508 | 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; |