Jump to content

crossrulz

Members
  • Posts

    541
  • Joined

  • Last visited

  • Days Won

    23

Everything posted by crossrulz

  1. To turn a FIFO into a LIFO, simply use the "Enqueue Element At Opposite End" instead of the "Enqueue Element".
  2. I'm with DaveC. The simplest way to handle this is to set the drop down box to display in Hex. Then you don't have to worry about the conversions yourself. I would also recommend making a switch to go between ASCII and Hex display. I do this a lot when I have to deal with serial port displays.
  3. I think you are going to need to post some code because I am not understanding your issue. Some code context could help.
  4. What display setting do you have for the 40 constant? If it is in Hex mode, then 40 = @ which will make that VI return a 0. If it is in normal mode, then I don't see anything wrong.
  5. I've been down that road too many times. When it comes to serial communication, you need to separate your GUI code from the serial communication (specifically the reading). The simplest way is to use a producer/consumer architecture. If you have questions about how it works, then I'll be more than happy to answer them. But from what I've seen, you are not going to get where you want to go with your current architecture.
  6. I few years ago, I took someone's c code for AES and turned it into a dll using CVI. I then made wrappers to go around the dll. I we were using AES256, but I think the dll will work with AES128. The arrays are byte arrays. AES.zip
  7. Do you want the ASCII characters '2', '3', '.', and '3' (0x3233 2E33) or do you want the computer language (0x4037 4CCC CCCC CCCD)?
  8. Seems to me like you are going to have to make a counter in software. The brute force way is to throw the input data into a for loop and look for transitions (go above and/or below threshold levels).
  9. First of all, I'm going to recommend the Producer/Consumer design pattern for what I think you are trying to do. I basically split up your code into a GUI loop and a Serial Communications loop. When you change a value in the GUI, the corresponding event should trigger and you then tell the serial communications loop what to send/read using a queue. I'm hoping this will give you enough of a kick start to get you going the rest of the way. Attached VI should be in 8.5. newvi.vi
  10. That sucks dude. We are worried about a big project of ours suddenly shutting down, which could put my job in jeopardy too. Still waiting for the end of the recession to hit main street...
  11. It's not open source, but NI does have a Linux version http://sine.ni.com/nips/cds/view/p/lang/en/nid/2541
  12. Looks like this is the same problem/assignment as here: http://lavag.org/topic/13769-checkbox-help-dont-know/ sjukheter: post some code of what you have and we will be a little more willing to help. We will not do your work for you, but we are willing to point you in the right direction if you show some effort.
  13. Assuming you don't have the Basic version of LabVIEW, use an event structure. It is much better than polling all of your buttons. Here is a picture of what I could figure you are trying to do.
  14. according to page 13 (PDF page 15), the cr is a carriage return, aka 0x0D, aka '\r'. Instead of \n (0x0A), you should be using \r
  15. Try setting the "Disabled" property on the strings. You can use the event structure to watch for the "Regulated" check box to change value and then set the "Disabled" property on the strings to either "Enabled" or "Disabled and Greyed Out".
  16. I have run into a similar situation with Switch Executive. You need to make sure you installed the support for "Latest LabVIEW Version" or for LabVIEW 2010 for the drivers. I suspect the former since the installer should have auto-detected LV2010.
  17. The idea has enough Kudos. But still wait for the "In Development" status to come up.
  18. decisions decisions... I bet you can't select to use either one (I noticed the "Use Selected Item" button was greyed out).
  19. Actually, there's an NI Update Service. I can't use it because of our network, but it's there.
  20. That was my first thought. Back in my Radio Shack days, I sold racing headphones (as in NASCAR) that had 60dB of reduction. Personally, I'm with Paul. I have my iPod and Bose QC2 noise canceling headphones. Sometimes it seems like I can't think without them on.
  21. See my first post. The Wait ms Multiple doesn't wait for the desired number of ms. I waits until the ms counter (a global counter) reaches a multiple of the input.
  22. Yep, you are using the wrong wait. On an aesthetic note, instead of using the sequence structure, you might want to consider using a VI like this for the wait. I admit that I took this function from the Bloomy's LabVIEW Style Book and then edited it a little. It uses the error cluster to keep data flow instead of using the sequence structure. It helps keep my code clean. And if you haven't already, vote up this idea in the Idea Exchange. Wait.vi
  23. I'm not sure I fully understand the problem. Posting some code would help the debug process. From my current understanding, it sounds like the Wait (ms) would be the function you want. The Wait Until Next ms Multiple function will sit there until the ms counter reaches a multiple of the programed value. So the first loop you set to 200ms. The Wait Until Next ms Multiple will sit there until the counter reaches 200. Next loop, you set the loop rate to 75. The Wait Until Next ms Multiple will sit there until the counter hits 225. So then you really only had a 25ms loop. Check out this snippet as an example. Note: You may have an output clock value off by 1ms due to Windows timing.
  24. I typically use FIFOs in an FPGA. In my current programs, I use 1 DMA to send data down to the FPGA and another DMA to get data back. I then have one loop that reads in the DMA commands and then sends the commands to the relevant sections of code (I have a digital input, digital output, square wave generation, and specific communication bus sections of code) using FIFOs. By using globals, you can slow down your FPGA since sections of code will be blocked until the other section accesses it. There are times that I used them (non critical timing), but try to avoid them.
  25. This doesn't look like it should work since you have a race condition on your Max Index(es). You really should use wires instead of the value property node. On another side note: locals are better than property nodes for getting/setting a value from a control/indicator, but a wire is best.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.