wiced_i2c_init_combined_message results in linker error undefined platform_i2c_init_combined_message

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I am using wiced_i2c_init_combined_message functionn n when the build stopped due to linker error? undefined platform_i2c_init_combined_message

The function wiced_i2c_init_combined_message calls platform_i2c_init_combined_message

#if 0

platform_result_t platform_i2c_init_combined_message( platform_i2c_message_t* message, const void* tx_buffer, void* rx_buffer, uint16_t tx_buffer_length, uint16_t rx_buffer_length, uint16_t retries, wiced_bool_t disable_dma )

{

This is undefined for SDK 3.7.3 using 43907 platform, using a know demo board BCM943907WAE2_1.B1

if you uncomment the if 0, it will result in more errors.

My question: is there a problem for the processor to support combined I2C message

Thanks

0 Likes
1 Solution
AndrewY_86
Employee
Employee
25 sign-ins 25 replies posted 10 replies posted

The 43907 has the I2C functions wiced_i2c_read and wiced_i2c_write, I suggest using these instead. These functions allow you to choose which conditions are used in the transmission. For example:

uint8_t receive[10];

uint8_t transmit = 0x00;

wiced_i2c_write( &i2c_device, WICED_I2C_START_FLAG, &transmit, 1 );

wiced_i2c_read( &i2c_device, WICED_I2C_REPEATED_START_FLAG | WICED_I2C_STOP_FLAG, receive, 10 );

This will send  a START condition, transmit the address & write data, REPEATED_START, then transmit the address & read data, then STOP.

View solution in original post

3 Replies