Difference between revisions of "Frequently Asked Questions"

From Flowcode Help
Jump to navigationJump to search
 
Line 4: Line 4:
 
==Changes from v5==
 
==Changes from v5==
 
====What changes have been made to Vnet?====
 
====What changes have been made to Vnet?====
Vnet has been re-implemented in Flowcode version 7, although it will provide similar functionality, it will be utilized differently. The Vnet functionality will be present in Flowcode 6 in the form of the [[Component: ID b81ab4d7 be8f 4ddd b5dc 937bda03dc82|Vnet Injector]] component which was created using the base [[Component: ID cc936c18 5d20 42c4 b940 d3c7ea7ca802|Data Injector]] component. The Injector components basically contain two circular buffers one outgoing and one incoming.
+
Vnet has been re-implemented in Flowcode version 7, although it will provide similar functionality, it will be utilized differently. The Vnet functionality is present in Flowcode 7 in the form of the [[Component: ID b81ab4d7 be8f 4ddd b5dc 937bda03dc82|Vnet Injector]] component which was created using the base [[Component: ID cc936c18 5d20 42c4 b940 d3c7ea7ca802|Data Injector]] component. The Injector components basically contain two circular buffers one outgoing and one incoming.
  
 
The Vnet Injector can be included into several of the communications components and is available for use with your own components. Vnet functionality can be accessed by using [[Simulation Macro Icon Properties|Simulation Macros]] which call simulation-only functions using the same method as [[Component Macro Icon Properties|Component Macros]].
 
The Vnet Injector can be included into several of the communications components and is available for use with your own components. Vnet functionality can be accessed by using [[Simulation Macro Icon Properties|Simulation Macros]] which call simulation-only functions using the same method as [[Component Macro Icon Properties|Component Macros]].

Latest revision as of 09:16, 17 May 2017

<sidebar>Sidebar: Flowcode Help Overview:Support</sidebar> This is a list of frequently asked questions about Flowcode 7.

Changes from v5

What changes have been made to Vnet?

Vnet has been re-implemented in Flowcode version 7, although it will provide similar functionality, it will be utilized differently. The Vnet functionality is present in Flowcode 7 in the form of the Vnet Injector component which was created using the base Data Injector component. The Injector components basically contain two circular buffers one outgoing and one incoming.

The Vnet Injector can be included into several of the communications components and is available for use with your own components. Vnet functionality can be accessed by using Simulation Macros which call simulation-only functions using the same method as Component Macros.

What is the simulation debugger?

See Simulation Debugger

The 'Simulation debugger' is a window which appears only during simulation, it contains both the 'Macro Calls' section, also known as the 'Call Stack' window in previous versions, as well as what is known as the 'Watch Window' in previous versions.

The 'Macro Calls' section lists all the macros being called, this includes calling macros from within macros. The 'Watch Window' from previous versions displays any existing variables you select and displays the value of each selected variable in the window, this includes the options to display integer values as hex values, note that simulation must be paused or run step by step to update both macro calls and variable values.

The Simulation debugger also allows you to change the speed of the simulation using the slider to the top left to change between the available options of simulation speed, and finally it also displays the length of delays over 2 seconds via a progress bar, it also contains a button next to the bar to allow you to skip the delay.


Component creator

I have exported a component but can't access my macros

When you export a component, some of your macros may be downloadable, some simulatable and some for private, internal use only.

By default all macros are for private use - they are 'hidden'. To let Flowcode know which ones to expose the Interface Manager needs to be used to declare any or all of the macros as public - either simulation only or downloadable 'component macros'.


Flowcode panels

Where is the Panel?

The panel has been replaced and split up into two panels, the System Panel which provides a 3D environment with full camera control including X, Y, Z axis control and the ability to use multiple views, and the Dashboard Panel, which is a 2D environment with the ability to pan the camera to navigate the panel, this 2D plane is often used for grouping interactive simulation controls.

What is the System Panel?

See System Panel and Role of the System Panel

There are two panels which provide a real-world framework on which to load Flowcode components the System Panel and the Dashboard Panel. Together these panels are designed to show the physical representation of components during simulation.

The System panel is rendered in full 3D, this gives a much more realistic view of the created system than in previous versions of Flowcode, users can see 3D manifestations of the various components available in Flowcode and using the powerful simulation API can interact and manipulate the system components.

Users can also import models from 3rd party programs into their Flowcode projects and view these models in the system panel.

What is the Dashboard Panel?

See Dashboard Panel and Role of the Dashboard Panel

The Dashboard panel complements the System Panel by providing a workspace to add control elements to a project. The Dashboard panel can contain components just like the System panel, but remains in a two dimensional display mode rather than a three dimensional one.

Components can only be added to either the System panel or the Dashboard panel but they are both still part of the same project. The advantage of the Dashboard panel is that you can add control elements to your project which remain in a static location which is especially useful if your project contains moving parts.


Properties and variables

What is the difference between constants, variables and properties?

A variable is a value that resides in memory and can be changed by your program at any time. Each variable has a name that uniquely identifies it meaning you do not need to know the location in memory of a variable to use it. All variables have a type that allows the program to decide how it is used.

A constant has the same attributes as a variable except its value can only be assigned once. It is fixed and can not be changed during a programs execution. Constants require no additional memory to store the data like a variable does and it is easier to modify your program when using constants rather than inserting immediate values such as integers into your program.

A property behaves like a constant, except that during simulation built-in commands exist to change the value of a property. This means that during simulation a property is like a constant that can be changed, but when downloaded to chip that property becomes fixed and behaves like a constant.

How do I edit a components properties

See Component Properties

Aside from changing the values, you can only edit the properties of your own component.

Properties are like variables in that the component that 'owns' them may rely on their presence to run correctly. If you amend a component properties that component may fail to work as expected.

The simulation API can be used to alter properties to a greater degree than the properties window, but even this can not create or delete another components properties.


Simulation

Why does running simulation 'As fast as possible' cause graphical issues?

By running simulation 'As fast as possible' the graphics may lag behind or jump about trying to keep up, we recommend running simulation at 'Normal' at most when simulating graphic focused programs.

Running simulation 'As fast as possible' allows for the fastest possible simulation (depending on your computer), this tends to disregard specific timing which allow for smooth graphics etc.

This setting is ideal for stress testing the program and quickly testing make sure that the program functions consistently and efficiently.