-
Posts
209 -
Joined
-
Days Won
7
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by lvb
-
Thanks for the advice Paul, I share the same sentiments with source distributions... I am aware of the packed project library method from mike_nrao. I have been trying to avoid packed project libraries because I feel there are too many rough edges at this point. I just posted my concern regarding support in future versions of LabVIEW on the community page... For now I will stick with my work-around of generating path constants at build time...
-
I would like to keep everything in an EXE. The goal is to make adding new "plugins" as simple as possible. It seems that a source distribution is the most common approach. Removing block diagrams is used for code protection. It seems like the official way to do this now is using constants generated at build time as described in my first post. So there is no way to list items not in memory inside of an EXE in LabVIEW 2010+??? It would be nice if this was possible (at least with a VI that exists within the EXE)...
-
Adding the class constant to a VI would load that class into memory. In addition, I do not want the user to modify some of the framework. It would also be nice to simplify what is required of the framework user (i.e. eliminating the need to add a pre-build VI).
-
I am building a hardware abstraction layer (HAL) framework with hardware plugins. For now, the plugins will be contained within the LabVIEW executable. Using the framework in the development environment, a developer can drop their plugin class within the project folder and it will be detected using the above VI snippet. For example, the HAL layer has a Power Supply.lvclass (interface). The developer places the "NI DC Power Supply.lvclass in the project (which inherits from the Power Supply.lvlcass). The application settings screen uses the VI snippet from above to search the project (or EXE) and populates a ComboBox or Ring Control with the available Power Supplies on the system. My goal is to list files (.lvclass) contained, but not loaded inside of an executable...
-
Just wondering how everyone is handling the factory pattern inside of executables? Some Background A "bug fix" in LabVIEW 2010 broke the ability to list files inside of an executable: 201140 — Extracting or Unzipping LabVIEW built applications using Winrar or Winzip I use the "Recursive File List.vi" to obtain a list of children for a class and populate ring controls: This VI no longer works in a LabVIEW 2010+ executable. The proposed "work-around" has been to manually generate a string constant with the contents of the executable. Work-Around The best work-around seems to be the following: (which I don't like because of the manual Build Specifications step) In the snippet above, check if the environment is run-time or development Development -> Call Recursive File List.vi Run-Time -> Call EXE Recursive File List.vi [*]Use scripting in a Pre-Build Action VI to generate the Call EXE Recursive File List.vi [*]Remember to add the Pre-Build Action VI to every new build created So... How are the LAVA members working around this issue? Is it possible to list files contained, but not loaded inside of an executable? Looking forward to your comments...
-
Mark, Have you found a solution to this? I haven't heard of "memory space" in relation to TestStand or LabVIEW. My best guess is that TestStand and LabVIEW are not running in the same Application Instance as Asbo previously mentioned. If this occurs on a deployment with a LabVIEW EXE only, then there is a work-around for code sharing between the OI and TestStand. A few questions regarding your framework: What process model are you using? Is the LabVIEW GUI LabVIEW Development or an EXE (Run-Time Engine)? What TestStand LabVIEW Adapter (LabVIEW Development or Run-Time Engine) Does this occur on both development AND deployment systems? Did you verify that your LabVIEW GUI and TestStand LabVIEW Adapter match? The following snippet should list all the Application Instances (Contexts): There is a good thread regarding Accessing VIs across contexts here on LAVA. That thread has a VI Server method that can be used to obtain a VIs Application Instance. If it turns out the Application Instance is the same, I would be very curious to find out more details from you.
-
More stability than a Microsoft driver.
-
With the native LabVIEW functions? According to How Do I Make a Bluetooth Device Work with LabVIEW? only the Microsoft stack can be used. Are you calling a DLL library?
-
To use a USB Bluetooth device in LabVIEW, the device must use the Windows Bluetooth stack. Does anyone know of an instrument driver for the Toshiba Bluetooth Stack?
-
Danny, have you made your final decision? If you are still interested in the Android route: http://www.engadget.com/updates/which-devices-will-get-ice-cream-sandwich/
-
If you love keyboards, you should really check out the Asus EEE Pad transformer. It has a docking station that turns it into a "netbook". http://www.amazon.co...r/dp/B004U78J1G Breaking the mold, an optional keyboard docking station designed especially for the Eee Pad Transformer transforms your tablet into PC mode with a 92% sized QWERTY keyboard with unique Android Function (Fn) keys for added convenience. Featuring all of the connectivity you'd expect in your notebook, the Eee Pad Transformer comes complete with 2 USB 2.0 ports, a headphone audio jack and a 4-in-1 card reader when used with the optional docking station. Also to keep you unplugged longer without interruption, the optional keyboard docking station adds an additional 6.5 hours of battery life, allowing the Eee Pad Transformer to last up to an astounding 16 hours.2 As I mentioned before with Android, I would check with the vendor to see how long they will support the OS and tablet with updates. Motorola is coming out with the Xoom 2 soon. Updates for the Xoom might be dead after that... -Brian
-
According to the post here, TestStand 2010 SP1 (released August 2011) supports dynamic dispatching. Is there a KB entry regarding this? I could not find anything. It would be useful to summarize the LVOOP features and limitations by version of TestStand.
-
No offense taken, we are all entitled to express our opinions! I should start by saying that I have a bias against the Intel Atom chipset (netbooks) because I am a Linux user at home. Hardware drivers for Linux Netbooks have been of very poor quality usually with an incomplete feature set. When there is no hardware acceleration, the Atom chip is a SLOOOOW... This applies to both Windows and Linux. If you are going for productivity, definitely use a desktop PC or a laptop. Battery life aside, why not just spend a few more dollars than a netbook and get a laptop/ultrabook with a "real" processor (sandy bridge) or an old laptop on eBay? I was comparing Android vs iOS here. However, both iOS and Android can support the majority of emulators. Tablets are much easier to game with and device drivers are not a worry. My 3 year old can fully navigate and play any game on our Android tablet. She has no idea how to play games on our PC. As a side note, how do you game on a netbook? Since there is no touch screen, do you use the touchpad for the mouse or just the keyboard? iMessage is built into the OS and provides instant notification of a message. It behaves exactly like a text message. Both Android and iOS have applications that allow free texting. I haven't found an equivalent messaging system that is always running on Windows/Linux, can text message mobile phones, and doesn't require a resource intensive application running. Is there a way to get desktop notifications through Windows/Linux from a cell phone text? I believe tablets range from $200-$600 which is the same price range as a netbook. Neither are "better", but I prefer to use tablets as a consumption device. I am also not worried about our children dropping and pounding on the tablet as they are pretty rugged. An ultrabook has more features than a netbook. It is a fully featured laptop optimized for weight and battery life. Hopefully that explains my opinions (and bias) better. I am curious why you prefer a netbook over a tablet/laptop?
-
Everyone has their own preferences for portable devices, but I would suggest the following ranking for most people: 1. Smartphone 2. Laptop 3. Tablet My general advice for portables/tablets/netbooks: iOS Average user OR gamer iOS has by far the most support for gaming (including kids games) [*]If you already own Apple products [*]For teens since iMessage allows "texting" their friends [*]Android Technical people who want to tweak their system: "power users" If you use a lot of Google or Amazon services If you really need flash If you want full USB root hub support [*]Netbooks Tablets with a Bluetooth keyboard are a better option Ultra books are a better option One warning about Android devices: *support generally stinks* I currently own a ViewSonic gTablet that I purchased last February. This tablet was built upon the same chipset as the Motorola Xoom but with 512MB or RAM (the Xoom had 1GB). When I purchased this, there were rumors of official Honeycomb support since Android is Open Source. Well, the Honeycomb source was not released and the vendor stopped product support 6 months after the product release. I am running Honeycomb using a "ROM" from XDA Developers, but it is very slow and buggy. I am surprised if the Tablet functions normally as things only work 80% of the time. If you are going the Android route, I suggest you do a lot of research and purchase a product that has "guaranteed" upgrades to Ice Cream Sandwich. Usually Samsung, Motorola, and Acer have good support...
-
How To Resolve LVOOP Locked Library When Only One Instance Open?
lvb replied to lvb's topic in Object-Oriented Programming
No. There is more than one target in the project but all of the classes are under "My Computer". In addition, when I look at the LabVIEW Class Hierarchy, everything is listed under the "Project.lvproj/My Computer" application instance. -
I am experiencing a very frustrating issue with a project that has multiple LVOOP classes. When I open my project and ONLY my project (i.e. no other application instances), multiple classes are locked. The funny thing is when I select the "Why is this library locked?" menu item the dialog states the following: I started experiencing this issue after editing the inheritance hierarchy of a few classes and have not been able to find the root cause. A lot of the classes are currently broken because they are missing some required overrides, so I am not sure if this is causing the issue. The problem is I cannot resolve these issues because the libraries are locked! If I open all of the project classes in the Main Application Instance, I get the same locking issues. I can open each class individually, but I don't want to spend more time and effort on development if the locking issue will persist. Is there anything other than a class being loaded in more than one application instance that will cause it to lock? Because I definitely do not have this situation... Will a broken class cause another to lock? Any advice would be greatly appreciated as this is quite a serious issue.
-
Handling Parallel Execution Sub-VI's in an OO sense?
lvb replied to AlexA's topic in Object-Oriented Programming
In LVOOP class = cluster. You cannot "run" a class just like you cannot run a cluster. LVOOP methods are just VIs that have access protection. You run a method just like any other VI as long as the caller has access. -
It seems this thread is picking up momentum. It is great to see LAVA members working together. Ravi, thank you for sharing your work. Thanks for sharing your work also. I was just confirming the re-entrant numbering with a few test VIs. It appears the Async call does not use sequential numbering: Background_Task.vi Launch Background Tasks.vi
-
I have the DETT installed on my system and only see the "Generate User-Defined Trace Event" under the palette "Desktop Execution Trace Toolkit" menu. I don't see any other VIs or an API that will allow for interaction with the DETT. Where are these other prims you are referring to located?
-
No, I was suggesting that functionality already exists in another product. I don't think the DETT has an API, so I am not sure how it could be a dependency.
-
Ton, are you asking for the LabVIEW Task Manager to provide a "pipe" for User Defined Trace events? This is already a feature of the LabVIEW Desktop Execution Trace Toolkit that is now included with LabVIEW 2011 Professional:
-
Just wanted to chime in that I support the move. It should be all at once with a bump in the version number. Given the nature of the change, does it justify a "major" version increment?
-
Thanks for the replies, I am aware of how to obtain this information using VI server. I just find it odd this tool does not exist. Sounds like something I will have to develop and submit to the LAVA code repository. So this thread has now become suggestions on developing a VI Task Manager tool.... Please reply with your ideas!
-
Are there any existing task managers specific to LabVIEW? I am looking for a task manager that is capable of: Listing running VIs along with memory usage and refnum Aborting a running VI Showing or hiding a block diagram or front panel I have searched on google and the NI forums with no luck. Update: Bitbucket Repository - https://bitbucket.org/lavag/labview-task-manager Code Repository Page - http://lavag.org/files/file/245-labview-task-manager/