Jump to content

Neil Pate

Members
  • Content Count

    896
  • Joined

  • Last visited

  • Days Won

    66

Everything posted by Neil Pate

  1. I think you need to start with a simpler example. (And sorry I mistakenly thought you were using RT, you are using an FPGA card in a PC, right?) Try and make the most simple scenario you can think of. A simple VI generating a single point of the triangle wave at a time. Transfer this value to the FPGA but wire this to all the analogue outputs at the same time. If you still have a phase shift then something really weird is going on. It has been a while since I used a PC based FPGA card, is is possible the FPGA analogue outputs have different configuration somehow in the .lvproj? Like
  2. I suspect the problem might be you are essentially trying to do single point output from the RT side of things. The property node on the RT might look like it is doing everything at once, but I don't think it actually does update all the values as the same time. Normally you would generate a waveform by either doing all the maths on the FPGA itself or using a DMA FIFO or something similar. If you are determined to do the signal generation on the RT then try replace your 8 controls that you are using to send the points to the FPGA with a single cluster of 8 elements. This will guarant
  3. Better check your sense of humour detector, I think it might be faulty.
  4. I believe this now referred to as "Agile" ๐Ÿ˜‰ But in all seriousness, not attempting something for fear of failure is not something I have ever really worried about. Also, it is pretty much impossible to fail on 100% hobby/pet-project/learning experience.
  5. I think what Thomas meant is that if you are going to use Dynamic Dispatch (DD) then you are forced to have the same data type as the connector pane of the concrete DD VIs all have to be identical. If you already have something working its probably ok. As an example you cannot have Instrument 1 return an array of DBL and Instrument 2 return an array of SGL for a "Read.vi".
  6. Hey Rob (UncleFungus๐Ÿคฃ๐Ÿคฃ) I actually moved away from that library in the end as I have my own actor style so wanted something more low level. I now cannot find my old code that was working with this library. I now use the MQTT library from daq.io as it gives me the low level access I need. Looking at your screenshot though I think I remember. Just at the bottom you have the cluster with User Name. I am pretty sure the private key string (as copied directly out of Azure) goes there or in one of the elements of that cluster. Now, in my production system I have moved away from this t
  7. Thank you. I will try and get some more info on exactly what is required.
  8. I have some information from one of my customers but it's a bit muddled and I am trying to understand it. As it has been described to me, a USB stick is used to "download" LabVIEW and use it as an "operating system". So obviously there is a bit of a mismatch of vocabulary here or understanding of what LabVIEW is, the closest ideas I have is that this is some kind of Linux Live USB or perhaps running the LabVIEW application directly off the memory stick without installing the RTE. Does anyone know if it is possible to run a LabVIEW application without installing the RTE by carefully placi
  9. Ok cool, I will pick it up again. ๐Ÿ™‚ Stupidly I am now thinking of moving the game logic to python as this will give me a chance to play with the python integration node in LabVIEW (assuming it is not too slow) and also polish up my python. The intention is that I can modify it while the game is running.
  10. Toying with the idea of dusting this off. Is anyone interested in this?
  11. That sounds like a fantastic opportunity, I am sure you will smash it out the park. To infinity and beyond!
  12. I normally place a small transparent decoration over the control and this fixes it. Especially useful for tables where you are updating a reasonable amount of text.
  13. RAM is virtually free these days. As much as I love and absolutely strive for efficiency there is just no point in sweating about several MB of memory. There is no silver bullet, if I need to do multiple things with a piece of data it is often so much easier to just make a copy and forget about it after that (so multiple Queues, multiple consumers of a User Event, whatever). It is not uncommon for a PC to have 32 GB of RAM, and even assuming we are using only 32 bit Windows that still means nearly 3 GB of RAM available for your application which is actually an insane amount.
  14. No need to apologise, it did not come across like that at all. There is no rule that says you have to update your entire GUI every time a big chunk of data comes in. Its perfectly ok to have the GUI consumer react to the "data in" type event and then just ignore it if its not sensible to process. Assuming your GUI draw routines are pretty fast then its just about finding the sweet spot of updating the GUI at a sensible rate but being able to get back to processing (maybe ignoring!) the next incoming chunk. That said, I normally just update the whole GUI though! I try and aim for abou
  15. My consumers always (by design) run faster than the producer. At some point any architecture is going to fall over even with the biggest buffer in the world if data is building up anywhere. User Events or queues or whatever, if you need lossless data it is being "built up" somewhere.
  16. No, not at all. My producers just publish data onto their own (self-created and managed) User Event. Consumers can choose to register for this event if they care about the information being generated. The producer has absolutely no idea who or even how many are consuming the data.
  17. I exclusively use events for messages and data,even for super high rate data. The trick is to have multiple events so that processes can listen to just those they care about.
  18. if you can get this all done in C++ in a few days I am mighty impressed ๐Ÿ™‚
  19. Well now you are really getting in the need for a proper architecture with HAL and clonable/re-entrant actors and stuff. Not something that can be easily described in a few sentences.
  20. You don't really need to worry about performance of the GUI anyway until you are getting into real-time updating of graphs with hundreds of MB of data. Even then it can be done if you are careful.
  21. You do use the same "normal" controls in the class private data as you would in your GUI. This is 100% ok and you can use whatever you like as they will never be visible at runtime, they are just a visual representation of your data types. What you choose to show on the GUI is totally unrelated to what data you choose to have in the classes.
  22. I especially like the bit where it locks up my PC so hard that even the mouse stops responding.
  23. that is nice but I found it way too heavyweight to use regularly. My debugger is built into my application and can be used even in the exe
  24. A simple way I have found which works quite nicely is to get the clone to register itself with some kind of repository (FGV). I then have another tool which reads from the list of running VIs and can do stuff like display status, open block diagrams etc.
  25. Have you tried GitKraken? I know every harps on about how the only way to use git is from the command line but I don't actually think that is a good way to get to know something as complicated as git. Sure, move onto to the command line but don't start there. Learning a new VCS should happen slowly and mostly painlessly, who has the time to spend getting intimately acquainted with a new tech that does not actually help get the bill-paying project out the door?
×
×
  • Create New...

Important Information

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