Hello, I tried to find if my exact question was already posted and I’ve already dug into the source code.
I’m using a unique setup and am a software engineer, so digging through source or rebuilding it is an option, but I dont think its needed.
I have found the key function in the Pixy software that could lead to my desired goals. Before brute forcing my way through and possibly rebuilding the firmware I figured maybe some guidance could save me time.
My setup:
- Ev3 w/ PixyCam 2
- Controlling EV3 over USB (right now) using C# https://github.com/mvanderelsen/Lego.Ev3.Framework (not pluggingi in the pixy usb connector )
- I’ve added a custom class in this framework to deal with the Pixy2 and it actually works using a similar call as the UltraSonicSensor
Remarkably this actually works out of the box by calling the subcode READY_RAW. It seems to return the x-centroid of the largest signatured block. Very awesome and useful, but I want to start trying to get other data. It doesn’t have any other data in the remaining buffer, no matter how many detected signatures or blocks are found. So clearly the default setting is not enough. My knowledge of the subop isnt strong and trying to tweak a few parameters didnt lead to any new return data from this call.
I found the C function lego_getData which seems to be the meat of everything and can see how opcodes are driving the logic, but it does not seem obvious to me how to trigger the ‘c’ code with my current subop technuique. I think i’m close and possibly just need to tweak a few parameters or possibly call an entirely different protocol.
In another post there was a question about which code to use to get certain data from the lego system, but there’s no consolidated listing of these ops other than digging through code. I also feel like im close enough that i just need to figure out how to trigger that right condition where more data comes back than just the x-centroid .