This repository has been archived by the owner on Sep 10, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 372
Pytrack 1.0 I2C initialization errors with LoPy4 #136
Comments
Hi Dan. Wrt the hang - do you actually need to power cycle or is it enough to press the reset button on the lopy? Could you do me a favor and put some print statements into the |
Also, one more thing. Could you take photos from your oscilloscope showing the SCL line comparing cases when it works/ doesn't work for you? I just tried and with the samples I have I couldn't reproduce it. |
Dear Peter:
Thank you for your very prompt reply.
To answer your question, it's enough to press the reset button, no need for
a complete power cycle.
Unfortunately, due to the urgency of deploying this prototype into the
field, I have moved from using the Pytrack to just using a LoPy4 with an
external GPS module via UART. Much easier than I2C. I will look into the
questions you asked at a later date when I am able to get into that.
But I do appreciate your interest and support.
Best,
Dan
El mar, 9 mar 2021 a las 4:28, peter-pycom ***@***.***>)
escribió:
… Also, one more thing. Could you take photos from your oscilloscope showing
the SCL line comparing cases when it works/ doesn't work?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#136 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADE75YWMJGWUAXYX4D2RJRDTCXZ6TANCNFSM4Y2NMVIQ>
.
|
Ok. I remotely remember that I had seen something like this, but I couldn't reproduce it. So it would be really helpful to have your input. Whenever you have time! |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Hello,
I have been attempting to use the Pytrack 1.0 with DFU 0.0.8 and a LoPy4 running the following firmware:
(sysname='LoPy4', nodename='LoPy4', release='1.20.2.r0', version='v1.11-783192e on 2020-08-06', machine='LoPy4 with ESP32', lorawan='1.0.2', sigfox='1.0.1', pybytes='1.5.1')
Unfortunately, initialization of the Pytrack module is spotty at best. I have used both the old pytrack.py library, as well as the pycoproc_1.py library. When I call either
py=Pytrack()
orpy=Pycoproc(Pycoproc.PYTRACK)
, I keep getting I2C errors like these:If I add a while loop and try/except statements, the Pytrack sometimes initializes after several attempts, and then I am able to use the GPS module to get (lat,lon) coordinates. Basically, once it initializes it does not fail again, but the initialization is extremely difficult to achieve.
For example, when running this code:
I get this output:
Which shows that eventually the Pytrack is initialized and the GPS starts to work (eventually I get the correct coordinates instead of (None, None)).
I attempted to read the I2C bus and I got two results. For an immediate initialization of the Pytrack, the SDA line looks like shown below. Note the very beginning seems to be the data sent to initialize the Pytrack and then we receive periodic data from the GPS.
Then, a delayed initialization (in which the Pytrack only initializes after several attempts) looks like shown below. Note significant more data is sent on the SDA line before the line goes quiet and then the Pytrack initializes (which is shown by the periodic data pulses on the right of the image).
Another thing that also happens is that sometimes the LoPy4 just hangs, without throwing any exceptions, and then only a power cycle works. This is mentioned in this thread already: https://forum.pycom.io/topic/5595/pytrack-i2c-causes-system-to-freeze
Any ideas why the initialization of the Pytrack takes so many attempts? I have already tried to change the LoPy4 to no effect. I cannot change the Pytrack as it is the only module at my disposal.
Best,
Dan
The text was updated successfully, but these errors were encountered: