07-02-2024 11:50 AM
I follow the guide here to build my custom firmware "Bosch_APP30_SHUTTLE_BHI260_aux_BMM150_BMP390_Cus.fw" and I have been able to generate .fw and .fw.h necessary to retrieve data from BHI260ap (Acc+Gyr) and from BMM150 (Magn), and the pressure data from BMP390 adding VirtPressure and VirtWakeupPressure sensors:
#Global Configuration
stuffelf,13
irq,0
evcfg,0,0,0,0,0,0,0,0,0,0,0,0
#Pin, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27
pull, off, on, off, off, on, off, on, on, off, off, off, off, off, off, off, off, off, on, on, on, on, off, on, off, on, off, off, off
gpio, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz, hiz
sif_cfg,1
hif_disable,0
fifo,50.00
wordsreq,0
turbo,0
rom,0
build_type,all
rom_name,bosch_rom
hw,7189
version,0
#Any Accel + Any Gyro + BMM150Mag_aux
config_list,libs/BSX/SolutionList/csvList_SENSORHUB_BHY2_AMG_5.txt
#Physical Drivers
#DriverID,Bus,Addr,GPIO,Cal0,Cal1,Cal2,Cal3,Cal4,Cal5,Cal6,Cal7,Cal8,Off0,Off1,Off2,maxRate,Range
32,spi0,25,2, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 800.000000, 0 #BHI260Accel
33,spi0,25,-, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 800.000000, 0 #BHI260Gyro
24,spi0,25,-, 1, 0, 0, 0, -1, 0, 0, 0,-1, 0, 0, 0, 50.000000, 0 #BMM150Mag_aux
57,i2c1,118,-, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25.000000, 0 #BMP390
#Virtual Drivers,maxRate
240, -1.000000 # VirtBSX: BSX depends on a programatic trigger source.
241, 400.000000 # VirtBSXAccel: accelerometer corrected data depends on VirtBSX.
209, 400.000000 # VirtBSXAccelOffset: accelerometer offset data depends on VirtBSX.
205, 400.000000 # VirtBSXAccelPassthrough: accelerometer passthrough data depends on VirtBSX.
203, 400.000000 # VirtBSXAccelUncal: accelerometer raw data depends on VirtBSX.
235, -1.000000 # VirtBSXActivity: activity depends on VirtBSX.
163, -1.000000 # VirtBSXDeviceOrientation: device orient depends on VirtBSX.
252, 400.000000 # VirtBSXGameRotation: game RotationVector depends on VirtBSX.
253, -1.000000 # VirtBSXGeoRotation: mag RotationVector depends on VirtBSX.
234, -1.000000 # VirtBSXGlanceGesture: glance gesture status depends on VirtBSX.
247, 400.000000 # VirtBSXGravity: gravity depends on VirtBSX.
243, 400.000000 # VirtBSXGyro: gyro corrected data depends on VirtBSX.
208, 400.000000 # VirtBSXGyroOffset: gyro offset data depends on VirtBSX.
207, 400.000000 # VirtBSXGyroPassthrough: gyro passthrough data depends on VirtBSX.
244, 400.000000 # VirtBSXGyroUncal: gyro raw data depends on VirtBSX.
246, 400.000000 # VirtBSXLinearAccel: linaccel depends on VirtBSX.
242, -1.000000 # VirtBSXMag: mag corrected data depends on VirtBSX.
210, -1.000000 # VirtBSXMagOffset: mag offset data depends on VirtBSX.
206, -1.000000 # VirtBSXMagPassthrough: mag passthrough data depends on VirtBSX.
245, -1.000000 # VirtBSXMagUncal: mag raw data depends on VirtBSX.
254, 400.000000 # VirtBSXOrientation: orient depends on VirtBSX.
233, -1.000000 # VirtBSXPickupGesture: pickup gesture status depends on VirtBSX.
251, 400.000000 # VirtBSXRotation: RotationVector depends on VirtBSX.
250, -1.000000 # VirtBSXSigMotion: sigmotion depends on VirtBSX.
249, -1.000000 # VirtBSXStepCounter: step count depends on VirtBSX.
248, -1.000000 # VirtBSXStepDetect: step detect depends on VirtBSX.
236, -1.000000 # VirtBSXTiltDetector: tilt detect depends on VirtBSX.
192, 400.000000 # VirtBSXWakeupAccel: wakeup accelerometer corrected data depends on VirtBSX.
204, 400.000000 # VirtBSXWakeupAccelUncal: wakeup accelerometer raw data depends on VirtBSX.
164, -1.000000 # VirtBSXWakeupDeviceOrientation: wakeup device orient depends on VirtBSX.
200, 400.000000 # VirtBSXWakeupGameRotation: wakeup game RotationVector depends on VirtBSX.
201, -1.000000 # VirtBSXWakeupGeoRotation: wakeup mag RotationVector depends on VirtBSX.
232, -1.000000 # VirtBSXWakeupGesture: wakeup gesture status depends on VirtBSX.
198, 400.000000 # VirtBSXWakeupGravity: wakeup gravity depends on VirtBSX.
194, 400.000000 # VirtBSXWakeupGyro: wakeup gyro corrected data depends on VirtBSX.
195, 400.000000 # VirtBSXWakeupGyroUncal: wakeup gyro raw data depends on VirtBSX.
197, 400.000000 # VirtBSXWakeupLinearAccel: wakeup linaccel depends on VirtBSX.
193, -1.000000 # VirtBSXWakeupMag: wakeup mag corrected data depends on VirtBSX.
196, -1.000000 # VirtBSXWakeupMagUncal: wakeup mag raw data depends on VirtBSX.
160, -1.000000 # VirtBSXWakeupMotionDetect: wakeup motion detect depends on VirtBSX.
202, 400.000000 # VirtBSXWakeupOrientation: wakeup orient depends on VirtBSX.
199, 400.000000 # VirtBSXWakeupRotation: wakeup RotationVector depends on VirtBSX.
161, -1.000000 # VirtBSXWakeupStationaryDetect: wakeup stationary detect depends on VirtBSX.
231, -1.000000 # VirtBSXWakeupStepCounter: wakeup step count depends on VirtBSX.
230, -1.000000 # VirtBSXWakeupStepDetect: wakeup step detect depends on VirtBSX.
162, -1.000000 # VirtBSXWakeupWristTiltGesture: wakeup wrist tilt gesture status depends on VirtBSX.
224, -1.000000 # VirtHangDetection: hang detector depends on a 25Hz timer.
184, 25.000000 # VirtPressure: pressure depends on a physical pressure source.
218, 25.000000 # VirtWakeupPressure: wakeup pressure depends on a physical pressure source.
but I can't build the conf file for access to the VirtTemperature and VirtWakeupTemperature sensors. Adding the following:
217, 16.000000 # VirtTemperature: temperature depends on a physical temp source.
183, 16.000000 # VirtWakeupTemperature: wakeup temperature depends on a physical temp source.
I got the error
[47] temperature sensor [DriverID 217]
ERROR: Unable to locate parent for sensor id 217 (parent type 17, custom gyro corr).
ninja: build stopped: subcommand failed.
Error running cmake build
Can you help me please to add this feature to my project?
07-03-2024 07:59 AM
Hi forleoma,
Thanks for your inquiry.
The BHI260AP SDK on the official website does not yet support the use of temperature data, and a customer version SDK is required. If you use BHI260AP and BMP390 design projects, you can get in contact with one of our official distributors or sales representatives to allow us to review each project on a case-by-case basis, and request the customer SDK.