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
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.

No, just fix the error to make wiced_i2c_init_combined_message works.

0 Likes

Thanks for the support aky

nidal-k​ - Unfortunately, the BCM43907 has not been released to the broad market, so this device family is not supported here on the community forum.  Please work with the local Cypress Sales team or one of our franchised Distributors​ which enabled you for this device as they will be able to line up ongoing support as well.

0 Likes