<< return to Pixycam.com

No signal from Pixy's UART Transmit Pin Firmware: 2.0.8 [***SOLVED***]

Hello,

I am a teaching assistant at a university of Nebraska were we teach Mobile Robotics to a class of 19 students using a proprietary robotics platform called the “CEENBoT”. I also persuaded my department to purchase 12 Pixys with Pan-and-Tilt mechanism to work with a proprietary “API” library that runs on the CEENBoT. Today, we had a situation where half of my class couldn’t not get their Pixys to work (via UART, since our library was written to work with the Pixy via UART).

After doing some investigating I found that some of the cameras work while some didn’t. I hooked up an oscilloscope on pin 4 (transmit pin of the Pixy on header J2) and for cameras that have firmware 0.1.44, I can see data being transmitted out the UART pin beautifully; transmitting 0x00 when no detection is taking place and arbitrary data otherwise, just as it should. But those cameras with firmware 2.0.8 do not transmit ANYTHING at all (stays at 0 Volts).

For the cameras with firmware 2.0.8, I downgraded them to 0.1.44, and the minute I configured the Pixy (using Pixymon) to transmit out of UART with 115200bps, click [APPLY] and close Pixymon, the UART’s transmit pin comes back to life. Then, I switch back to 2.0.8 (even tried 2.0.6) and again, NO signal. This was the case even after training and verifying that the camera can detect the object, and then closing Pixymon (since with 0.1.44, for example, data will not transmit out of the UART while Pixymon has `hold’ of the Pixy).

Testing and firmware downgrade/upgrade was done using Pixymon 1.49 and Pixymon 2.06 as needed running on OSX Yosemite. I tested three cameras from our batch, and all have “Rev 1.3” in the back of the PCB and all three exhibited the same symptom (no data from UART except for firmware 0.1.44).

I’d like to point out again that we’re not using Arduino, nor Arduino’s library. This is simply the Pixy (hooked up via USB, and attached to a `scope’) — so we’re not even using our own library mentioned above.

Now, I always assume that I am at fault here or that I am missing something. So, can you guys help me verify this issue? Or provide suggestions on what I could be doing wrong? …or things I could try?

Thanks again in advance.

  • Joscci -

Hello Joscci,
Please note that the “Data out port” parameter numbers changed with version 2.0. UART is now 3 instead of 2 for older versions of firmware.

If you hover your mouse over the parameter in the configure dialog it will describe which values represent which output mode.

Let me know what you find. There are no known issues that are similar to what you describe.

Edward

Ah,

If that is true, then I am nearly 100% certain this is precisely the reason why I’m not seeing a signal out of the UART TX pin for cameras with firmware 2.0.8. Our “Getting Started Guides” we wrote for our students were written from work surrounding a camera with firmware 0.1.44, and it specifically instructed them to set the “Data out port” field to “2”. So that explains our problem. I’ll need to verify, but at this point I’m certain this will take care of the matter.

My next question, naturally, is WHY did these values change as previously prescribed? Was it necessary? Why not instead—and how hard is it—to simply implement a ‘drop-down’ menu in the GUI that says “I2C”, “UART”, “SPI (Default)” and dispense with the numbers by hiding them behind the scenes in the back-end and only present symbolic constants to the user in the front-end? (Just a suggestion).

In any case, I am grateful for the reply and for your time. As I said originally, I was certain that there was something I was missing.

Thanks again! :o)

  • Joscci -

Hello Joscci,
Yes, you are absolutely correct, a drop-down would be much better. The reason it’s done this way is because the PixyMon queries Pixy for the parameters and their values and renders them in the parameter tabs. PixyMon can also query Pixy for a little table that contains the numbers and the string values so it can make a pull-down menu (for example) for certain parameters. It’s just the next step and will be added fairly soon.

Edward