Dear Bosch-Sensortec forum members, With "try-and-error-method" I finally found out how to initialize the sensor BMA490L and write into the Register 0x5E "FEATURES_IN". May my solution help some poor souls, trying to get this thing working without importing the whole example code from Bosch.. 1.) start a Soft-Reset register: 0x7E write value: 0xB6 2.) read Chip-ID (Reg 0x00) until it answers "0x1A register: 0x00 read value: 0x1A 3.) set it into "active" mode (deactivate low power) register: 0x7C write value: 0x00 4.) prepare sensor for ASIC-Initialization register: 0x59 write value: 0x00 5.) burst write the whole ~1300 Byte "config-array" from the Bosch example code API (yes, one ~1300 byte long SPI write message...) register: 0x5E value: whole ~1300 Byte "config-array" from the Bosch example code 6.) start the ASIC-Initialization and wait ~200ms register: 0x59 write value: 0x01 7.) optionally, read Register INTERNAL_STATUS register: 0x2A read value: 0x01 ( ASIC-Init success) 0x02 (ASIC-Init error) 8.) now its time to burst write your own features_in settings to adress 0x5E (in little endian) register: 0x5E here are for example my settings (anymotion enabled in all axes, 250mg threshold) uint8_t BMA490L_features_in_config_anymotion_250mg_lsb_first[] =
{
0x00, 0x02, 0x00, 0xE0, 0xAA, 0x00, 0x05, 0x00, 0x40, 0x48, 0x88, 0x00
//5E:00 5E:02 5E:04 5E:06 5E:08 5E:0A
}; for the threshold: 1 LSB equals to 0.48mg -> 250mg = ~ 512*0,48 -> 0x200 (in 5E:00) 9.)now do your other settings: configure interrupt-pin-mappings, setting output data rate, measurement range, activate the acceleration sensor unit and so on... 10.) you can check if your " FEATURES_IN"settings work correctly, by reading out register "INT_STATUS_0" register: 0x1C read value: depends on your settings, for example if only anymotion-interrupt happened, value will be 0x20 kind regards EL JAY
... View more