Jump to content

Neil Pate

Members
  • Content Count

    657
  • Joined

  • Last visited

  • Days Won

    40

Everything posted by Neil Pate

  1. I love the comment in the CRC calculation VI But seriously I would way rather have a not perfect, but functional, implementation any day over password protected stuff. In particular when I was new to modbus and trying to understand which end was actually the tcpip server and how data was persisted this would have been great to have.
  2. Certainly what you are trying to do is possible, however SubPanels can sometimes be a bit tricky to get working nicely. Now I have all my SubPanel code abstracted away using some nice classes, but in the beginning when I was trying to get it to work properly I found it very useful to try and create as simple an example as possible. Trying to debug these kinds of things while running your whole application can be very tricky. If you create some simple examples of how your code does not work out we can probably help you figure our what is going on much quicker. Are you sure your "Update Run Ticket.vi" is actually runnable (i.e. not broken for some reason) when you insert it into the SubPanel? One thing to note, be careful when comparing references if you are dealing with clones. Two clones will return exactly the same reference even though they are running totally independently! In my current framework I pass the SubPanel reference into my VI when I am "initialising" it before running it dynamically, and then I have a method to allow a VI to insert itself into the SubPanel, this allows me to deal with clones as you need the actual reference of the running instance. Also note that with SubPanels I don't think you need to worry about closing FPs before inserting them. As I said in the first paragraph try and create the most simple example you can (just two VIs!).
  3. Sure, I do this all the time too for my free-running processes/actors, but for the situation as simple as a custom dialogue box it makes much more sense (to me at least) to call it as a regular sub-VI instead of convoluting the code with a dynamic call (just to get the FP not removed). Inevitably what happens is I forget to change the settings in the build, however it is pretty simple to just re-build with the corrected settings. Edit: I actually do it slightly differently, preferring to use the VI path rather than the name. Probably does not make much of a difference though.
  4. You should not need the VI in the build directory, all you need to do is change the Source File Setting for the particular VI (Build-->Source File Settings-->Remove front panel, make sure this is unticked).
  5. Hello all, We are an Automation Engineering company based in South Africa looking for project/contract/consultancy work that can mostly be done remotely. Our team has significant experience developing virtually all aspects of the NI toolchain including PC, RT and FPGA and PLC based systems. NI Certifications: CLA, CLED and CPI Systems development and responsible for everything from architecture to final goodbye handshakes and everything in-between Excellent experience with interfacing with hardware (sensors, DAQ, comms, cameras etc) Excellent debugging skills Been practicing modular based design and development for > 10 years Excellent LVOOP skills Good exposure to interfacing with other hardware components via technologies like Modbus or OPC-UA Good GUI/UX development skills (making LabVIEW look not like LabVIEW) Good exposure to DBs and SQL Complementary skills include PLC systems design and development work. If you have any need for LabVIEW/PLC support please do not hesitate to get in touch with me to discuss your individual requirements. Kind regards Neil
  6. I still do not really understand the 4 us requirement. Are you expecting to do something, i.e. react to some signal, in 4 us? Can you not just accept that some portion of the signal processing may lag a bit and then have some sort of buffering mechanism? If you are just storing to disk or memory then as long as you have enough buffer to capture the required sampling history does it really matter if you are not doing the FFT at exactly the same rate? I did some work with a FlexRIO on a system with approx 1000 frames / second rate and we just buffered to RAM on the FPGA card and then spooled it out at a more sensible rate to be processed by the host.
  7. Works fine with the example I have thrown together
  8. Been trying to implement a scrolling camera with wrap around world. Seemingly simple stuff which just seems to get complicated quite quickly! Anybody want to try and crack this for me? I have a bunch of unit tests set up, it passes all the simple ones but falls over when dealing with some of the wrap around.
  9. I don't think 64-bit will be any faster than 32-bit for your application. From what I understand going to 64-bit only helps if you need the extra memory (> 3 GB). I suspect CUDA will be limited to Windows, not realtime (which is Linux). Also, realtime does not imply things actually happen any faster, just there is better determinism. Generally an RT CPU is also quite a bit slower than a desktop CPU. Although I have not done it myself I would expect an FPGA to quite easily process a 2048 point FFT in 4 us, but getting the data to the FPGA in time could be difficult, especially if you have to wait for it to come in on USB and process via the host.
  10. That does work except for the situation where the user changes their mind and moves the mouse out of the popup and releases, then the value of -1 persists.
  11. My main version is 2015, there is quite a noticeable difference. Part of me thinks your suspicion about NXG is not entirely wrong!
  12. I suspect this has to do with the filtering VI you have used, they are "Point by Point" so internally they remember their state. As you have then wrapped these in a sub VI (which you also call on multiple independent channels) you will probably need to set the sub VI reentrancy to clone so that you don't stomp all over your data when you have multiple copies of your sub VI.
  13. Bump for LV2018, no noticeable improvement in this new behaviour that I can see. Editing still feels sluggish and now I am running directly on my dev PC. I have turned off LiveDrag, but wiring operations (especially selections) just seem sluggish. Anybody else troubled by things like this?
  14. Looks like I may be able to get this to work. I need to be able to customise the control so the the button spans the whole of the text to allow you to click anywhere on it. Edit: works well, thanks!
  15. I have spent a good few hours already trying many things. About the closest I got to something workable is to dynamically invoke the short-cut menu on a left-click. Actually that works quite nicely except the menu is positioned at the cursor which looks a bit weird and also uses the OS font rather than the font and size of my GUI.
  16. Mouse down only fires off the first time you click on it, not when the activation menu item is clicked.
  17. I am struggling with this user interaction I would have thought would be easy to solve. My GUI has a ring control populated with some values (a list of recent files). Does anybody know how to handle the situation where they click the same item as is currently selected? I cannot figure out a way to handle this sensibly. Perhaps it would be better to use some other control class? I have been asked to implement this as a drop-down type control (which is quite customised cosmetically).
  18. A simple LabVIEW wrapper around the SDL2 DLL and some utility DLLs There are several test VIs which are my attempt to port the Lazy Foo tutorials. All images in the Test directory are taken from the Lazy Foo tutorials. LabSDL2.zip
  19. I had not thought to use the high-res mods as they didn't seem to fit in with the style of the original. However, I did a quick test using the Mega Mod 0.8 that you linked to (thanks!) and actually I quite like it, do you think they are better? Now, if I do use these I probably should also implement the multiple zoom factor thing as the "big" pictures are definitely too big now (but perfect for the fully zoomed in view). 2018-07-21 18-00-50.flv
  20. Added: Chmmr point defense Keyboard inputs for Player 1 Player 1 position override from LabVIEW GUI (for debug) By the way, is anybody interested in my DLL wrappers? (wrappers for SDL2, SDL2 Image, SDL2 Mixer, SDL2 TTF, BASS MOD2) 2018-07-20 20-38-56.flv
  21. Added: Text rendering to hardware accelerated texture Time based animation and physics Race and captain strings in sidebar Three players! (Not really sure if this is sensible as it is going to complicate the AI, just was easy to implement, could actually do N players in current framework) Three-layer parallax scrolling stars Thrust dots Lots of code tidy-ups LabMelee v2 2018_07_13 20_08_11.mp4
  22. Another year, another tiny bit of progress. I have modified my overall architecture to use my current Actor based framework. Next step is to have control over Player 2, implement the basic weapons and then start to implement the AI. Lots of great stuff still to get stuck into. LabMelee v2 2018_07_06 22_44_28.mp4
  23. Turning off Nagle affects all the traffic on the NIC? I thought it was just for the particular socket connection.
  24. Because the native tree control API is terrible. Try something like this, it may make your life easier.
×
×
  • Create New...

Important Information

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