CC2538 RF overlapping PIN usage #8779
Labels
Area: drivers
Area: Device drivers
Area: network
Area: Networking
Type: bug
The issue reports a bug / The PR fixes a bug (including spelling errors)
Description
In the CC2538 RF initialization (
cc2538_init()
incpu/cc2538/radio/cc2538_rf.c
) the function uses some of the pins in order to observe the state of signals. For this it differentiates between the openmote-cc2538 and the cc2538dk board, but when used with a REMote-RevB for example, the pins interfere with the other pins needed for I²C.Therefore using a REMote-RevB as a I²C Bus master additionally to the CC2538 radio transceiver causes problems.
Steps to reproduce the issue
Use a REMote-RevB as a I²C bus master while also adding the cc2538_rf module.
Expected results
Bus communication and 2.4 GHz communication functions without problem.
Actual results
I²C Bus communication fails and the CC2538 I²C code is not able to able to recover:
recover_i2c_bus(): Failed to release SDA after 200 SCL pulses
Versions
Solution
A solution was to was to add an other ifdef capsulation and differentiating between more boards. The code snippet in question is starting at line 99 in the mentioned file and is as follows:
I would propose either to generalize it and offer the pins via the board configuration or to add more ifdef capsulations for other boards.
The text was updated successfully, but these errors were encountered: