Jump to content

Michael Aivaliotis

  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Michael Aivaliotis

  1. I've exported the OpenG sources from Sourceforge SVN to Github. It's located here: https://github.com/Open-G I'm hoping this will encourage collaboration and modernization of the OpenG project. Pull requests are a thing with Git, so contributions can be encouraged and actually used instead of dying on the vine.
  2. Not having looked at your code, do you think this should go into OpenG? How can we improve OpenG? Where is the OpenG repo?
  3. I'm glad to see all these frameworks being bashed about. I like to read opinions from people who have tried the various frameworks and can compare based on real implementations. Not example code. Just came back from the US CLA summit (videos being posted to LabVIEW Wiki soon). Apparently there's YAF (Yet Another Framework) being used by Composed Systems and it was presented at the CLA summit: https://bitbucket.org/composedsystems/mva-framework/src/master/ It seems to be an actor-framework extension. Framework on top of framework? Jon argued that the complexity of a framework is secondary to the ability of a framework to allow certain programming concepts to be used during development. One being, separation of concerns. if you look at slide 4, Jon vehemently disagrees with that statement. In other words, you should not look at a complex framework and be afraid of it. Don't focus only on how easy it is to learn or get going with it. Question to you. What is important in choosing a framework? Here's a link to the slides: https://labviewwiki.org/w/images/2/24/Design_for_Change.pdf
  4. The following slide was just presented at the CLA summit:
  5. All of this spam was created a long time ago when the site was more vulnerable. The wiki has been locked down since then, and this should not happen again (but some get through). I deleted the first list of pages you mentioned. The uploaded images are tedious to delete because there no simple tool I've found to do it on a mass scale. Since they're not linked anywhere then they don't do much harm except use up server space. It seems you have time. So I will connect with you directly offline to give you some rights.
  6. The OP didn't clarify his requirements so we could all be wrong. But ya, all you guys say is true. - Thanks. My intent was to start the conversation, not to provide the best solution. I just wanted to show how the delete from array works and to provide some visuals.
  7. I dunno. Your question is not clear, but let me take a shot. This example deletes the last 3 elements of an array of strings. Don't forget that array indexes start at 0, not 1.
  8. @Tim_S, the OP makes a valid point. All you say is true, however, the link remains broken and the person packaging the OpenG tools should either fix the link and provide the documentation, or remove the link from the package build.
  9. We're starting to add the back catalog to YouTube. NIWeek 2018 videos are also up.
  10. Mark of course has the originals and always will. So that's not an issue. However, nobody cares about some LabVIEW videos. Yes, that's a great idea. It's a wiki so anyone can add them if needed. Feel free to contact them or edit the page. That's because the videos are unlisted. We are doing this so that in order to view the videos you have to go to the wiki page as the entry point. This way they are kept within the community. This was the compromise to balance accessibility. We can deal with that issue if we hit it, which I doubt we will. Considering the videos are unlisted and we have approval by the presenters.
  11. Hey folks. this year we're trying something new. All Videos for NIWeek 2019 can be found here: https://labviewwiki.org/wiki/NIWeek_2019 Feedback welcome. Thanks to @Mark Balla and other volunteers for recording the videos. Edit: We're starting to add the back catalog to YouTube. NIWeek 2018 videos are also up.
  12. I don't have the time or desire to figure out how to automate this. But it's cool that trick works.
  13. Is this error message coming from a VI that you are running on the RT target? Have you tried using the NI Distributed System Manager? I use that to debug Ethercat issues. When you switch to Active mode using NI DSM, it works pretty consistently. Unfortunately the NI Ethercat driver is a load of poop. Soft reboot of the controller usually fixes things up.
  14. I have no idea. That seems to be a URL in the old format which died a log time ago. The post probably still exists but was converted to a new URL format and there is no redirect.
  15. What happens when you create a page? Do you get an error or something?
  16. Thanks for the interesting conversation. I've resolved the issue however, in a roundabout way and by cleaning up my code. The UDP communication code in question is a model written in LabVIEW running on VeriStand, which is essentially a bunch of LabVIEW RT timed loops running on a Phar Lap target. So the model essentially opens a UDP connection, sends the message, then closes the connection. This is done at a rate of 50Hz. I changed the code so that it opens the connection at the start of the test and the model just continuously sends the message at the 50Hz rate, then at the end of the test I close the UDP connection. This resolved the issue because now the ARP is not sent anymore, like at all. Well, maybe at the start? But I haven't checked that, so I should do that later. The explanation I can come up with is, I was closing the connection every 20ms, so the OS considered the port closed, so it took that time to do the normal housekeeping of sending the ARP? But since the port was always open to a known IP address (and thus mac ID), it didn't need to do the ARP. I don't know, just my guess. Ok, so bring on the comments about, why I would keep opening and closing the port. Bring it on, I can handle it... 😀
  17. Looking at this post by an NI employee. It seems that the ARP table cannot be statically defined on Phar Lap.
  18. I'm using LabVIEW to do all this. So not sure how to do RUDP. I'm using UDP because of the low overhead. But maybe I can still get the throughput with other methods. I will have to experiment and see. I've just never considered that this issue would come up at the slow rate I'm using. Edit: It seems like ARP has a configurable timeout. Since my test only lasts for about 2hrs. Perhaps i can do an ARP at the start of the test and set the timeout longer than 2hrs. Now to figure out how to configure this timeout in Phar Lap.
  19. I have LabVIEW code on 2 separate PCs using UDP to send data. It's a one-way path from a LV RT Pharlap Target to a Windows10 receiver. I'm streaming data at a rate of 50Hz and I don't lose any packets. I have confirmed this with Wireshark. However, every 15min. the sender sends an ARP packet instead of a UDP packet. This lost packet is critical to my process and not acceptable. Is there a way to turn off ARP or change the timeout of it to something longer than 15min? I realize I need ARP, or do I? Can I just update this magical table manually? Info on ARP from Wireshark.
  20. So it seems Bitbucket has some solution for this actually. I think Github as well. It's called LFS (Large File System), and it manages large files outside of the repository. Here's their tutorial: https://www.atlassian.com/git/tutorials/git-lfs You just have to specify git lfs track '<pattern>' This can be a folder, file wildcard etc as explained in the docs. I think released installers should not be versioned. It doesn't make sense, and is not very convenient, to revert your entire repo to a tag, just to send someone the correct version of the installer. So I definitely think those files are candidates to be off on dropbox. The space on dropbox is much cheaper than the space on Bitbucket, even if it's using LFS. But LFS is useful if you can't predict which files will be large, such as a support folder that should be versioned. For example if it contains build support tools or parts of the installer build support etc. These need to be versioned in case they change throughout the development cycle.
  21. I use tags as well to mark where a new release version is built. This way I can go back to the tag if I need to branch, to fix a bug on that version or to track down a version related issue. I'm in agreement. Whoah. 10Gb is definitely larger and would basically solve my problem. More than enough (famous last words). However, a lot of these decisions are also related to the surrounding ecosystem of tools. Bitbucket surrounds itself with Atlassian products which I love and use. I previously switched from Kiln and the main reason is not so much the repo management but the surrounding tools were out of date and not getting any feature additions or development support. I just like having everything under one umbrella. Ya, I'm already aware of the tools and already have an automated build process in place. I was just hoping to skip this work. But in the end I will do this of course. What else can you do.
  22. I'm currently using Bitbucket, but I've used other cloud services and have used GitHub as well. The ones I've used have limitations and typically cap your repo size at 2 Gb. Recently I hit this limit on a large project. Mainly because of all the support files. However if you've worked on any large LabVIEW project that has constant development for a decade, then you can probably hit this limit considering the binary nature of LabVIEW source. So this question is mostly to get community feedback on what approach you use to handle this, if at all. I went down a rabbit hole recently on one big project. I decided to keep ONLY source code in GIT and move all support files to dropbox. I also tried putting the build output and other transitory files to dropbox as well. However I found an issue because dropbox would interfere with the build process (any insight to this from others is welcome). Thanks for your help.
  23. I was able to change your username to Bryan.
  • Create New...

Important Information

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