Jump to content

Yair

Members
  • Posts

    2,869
  • Joined

  • Last visited

  • Days Won

    44

Posts posted by Yair

  1. Nice list of projects. Having not seen ANSI art in quite some time, it certainly does bring some memories. If you want to pimp it up a bit, see if you can write something which will create a reasonably accurate representation of a block diagram in ASCII/ANSI. I think HTML for colors, boldness, etc. is also reasonable.

     

    Someone actually asked me about x86 emulation not too long ago, so it's nice to see that someone is crazy/bored enough to try. That's certainly a jump from the C64 or Apple][ emulators you can find on NI's site.

     

    I remember seeing the SDL video before and I think the pure LV version sounds interesting.

  2. The best place for AF discussions is the AF group here - https://decibel.ni.com/content/groups/actor-framework-2011

     

    If you search for the relevant error there you can see that this is apparently designed for debugging and you should use other options to open the FP (like FP.Open). I don't know what the thinking behind it is (probably that the actor should manage the all the UI setup on its own), but see here, for instance - https://decibel.ni.com/content/docs/DOC-17193

  3. I'm running Windows 10 and Labview 2014 sp1. For some reason now I cannot do an ALT-TAB to look at my diagram while I'm running a program. The screen comes up but it will not allow me to select it.

     

    I don't see any issue like this with LV 2011 and 2015. I can alt-tab to any LV window or can alt-tab and use the mouse to click the relevant window. One thing to note is that the alt-tab dialog in Windows 10 does remember the original order of the windows and doesn't bunch all of the LV windows together, like older versions used to.

     

    Also, to pin arbitrary files to the start menu, you need to place a shortcut to them in <user>\AppData\Roaming\Microsoft\Windows\Start Menu, which will add them to the start menu and then you can pin them. They're still only pinned as tiles, not as a list, but at least they're there.

  4. The undo buffer is exposed with some scripting methods (at least the last operation and you could build it as is changes or go through all of them and then redo), but the details it gives you are very limited (it's the same string you see in the Edit menu), probably because there's no point in trying to give details. If you delete several things together, it's easier to just say "undo delete".

     

    The only other option I can think of is checking all the objects in the VI and if any of them change add something to your log and there are any number of problems with this, like:

    1. I'm not aware of any hooks for knowing about editing actions. You can use the VI Activation event to know which VI you're working on, but not anything lower. There's a Start Diagram Drag event, but I don't know what details it gives you and I don't see a corresponding drop event. Maybe an XNode could work, but I don't think they have anything which can be triggered with every change you make to their caller.
    2. Identifying the changes is difficult. You will need code to monitor every relevant property of every type of object. If a bunch of things are changed together (like if the user deletes several elements together), you need to describe that somehow.
    3. If objects are added/removed to the list, it might be difficult to realize that there's a new object in the middle and the others haven't changed.

    I believe there is a way to convert diagrams to XML, which might be easier, but I don't think it's complete and I don't remember the details of where it is and whether it actually works or I'm just combining several things into a feature which doesn't actually exist.

     

    Maybe there's a better way to do what you actually need. If you give more details about that people might have ideas.

    • Like 1
  5. For those of us not fluent in functional programming, can you expand on the thinking behind this and how you implemented this?

     

    Looking at the iterator example, I understand the syntax of "map the filter function over the list", but my limited understanding is that some of the advantage of how functional language manage these data types will be mitigated by you having to go through all the variants and the VI calls, so the question is whether the syntax is worth it?

     

    Some specific comments:

    1. The OptionType class wire is killing me. It looks like it's broken or the screen is broken or something is broken.
    2. Don't hide the examples in internal levels of the hierarchy.
    3. More documentation is useful for examples where the syntax is different from what people are used to.
  6. There are instructions on the top of the job listings forum:

     

     

    Note however that you cannot reply to topics in this forum. Instead, contact the employer directly using the indicated contact information. If no contact information is available, use the LAVA Forums PM (Personal Message) system.

     

    There's also a jobs listing board in the NI forums.

  7.  

    Supposedly the guys from TSExperts are working on a version of their cross compilation toolchain that is supposed to work for the Raspberry Pi device which is also an ARM based embedded board. I have no idea how they get to create code from LabVIEW to port to those targets but would assume they make use of the LabVIEW C Code Generator module which has a hefty price tag. What their license deal with NI might be I also have no idea, but I don't expect this to be standard procedure.

     

    I never asked them, but based on the material I remember seeing from them, my guess is that they essentially created their own version of the C code generator and that their compiler analyzes the LV code (probably with VI server) and converts it into a format which can be compiled to the relevant target using its tool chain, although I don't know what form that actually takes. I would guess C, because that seems easier than generating hex files, but that's just a guess piled on top of another guess.

  8. These are great, but they tend to drag on a bit too much. I would suggest considering either editing or planning them carefully enough so that you have a higher SNR. For instance, the third video has a good explanation of the value of relabeling messages, but it comes after a pretty long video.

     

    Also, you might wish to start with a video about the basics of the framework. As it is currently, it focuses a lot on actors and less on messengers.

    • Like 1
  9. I don't have experience with either of those options, but presumably the second option is an extension of the first, which I understand is designed to make sure that only the class can create DVRs of itself. This is presumably to ensure proper initialization of the objects in the DVR, since LV doesn't have constructors for that. I'm assuming the thinking for the second option is that if you want to create a by-ref object of type A, you can only do it in class A, even if the actual object is B, which inherits from A.

×
×
  • Create New...

Important Information

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