Hello,

I cannot get I2C working on my RedBear BLE Nano 2 board. I connected an
accelerometer (LIS3DH) but according to gdb the hal_i2c_master_write/read
functions just time out.

RedBear BLE Nano 2 pins layout:

https://www.kickstarter.com/projects/redbearinc/bluetooth-5-ready-ble-module-nano-2-and-blend-2#h:nano-2


Because rb-nano2's bsp is not configured to support I2C below is what I
added to mynewt-core:

https://github.com/limal/incubator-mynewt-core/commit/353fcb10368811a7bbe3e2b10f019fb44dc121f7


To rule out a possibility that UART_0 is interfering with I2C, that share
the same pins on rb-nano2, I disabled it and send any logging information
via Bluetooth to another nano-2 board. Unfortunately the I2C is still
timing out.

9100:[ts=71093744ssb, mod=4 level=1] GAP procedure initiated: advertise;
disc_mode=2 adv_channel_map=0 own_addr_type=0 adv_filter_policy=0
adv_itvl_min=50 adv_itvl_max=75 adv_data_len=0
9817:[ts=76695268ssb, mod=64 level=1] connection established; status=0
handle=1 our_ota_addr_type=0 our_ota_addr=91:0a:c0:ff:42:57
our_id_addr_type=0 our_id_addr=91:0a:c0:ff:42:57 peer_ota_addr_type=0
peer_ota_addr=0f:0f:0a:0a:0a:0a peer_id_addr_type=0
peer_id_addr=0f:0f:0a:0a:0a:0a conn_itvl=40 conn_latency=0
supervision_timeout=256 encrypted=0 authenticated=0 bonded=0
9827:[ts=76773388ssb, mod=64 level=1]
9828:[ts=76781200ssb, mod=64 level=1] (0): open
10188:[ts=79593712ssb, mod=64 level=1] (0): read_check: 1111
10190:[ts=79609336ssb, mod=64 level=1] (0): hal_write_rc: -1 <-------------
10192:[ts=79624960ssb, mod=64 level=1] (0): hal_read_rc: -11 <-------------
10829:[ts=84601524ssb, mod=64 level=1] (0): read_check: 1111
10830:[ts=84609336ssb, mod=64 level=1] (0): hal_write_rc: -1 <-------------
11469:[ts=89601524ssb, mod=64 level=1] (0): read_check: 1111
12109:[ts=94601524ssb, mod=64 level=1] (0): read_check: 1111
12749:[ts=99601524ssb, mod=64 level=1] (0): read_check: 1111


I have tried adding 10k resistors to pull up SDA/SCL lines but to no avail.
And finally I have also connected the accelerometer to Arduino Uno to
confirm it's working (I posted Arduino code here:
http://discuss.redbear.cc/t/i2c-not-working-on-nano2-in-arduino-and-apache-mynewt/2106
).


I'm very satisfied with mynewt but being unable to use I2C renders the
whole project unusable.

I'd appreciate any help to sort it out and get I2C to work on rb-nano2.

Kind regards,
Lukasz

Reply via email to