1STMicroelectronics mag40 magnetometer sensor device driver for Google nanohub. 2 3This drivers support following devices: 4 - LSM303AGR 5 - LSM303AH 6 - LIS2MDL 7 8- Supported features: 9 10A. Reports geomagnetic field vector data 11B. Different data rates: 10/20/50/100 Hz 12C. I2C protocol 13D. Data ready reported by interrupt 14 15 16- Platform/variant porting: 17 18The driver requires that following macros are defined in the variant.h 19file of the specific variant: 20 21 ST_MAG40_CAL_ENABLED /* specify whether the magnetic calibration API must be included */ 22 23 ST_MAG40_I2C_BUS_ID /* specify I2C Bus ID */ 24 ST_MAG40_I2C_SPEED /* specify I2C Bus speed in hz */ 25 ST_MAG40_I2C_ADDR /* specify device I2C address */ 26 27 ST_MAG40_INT_PIN /* specify the gpio used for the DRDY irq */ 28 ST_MAG40_INT_IRQ /* specify the exti interrupt of ST_MAG40_INT_PIN */ 29 ST_MAG40_ROT_MATRIX /* specify how axis has to be rotated according to variant platform 30 * orientation. 31 * 32 * = r11, r12, r13, r21, r22, r23, r31, r32, r33 33 * 34 * Rotation: 35 * 36 * [x'] [r11 r12 r13] [x] [r11*x + r12*y +r13*z] 37 * [y'] = [r21 r22 r23] * [y] = [r21*x + r22*y +r23*z] 38 * [z'] [r31 r32 r33] [x] [r31*x + r32*y +r33*z] 39 */ 40 41Example: 42 43 /* 44 * Define platform/variant dependent ST_MAG40 device macros 45 */ 46 #define ST_MAG40_CAL_ENABLED 1 47 48 /* I2C defs to be used when device is plugged on U4 slot */ 49 #define ST_MAG40_I2C_BUS_ID 0 50 #define ST_MAG40_I2C_SPEED 400000 51 #define ST_MAG40_I2C_ADDR 0x1E 52 53 #define ST_MAG40_INT_PIN GPIO_PB(4) 54 #define ST_MAG40_INT_IRQ EXTI4_IRQn 55 56 #define ST_MAG40_ROT_MATRIX 0, 1, 0, 1, 0, 0, 0, 0, 1 57 58If these macros are not defined in the current variant the driver forces a compilation 59error. 60