Jump to content

LAVA 1.0 Content

Members
  • Posts

    2,739
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by LAVA 1.0 Content

  1. QUOTE (normandinf @ Jul 4 2008, 12:46 PM)

    Interesting. I never heard of Moving Day, even after living in Canada for so long.

    In older times in Germany and Austria they had a similar concept that all the field hands would move from one land owner to another on the same day of the year. (They would receive the pay for the entire previous year on this day and were then free to move.) This was the feast of Candlemas on February 2nd. Incidentally this Germany holiday was also the origin for Groundhog's Day in the US.

  2. QUOTE (normandinf @ Jul 4 2008, 12:46 PM)

    Interesting. I never heard of Moving Day, even after living in Canada for so long.

    In older times in Germany and Austria they had a similar concept that all the field hands would move from one land owner to another on the same day of the year. (They would receive the pay for the entire previous year on this day and were then free to move.) This was the feast of Candlemas on February 2nd. Incidentally this Germany holiday was also the origin for Groundhog's Day in the US.

  3. Thanks, coming from a German Canadian Texan.

    Sorry to have missed wishing you a Happy Canada Day a couple of days ago. I thought of it and told my wife about it that morning, having lived outside of Toronto for 12 years back in my younger days.

  4. Thanks, coming from a German Canadian Texan.

    Sorry to have missed wishing you a Happy Canada Day a couple of days ago. I thought of it and told my wife about it that morning, having lived outside of Toronto for 12 years back in my younger days.

  5. Notes to others:

    "Rename" is handy for moving your files around.

    Use a Source Distribution to pull out only the active files.

    If you do something that results the project trying to re-open the old files, check your lvproj file with a text editor for the files it is looking to find, they sometimes get stuck in a section labeled VI's in memory. Just edting out that line fixes that.

    Ben

  6. Like I said still learning.

    I chose this project to learn LVOOP since it has many elements with which I (we) are very familiar, so I don't have to beat on the customer to worm out the design details since I drop controls all of the time. But I don't want to copy NI's approach exactly since that would turn the project into a transcription exercise. I would like to learn more about "why" in addition to the vocabulary and techniques. I also appreciate you sharing your thoughts because it helps me a lot! I'll try hard to avoid getting into one of those "well I know a req that I did not tell you" things. So the following is not a rebuttle to your comments but rather an attempt to use proper LVOOP terminology to share my thoughts on what you said.

    QUOTE (Yair @ Jul 3 2008, 08:44 AM)

    I understand a property of an object to be an element in the cluster that defines the class of that object. Since that property would determine the objects behaviour (methods?) it seemed that LVOOP's over-ride capabilities would be good fit.

    Listening to what I just wrote...

    So it seems I should modify my structure. I think I have to add two children to Boolean, Control and Indicator. I could then make LED a child of Indicator and set the Toggle PB and Toggle SW classes to inherit from Control. I think this would improve my architecture because I could implement the Mouse Down methods in the Control class since in the real world clicking on a LED does not make any sense (believe me I tried it and ended up breaking out a soldering iron to get it change states :throwpc: )

    So after that...

    All objects that are of class Indicator or children of such will have their "Control?" property set true and vise versa for Indicator. So the class implies the value of that property so what good does it do me? Not trying to fight over this Q just trying to learn which hammer (Class vs property) to use when designing an app. :thumbup:

    QUOTE (Yair @ Jul 3 2008, 08:44 AM)

    ...

    to the dynamic class (or even the plug-ins class, if you want to have the option for the future)...

    OK, now invoking previously unknown spec...

    The objective of this app is to emulate real world devices. This means that only those widgets at the bottom of the tree can be used by the app. So does implementing the idea of control/indicator get applied at the top of the architecture like it does in LV or is this an application requirement that dicates it should be handled at a lower level?

    QUOTE (Yair @ Jul 3 2008, 08:44 AM)

    Your term "init method" got me thinking since I'm initializing my objects in two different ways. In the first case I create a new object of every class that is a child of the class Plug-ins and use methods to determine which objects the user can drop in a panel layout. Once this is done I only use the class as a prototype from which the object that will be placed in the layout are created. Since I stumbled into this structure through the backdoor, I just used the "Create New" method like an init method. I should implelemnt an init mthod.

    QUOTE (Yair @ Jul 3 2008, 08:44 AM)

    ...

    then call the parent implementation to do the
    registering
    . ...

    :lightbulb:

    I think a light buld just went on. My first dozen reads of your response had me thinking that registering was just a synonym for "invoke mtehod". Then when trying to dismiss the possibility you were talking about registering an event it hit me that when I create the object, I could have it spawn off a background process that registers events for the picture control used to house the objects on the GUI. This one word alone may help me get rid of the one AE I am using to direct mouse clicks to the correct objects. So rather than filter the event and invoke a method from the GUI, I could let each background process filter if the event (Mouse Down, Mouse Move, Mouse Leave, ...) applies to itself. I WILL be giving this much more thought.

    Thanks!

    Ben

  7. QUOTE (Aristos Queue @ Jul 2 2008, 04:57 PM)

    One class per directory. No subdirectories beneath that. Classes specific to a single project are in subdirectories next to the project file. Classes common to many projects are in another directory.

    OK thanks to All!

    It turns I broke every one of those rules. :headbang:

    I'll call this a life leason and adjust my habits.

    Again, Thank you!

    Ben

  8. QUOTE (crelf @ Jul 3 2008, 07:59 AM)

    You said touchie :D

    I don't see much hijacking going on, but noise? Some of that noise are more "resonant responses" to non-linear functions. Tolkien wrote in the Silmarilian of the music evolving over time. The final result of the repeated themes was the creation of Middle Earth.

    If we set up filters to accept only what we expect to hear, we'll never appreciate the harmonics of of the cerebral cords we share. Limiting the bandwidth will only stiffle the creative process.

    Nipples aside, aside I find LAVA a wondeful place to brainstorm with some of the greatest engineers and scientist in the world.

    Ben

  9. QUOTE (Poom-Thailand @ Jul 3 2008, 01:06 PM)

    a starting point

    lego nxt

    http://mindstorms.lego.com/Products/default.aspx

    you shoud know what you have to do...

    do you already have HW/SW???

    without furter information we can not realy help you...

    further you must not start 3 topics with the same question in the same forum at the same day :nono:

  10. It's ok to cross-post to other forums but please mention it ;)

    Last I made an application LV8.20 that saves up to 50fps for 10minutes the flowrate was close to 120Mo/s with RAID0 system.

    17Mo/s on a fast HD should really be fine, as Crelf said, show your code and it will be easier to help you.

    What I did for my application is 2 loops running in parallel, one extracting images as they are ready and copy them into a queue, the second loop keeps dequeueing and saving to disk as fast as possible. To see it the systems goes fast enough, graph the "elements in queue" to make sure it does not incease too much.

    Hope this helps

  11. QUOTE (rolfk @ Jul 2 2008, 02:16 PM)

    This is a standard LabVIEW VI and I don't think there is anything wrong with it itself. It's probably more in what is passed to it in terms of parameters.

    This VI reads the registry from a place that is defined by an earlier VI in the chain. It's C:/.... input is only a default input to be used if the inidcated key value could not be found in the registry. Obviously it can be found and for whatever reasons is set to E:/... Who did initilize that key, when and where with that value we can't tell you. But I would assume there should be a menu entry, configuration tool or something for this application that lets you configure that value.

    Rolf Kalbermatter

    Thank you, this gives me some ideas as to where to look... the program is huge... and sort of a mess.... so thanks again.....

  12. QUOTE (crelf @ Jul 2 2008, 02:32 PM)

    THe end users will not know anything about LV so I'm not sure if that will help much.

    Back to the issue at hand!

    Rather than fumble around trying to get the project to open up without conflicts (that don't seem to go away, So I threw away an hours worth of file save as...)....

    How do Y'all organize the LVcass file relative to the VI's that implement the methods for that class so that the "Save As...." on the Class results in cloning it and all that goes with it.

    Boy this hurts! But its better to figure this out now rather than latter.

    Thanks all,

    Ben

    PS: If I figure this out, I'll post back with a structure that works.

  13. QUOTE (ragglefrock @ Jul 2 2008, 01:42 PM)

    I think right clicking the class and selecting Save As will do exactly what you want. It copies the member VIs, inheritance settings, maintains the directory organization and everything.

    Well it looks like I chose the wrong method of organizing my folders for this to work. I'll try re-arranging the furniture and see if I can get that to work.

    Thanks!

    Ben

  14. Should I break out controls and indicators as unique child-classes under Boolean?

    I have the following class hiarchy.

    post-29-1215009637.png?width=400

    Brief explanation;

    Plug-ins - This class defines all objects I will be able to drop on the FP while the app is running.

    Dynamic - All objects that will change while the app is in Operate mode. These will be controls and indicators.

    Static - These will be background decorations and anything that has an image that does not change.

    Boolean - All dynamic objects whos value is either 1 or 0.

    LED - A round LED.

    Toggle PB - Round push-button

    Toggle SW - A toggle switch.

    Since the LED class will not be something the user can click on (I'm trying to simualte the real world not re-write LV) it will not have to support a "Mouse Down" method. The "Toogle PB" and the Toogle SW" will have to support a Mouse Down method.

    Does this observation indicate I should create two intermediate classes under Boolean "Control" and Indicator?

    Let your comments fly, I am trying to learn with this project so your comments and suggestions are welcome!

    Ben

  15. I am developing my first LVOOP app and I can't find an option to copy or duplicate a class. In this app I am attempting implement the Holy-Grail of LV, create controls and indicators on the fly. All of the controls and indicators will be individual LVOOP classes and so far, I have the following class hiarchy.

    post-29-1215008439.png?width=400

    Brief explanation;

    Plug-ins - This class defines all objects I will be able to drop on the FP while the app is running.

    Dynamic - All objects that will change while the app is in Operate mode. These will be controls and indicators.

    Static - These will be background decorations and anything that has an image that does not change.

    Boolean - All dynamic objects whos value is either 1 or 0.

    LED - A round LED.

    Toggle PB - Round push-button

    Toggle SW - A toggle switch.

    WEll it turns out that there is very little differnce between "Toogle PB" and Toogle SW" aside from the images associated with true and false. What I would like to do is right-click on the "Toogle SW" calss (in the project window) and select Duplicate class. But that option does not exist.

    So far I have had to manually create the new class and then set all of the options and inheritances manually.

    If there is no official way to do this, how do others go about cloning a class?

    Ben

×
×
  • Create New...

Important Information

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