Hello, I am rying to use the BHy1_driver_and_MCU_solution. I have followed the porting instructions and after I call bhy_driver_init() I get my error message. I tried printing the error code and -18 printed out. The thing is I don't see a #define statement in bhy.h defining -18.
s8 bhy_err =0;
bhy_err = bhy_driver_init(bhy_firmware_image);
printk("Fail to init bhy %d \n",bhy_err);
printk("initialized,waiting for interupt...\n");
printk("entering while loop \n");
What is also weird, is that the interupt pin also fires and the statement "entering while loop prints in my terminal".
I believe I have implemented the I2C functions correctly, returning 0 for succes and a negative value in case of failure.
Does anyone have any insight?
For the error code is -18.
we have a "BHY_INIT_RETRY_COUNT" to define retry times when download failed. default is 3.
so error code is -6 actually. It means the CRC error.
which fw you used? and what board you use?
Thanks for the reply.
I am using the BHI160BP even though it says BHI160B on the shuttle board. I tryed to upload Bosch_PCB_7183_di03_BMI160-7183_di03.2.1.11696_170103.fw and Bosch_PCB_7183_di03_BHI160BP_PDR_6DOF_8G-7183_di03.2.1.11696_r5.1.bin . I used the fw2header tool to convert to a .h file.
What exactly does CRC error mean? Does it mean the I2C communication is bad?