lab11 / polypoint

Indoor localization based on the DecaWave DW1000.
Apache License 2.0
137 stars 52 forks source link

Making it work / getting started #12

Open 1am opened 6 years ago

1am commented 6 years ago

Hello,

I've made a few prototypes to test out TriPoint circuits on TriBase and TriTag boards. The PCB's arrived mounted well and I'm able to program nRF51 and STM but afterwards it seems that there's an issue with getting the whole device to work... The only thing I can do is connect via BLE (so nRF51 works ok) but STM + DW1000 seem to not be doing anything...

Do you maybe have any tips on what to check? I'm attaching the activity on I2C and SPI lines from the device startup - as you see the I2C commands don't seem right but the FW tested is

screen shot 2017-11-02 at 16 36 23

Tried with tridev and check_version.py scripts but it also fails even though the device enumerates correctly in dmesg.

Traceback (most recent call last):
  File "check_version.py", line 8, in <module>
    tp = tripoint.TriPoint()
  File "/../lab11-polypoint/tripoint/tripoint.py", line 28, in __init__
    self.tripoint = mpsse.MPSSE(mpsse.I2C, mpsse.FOUR_HUNDRED_KHZ)
  File "/usr/local/lib/python2.7/dist-packages/mpsse.py", line 70, in __init__
    raise Exception, self.ErrorString()
Exception: device not found
ppannuto commented 6 years ago

Sorry for the slow response, I've been traveling a bunch lately and am way behind.

First thought is that the chip is really sensitive to the power supply, we never got things working with a switching power supply, so if whatever you're using to power the board is at all noisy, that could be causing problems.

As for first debugging steps, is the STM executing any code, i.e. if you probe the GPIO lines to the DW, do you see these toggles: https://github.com/lab11/polypoint/blob/master/software/firmware/main.c#L274 ?