View Single Post
  #2   Spotlight this post!  
Unread 15-01-2012, 19:12
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,751
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Crio Vision Processing

Vision data wires work a bit differently from others. The data passed around is an image reference, not the actual pixels. Notice that you have only one image, and the HSL threshold doesn't have a destination image to put the results into. That means that the source image will be overwritten. The image displays, unlike most other wired displays, will display the value sometime after the data is written to them, but they aren't very synchronized. You can make this far better by right clicking on the display and choosing the Snapshot option. This will make an image copy when the value is written, allowing for internal copies that are specific to the display. The other approach is to almost always wire up the distention, the way the example code does it. Then you can probe the one you want.

As for the performance, keep in mind that having the panel open and having displays has a pretty big cost for IMAQ. The cRIO has to compress the images and send them to the PC for display. A nice feature, but there is no way to do this without a pretty big hit on the CPU.

Greg McKaksle
Reply With Quote