@@ -31,7 +31,7 @@ BME68X_INTF_RET_TYPE bme68x_i2c_read(uint8_t reg_addr, uint8_t *reg_data, uint32
3131{
3232 uint8_t dev_addr = * (uint8_t * )intf_ptr ;
3333
34- return coines_read_i2c (dev_addr , reg_addr , reg_data , (uint16_t )len );
34+ return coines_read_i2c (COINES_I2C_BUS_0 , dev_addr , reg_addr , reg_data , (uint16_t )len );
3535}
3636
3737/*!
@@ -41,7 +41,7 @@ BME68X_INTF_RET_TYPE bme68x_i2c_write(uint8_t reg_addr, const uint8_t *reg_data,
4141{
4242 uint8_t dev_addr = * (uint8_t * )intf_ptr ;
4343
44- return coines_write_i2c (dev_addr , reg_addr , (uint8_t * )reg_data , (uint16_t )len );
44+ return coines_write_i2c (COINES_I2C_BUS_0 , dev_addr , reg_addr , (uint8_t * )reg_data , (uint16_t )len );
4545}
4646
4747/*!
@@ -51,7 +51,7 @@ BME68X_INTF_RET_TYPE bme68x_spi_read(uint8_t reg_addr, uint8_t *reg_data, uint32
5151{
5252 uint8_t dev_addr = * (uint8_t * )intf_ptr ;
5353
54- return coines_read_spi (dev_addr , reg_addr , reg_data , (uint16_t )len );
54+ return coines_read_spi (COINES_SPI_BUS_0 , dev_addr , reg_addr , reg_data , (uint16_t )len );
5555}
5656
5757/*!
@@ -61,7 +61,7 @@ BME68X_INTF_RET_TYPE bme68x_spi_write(uint8_t reg_addr, const uint8_t *reg_data,
6161{
6262 uint8_t dev_addr = * (uint8_t * )intf_ptr ;
6363
64- return coines_write_spi (dev_addr , reg_addr , (uint8_t * )reg_data , (uint16_t )len );
64+ return coines_write_spi (COINES_SPI_BUS_0 , dev_addr , reg_addr , (uint8_t * )reg_data , (uint16_t )len );
6565}
6666
6767/*!
@@ -111,7 +111,7 @@ int8_t bme68x_interface_init(struct bme68x_dev *bme, uint8_t intf)
111111
112112 if (bme != NULL )
113113 {
114- int16_t result = coines_open_comm_intf (COINES_COMM_INTF_USB );
114+ int16_t result = coines_open_comm_intf (COINES_COMM_INTF_USB , NULL );
115115 if (result < COINES_SUCCESS )
116116 {
117117 printf (
@@ -126,13 +126,16 @@ int8_t bme68x_interface_init(struct bme68x_dev *bme, uint8_t intf)
126126 setbuf (stdout , NULL );
127127#endif
128128
129- if (result = = COINES_SUCCESS )
129+ if (result ! = COINES_SUCCESS )
130130 {
131- if ((board_info .shuttle_id != BME68X_SHUTTLE_ID ))
132- {
133- printf ("! Warning invalid sensor shuttle \n ," "This application will not support this sensor \n" );
134- exit (COINES_E_FAILURE );
135- }
131+ printf ("\n Unable to retrieve board information ! \n" );
132+ exit (COINES_E_FAILURE );
133+ }
134+
135+ if ((board_info .shuttle_id != BME68X_SHUTTLE_ID ))
136+ {
137+ printf ("! Warning invalid sensor shuttle \n ," "This application will not support this sensor \n" );
138+ exit (COINES_E_FAILURE );
136139 }
137140
138141 coines_set_shuttleboard_vdd_vddio_config (0 , 0 );
@@ -146,7 +149,11 @@ int8_t bme68x_interface_init(struct bme68x_dev *bme, uint8_t intf)
146149 bme -> read = bme68x_i2c_read ;
147150 bme -> write = bme68x_i2c_write ;
148151 bme -> intf = BME68X_I2C_INTF ;
149- coines_config_i2c_bus (COINES_I2C_BUS_0 , COINES_I2C_STANDARD_MODE );
152+
153+ /* SDO pin is made low */
154+ coines_set_pin_config (COINES_SHUTTLE_PIN_SDO , COINES_PIN_DIRECTION_OUT , COINES_PIN_VALUE_LOW );
155+
156+ result = coines_config_i2c_bus (COINES_I2C_BUS_0 , COINES_I2C_STANDARD_MODE );
150157 }
151158 /* Bus configuration : SPI */
152159 else if (intf == BME68X_SPI_INTF )
@@ -156,7 +163,12 @@ int8_t bme68x_interface_init(struct bme68x_dev *bme, uint8_t intf)
156163 bme -> read = bme68x_spi_read ;
157164 bme -> write = bme68x_spi_write ;
158165 bme -> intf = BME68X_SPI_INTF ;
159- coines_config_spi_bus (COINES_SPI_BUS_0 , COINES_SPI_SPEED_7_5_MHZ , COINES_SPI_MODE0 );
166+ result = coines_config_spi_bus (COINES_SPI_BUS_0 , COINES_SPI_SPEED_7_5_MHZ , COINES_SPI_MODE0 );
167+ }
168+
169+ if (COINES_SUCCESS != result )
170+ {
171+ rslt = COINES_E_COMM_INIT_FAILED ;
160172 }
161173
162174 coines_delay_msec (100 );
@@ -187,5 +199,5 @@ void bme68x_coines_deinit(void)
187199 /* Coines interface reset */
188200 coines_soft_reset ();
189201 coines_delay_msec (1000 );
190- coines_close_comm_intf (COINES_COMM_INTF_USB );
202+ coines_close_comm_intf (COINES_COMM_INTF_USB , NULL );
191203}
0 commit comments