Hi guys,
I have the M6E Nano reader, which works like a charm using your Arduino library. However, I need to write a specific tag, which is currently not supported in the library (https://github.com/sparkfun/SparkFun_Si … Reader.cpp, line 363).
Hence, I tried to interact with the M6E Nano using the python-mercuryapi (https://github.com/gotthardp/python-mercuryapi) and the Mercury API (https://www.jadaktech.com/products/thin … rcury-api/#). My computer runs Ubuntu 18.04 and I am member of the dialout group.
The M6E Nano is interfaced using a CH340T USB to UART connector, RX, TX and GND being hooked up. Having read about the power supply issues, I tried both powering the M6E with a fully charged 3.7V 2000 mAh rechargeable battery as well as using the +5V supply from the Arduino (which, as stated above, is sufficient to power the M6E Nano using the Arduino library).
I get the following using Python:
$ python3
>>> import mercury
>>> reader = mercury.Reader("tmr:///dev/ttyUSB3")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Timeout
The same with the C API:
$ ./demo tmr:///dev/ttyUSB3
Error connecting reader: Timeout
I attached a logic analyzer to the UART pins and observed, that using both Python and C, a well-formed packed (FF 00 03 1D 0C) is sent to the M6E Nano, however, in the response I see frame errors.
pulseview.png
This leads me to conclude that there must be some hookup or hardware problem. Googling the problem, people only seem to receive timeouts trying to read while not providing sufficient power.
Does anyone have an idea, what is wrong with my setup? Did anyone update the Arduino library to support targeted read and write?
Thank you!
Martin