Application Framework for LabVIEW™
featherweight / featherweight Goto Github PK
View Code? Open in Web Editor NEWFeatherweight: Application Framework for NI LabVIEW™
Home Page: http://featherweight.io
Featherweight: Application Framework for NI LabVIEW™
Home Page: http://featherweight.io
In the Router Recv loop in C, one DSHandle can be re-used, since it is copied during the PostLVUserEvent
; it does not even need memcpy()
or moveblock()
into LabVIEW
These are open-ended questions that might shed a lot of light on one of the fundamental assumptions FTW appears to make about Actors: Every actor comes with a predefined request-type message interface when it gets launched.
On my machine I use comma as a decimal separator by default. E.g. This is a problem when inserting inserting a record that contains timestamp into SQLite database and SQLite expect timestamp in ISO-8601 format.
The JSON API doesn't appear to support arrays yet. Do you have a timeline for adding that feature?
Note to all who have forked; this repository will soon be switching from the expressions
branch to master
as the default branch, and many development branches will be removed.
This is an effort to clean up the repository, but will temporarily break your workflow. To fix things, simply switch to the master
branch in your local clone.
Comment here if you have any issues after this change is made! I'll keep the issue open for a few days after the switch.
Nominally, this code would exist within a Diagram Disable structure.
Benefits include:
This enables Top-Level actors to be the "Owner" of a Supervisor, meaning that it is created prior to the actor launching, and also shuts down after the actor closes. This prevents the bookkeeping of needing to introduce it at the top-level, and the additional "weirdness" of that actor instance effectively having two connections to the Supervisor.
This is shorthand notation for having an array of clusters where the cluster has only a single element
Pretty much just like the JSON test: https://github.com/featherweight/featherweight/blob/master/tests/core/FTW-Test-JSON-FloatingPoint.vi
Related to #49
This run-time error could be due to application developer error, so -42 should not be thrown.
This VI invokes the "SystemExec_Win" function from LabVIEW but doesn't check which OS it's running on. Calling the VI on an RT Linux target results in this error while trying to deploy code to the target:
Deploying FTW-System-CommandLineExecute.viFTW-System-CommandLineExecute.vi loaded with errors on the target and was closed.
LabVIEW: (Hex 0x627) The function name for the LabVIEW:SystemExec_Win:C node cannot be found in the library. To correct this error, right-click the Call Library Function Node and select Configure from the shortcut menu. Then choose the correct function name.
What doesn't the one built into LabVIEW provide?
This will also fix issues with the Actor Stress benchmark
Wrap as savepoint should be used instead of wrap as transaction in SQLite insert since it has more benefits (e.g. it can be nested).
Some public VIs use the 4224 conpane, and others use 5335. One example is the "FTW-Actor-GetNextJob.vi" (4224) and "FTW-Actor-OpeningHandshake.vi" (5335), both public methods on the FTW-Actor-Instance class. Ideally, all full-sized public VIs should use one conpane or the other.
I'm trying to run the test on a cRIO-9064. Before deploying code, an error is presented that says, "VI is a member of a project library type that is not supported for remote deployment and will not be downloaded."
The VI name that's cut off in this image is FTW-JSON-Fetch.xnode:FTW-JSON-Core-GetFlattenedValue.vi
.
... since the default flattened type is not all zeroes.
Since it turns out Event Callbacks are not threadsafe in LabVIEW :-(
For instance,
"MessageRoutingRules":
{
"FTW: Poison Pill":
{
"QueueSize": -1,
"Ignore": false,
"Lossy": false
},
"PING":
{
"QueueSize": -1,
"Ignore": false,
"AutomaticResponse": "PONG",
"Lossy": false
},
"Default":
{
"QueueSize": -1,
"BatchSize": 10,
"BatchTimeout": 100,
"Ignore": false,
"MaxSize": 16384,
"Action": "DropClient"
}
While speaking with @andrejpanjan about the SQLite Insert XNode ...
Specifically, we were on the topic of the Timestamp datatype. How should this be serialized when inserted into the database?
There exists at least three distinct use-cases:
However, the XNode must choose one. We could potentially:
[timestamp]
or prepending with #date
or suchBut ideally, the general situation is being able to detect the display format of the data itself. This way, it would be serialized exactly as it is written on the source type definition (e.g., a constant on the diagram, or a control on the panel) (where, the use of the word 'type definition' here is distinct from Type Definition)
One potential issue here is that we'd need to do some upstream type propagation, because I don't think this display format is transmitted on the wire.
See: 47ad171
On a fresh machine, I cloned this repository and opened FTW.lvproj in LabVIEW 2015. While loading the project, LV threw this error dialog:
It appears this is a dependency of ftw32.dll on Windows. I worked around the issue by manually downloading the VS2013 C++ redistributable and installing it on my machine from here: https://www.microsoft.com/en-us/download/details.aspx?id=40784
This should be distributed with the build outputs of the ftw-kernel project and included in the featherweight repo's dependencies.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.