Why my wiced smart tag download failed when I connect a I2C device?

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

cross mob
Anonymous
Not applicable

I have an I2C device, LM73 TEMP SENSOR. http://www.ti.com/product/lm73

I have connected it on I2C bus, multiplex with on-board EEPROM, they share the I2C bus together.

After connection established, download application firmware is failure.

After I remove LM73, downloading is ok.

Downloading log is enable, they are below.

0 Likes
1 Solution
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog
The firmware team has a similar setup available with an LM73 connected.

They are also using 0x48 << 1 as the slave address and it appears that everything is working correctly.

The debug trace shown below occurs when initializing and then reading the temperature once per second:

GPIO_WP:OFF=0

temperature_sensor_create()

GattDB:20b990, 20b9d4

hdl: perm:len:maxlen:uuid

0001:02:02:02:2800

01 18

0014:02:02:02:2800

00 18

0015:02:05:05:2803

02 16 00 00 2a

0016:02:10:10:2a00

54 65 6d 70 20 73 65 6e 73 6f 72 00 00 00 00 00

0017:02:05:05:2803

02 18 00 01 2a

0018:02:02:02:2a01

00 02

GattDB complete

Reading identification register...

Temperature sensor identified as Manuf: 1, Prod: 9, Rev: 0

&#8230;

temperature_sensor_read_temperature_data returned 3104

The current temperature is: 24 & 1/4 degrees C

Starting new temperature measurement.

Sensor read status returned E9

temperature_sensor_read_temperature_data returned 3156

The current temperature is: 24 & 21/32 degrees C

Starting new temperature measurement.

Sensor read status returned E9

temperature_sensor_read_temperature_data returned 3160

The current temperature is: 24 & 11/16 degrees C

Starting new temperature measurement.

Sensor read status returned E9

temperature_sensor_read_temperature_data returned 3156

The current temperature is: 24 & 21/32 degrees C

&#8230;

Per the last post, I confirmed also that the btp file is in Platforms/BCM920732TAG_Q32/ and that all GPIOs are input enabled by default. However, you cannot use GPIO to drive the sensor as you will need to use a transistor switch to control power to the sensor. Here, you want to use a transistor whose input is tied in such a way that it is turned off. Then, when the FW boots up, the app should drive its GPIO to turn on the switch, which will in turn power the temperature sensor.

We don&#8217;t have a TSL2550 to test, but have seen no problems with the LM73 temperature sensor during download to EEPROM. If the LM73 is not acking, then it could be that the address you are using in the code and the address configured for the LM73 are not the same. If the app uses 0x48, then the part has to be an LM73-0 part with the address pin left floating. The sensor has other address options that you can try (like tying the address pin to Vdd or GND).

Take a look at this latest setup of feedback and let me know if you are able to resolve the issue.

View solution in original post

0 Likes
11 Replies