Jump to content

JamesMc86

Members
  • Posts

    289
  • Joined

  • Last visited

  • Days Won

    12

Everything posted by JamesMc86

  1. Hi, I'm working on a build server to be launched from Jenkins and a plugin to smooth the use of Jenkins with LabVIEW. I hope to post some results soon! One problem I am having. I wanted to distribute the build server as source code as it will enable additional features in the development environment over a built EXE. To aid the process, rather than distributing multiple versions and have to create a new distribution for every version. The problem with this is that when it tries to exit, unless it is in the version it was created in (2011) it prompts for a save. I'm sure I saw some option somewhere to sliently close LabVIEW without a save dialog but cannot find it anywhere! Was I dreaming or is there something in Scripting/Super Secret Stuff which could do this? Cheers, Mac
  2. Hi, I think your on the right lines. In reality you are always going to use a URL to access it anyway. I think this maybe required to make it easy to have hgweb automatically serve the different repositories as you create then anyway as you can use a wildcard to describe where all of the repositories are.
  3. Welcome to LAVA!I come from the perspective that a DVR is a communication method in LabVIEW and therefore I would avoid designing my classes with DVRs unless it is implicit in the classes operation for example if the class represents a hardware session.
  4. I'm not s familiar with C# but LabVIEW does have native support for .net controls. If you can compile it into this it should be possible but it depends on the execution flow of your program.
  5. Hey Danny, As mentioned the data finder utilises data plugins to be able to understand file formats and schemas. Whilst csv defines the format you can still layout data in different ways internally so it needs a dataplugin to be able to understand your layout. I think the easiest way to create one would be to download a trial of diadem. This has a wizard for creating dataplugins for text and cvs formats and I believe you should be able to do this with the eval and then continue to use the dataplugin from LabVIEW (though I've not tested this) Cheers, James
  6. My new thing learned for the day, theres always something else I didn't know! I don't know the exact windows in's and out's but you need the cmd /c because the system exec is the equivalent of the command going into the run... dialog NOT the command line. cmd /c is what causes it to execute as if from the command line.
  7. The problem is a single location can only contain one version. If you want to control the software then you want to decide when the update happens. Even if your software is in separate sub folders you still have to repoint the system.If you have a seperate copy for each project you can just overwrite it with a newer version to upgrade it. It seems this might be a good case for packed project libraries as well.
  8. I believe Mike B in the UK branch has been working with pipes as well but I can see if it is online anyway. I'll point him to this to see if there is anything he can share. Out of interest, do these give you better bandwidth than using a localhost network adapter then?
  9. There is something on NI.com/labs that claims to do the most visited palette, not tried it yet but might be worth a look.
  10. Quick test shows that stacking the property nodes has the effect of putting all of the calls inside the in place structure so all calls are atomic. Attached is the test code in 2012 if your curious. Just flip the disable structure to see the different effects. Test OOP DVR Properties.zip
  11. I don't believe there is one all encompassing "better" answer to this. This was a question I asked AQ and I often think back to his response. If you have your class API passing a reference then you are making the decision about the scope of access i.e. which functions are "atomic". If you want to call subsequent methods as an atomic operation you can't as each method will get and release the DVR. In this scenario keeping the object by value is better as the developer using the API can decide if he wants to use by ref or by value and can also decide what function calls are atomic and which are not. That said there are often cases where classes only make sense to be reference based. For example I am working on a class for a file API. In this case I use the DVRs in the API as this is how most people would expect a file to work. Thinking about the response from AQ now, I wonder whether the whole property node would be atomic, that would appear to be a sensible implementation although I have never tested it.
  12. I would take the point that the line is drawn where it is for one reason, so we can express that AE is good and FGV is bad, it is to suit us rather than any actual difference in implementation. I think it might have been Nancy again who also said she saw regional dialects. Developers from one area of the US described them as AEs, other areas were FGVs, others where LV2 Globals. Just depends who teaches you! (Apologies if it was someone else that mentioned this)
  13. I'm guessing this means no switch to the UI thread, presumably similar performance to a local variable?
  14. You need to run this as a windows service to achieve this. There is no native way to do this but I have seen people use other tools that allow this. I can't remember the name but if you search run any exe as a service I imagine you would find something. What happens is that EXE runs as a service and then launches your EXE based on a registry key.
  15. Tim_S's use case is an interesting one I have seen on FPGA several times. I did put in an idea exchange for a loop unrolling system for FPGA, you can't use a for loop because it is forbidden in an SCTL (and would take too long) but semantically it is so much easier! This is the link: http://forums.ni.com/t5/LabVIEW-FPGA-Idea-Exchange/Allow-Parallel-For-Loops-on-FPGA/idi-p/1599930 In that case I was thinking the parallel loop syntax could be used.
  16. It is a little unclear what you need. The state diagram you attached appears to just correspond to the different methods in the class. What exactly are you struggling with?
  17. If I understand correctly you just need driver versions from that system? Easiest thing is to generate a MAX report (File>>Create Report). This will include a list of driver versions, I'd just go for the standard technical support report. Cheers, James
  18. Many of the early error codes share a code between LabViEW and GPIB. Written above or below this error should be the LabVIEW error. What is the error code?
  19. Not had a chance to use in anger yet but the new experience for web services looks like a massive improvement. Adding static pages previously was a but cludgy but this looks to be a huge improvement.
  20. You are correct. NI have added path labels so that it still looks like windows/pharlap. When you use the file path types on VxWorks LabVIEW converts under the hood so c:foo.bar becomes /c/foo.bar. If you put the windows style paths directly in as a string it wouldn't work. I am surprised that the drive letters are case sensitive as well considering this conversion is happening. May have to have a play.
  21. Do you mean LV2011? This is the version the code was originally in. I will get that done. Cheers, James
  22. Hi, Thought I had already posted back, sorry! The root cause is that the OpenG Scan From String puts the enum string through a scan from string with %s which removes anything after a space so this bug specifically effects enum strings with spaces. A customer of mine has also had issues with strings in clusters. In JSON Scalar.lvclass:Variant Decode.vi it assumes all array elements are the same size. In the case of an array of strings or an array of clusters with strings this is not the case. I guess this comes back to your discussions about ragged 2d arrays as well. You can see the issue in the attached VI. He has managed to write a fix for this that we can share as well in whatever format is easiest.
  23. If processing is the concern then the main issue is going to be background processes. The good news is I wouldn't expect much dependency here. I still don't know if it will run without X but going for a minimal window manager will be a good start. Then removing any continuous running processes in the background (use top to see what is running). I don't imagine there are many/any that are required. EDIT: Just tested, definitely need X running.
  24. I would try killing x to see whatit does. LabVIEW still doesn't have a concept of a console only app even on Linux. Best case it still runs without issue but I wonder whether it will throw an issue. In terms of sw requirements, as a few people have said you need the runtime engine. I am not aware of any dependency listings beyond the 3 distros NI officially support. That said I have found it to run without issue on manjaro so there's nothing too specific.
  25. Hi Alex,I've never used it this way but I believe each loop should be able to open their own reference to the FPGA as long as they are all using the same bitfile/VI. Cheers,James
×
×
  • Create New...

Important Information

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