Difference between revisions of "Flowcode Help Overview"

From Flowcode Help
Jump to navigationJump to search
 
(134 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<sidebar>Sidebar: Flowcode Help Overview</sidebar>
+
==Getting Started==
Learn all about Flowcode 6, from new features, functionality and interfaces to improved components, debugging and simulation. This wiki is a very useful resource for learning Flowcode, from structured articles and exercises to helpful images, examples and videos to convey the information available.
+
<span id="Getting_Started"></span>
 +
* [[Activating_Flowcode|Activating Flowcode]] - Activating your Flowcode license
 +
* [[Opening_Flowcode|Opening Flowcode]] - Launching the Flowcode application
 +
* [[Finding_Your_Way_Around_Flowcode|Finding Your Way Around Flowcode]] - Finding your way around
 +
* [[Creating_Project|Creating Project]] - Creating your first Flowcode project and see the options available
 +
* [[Creating_Project#Changing_configuration_settings|Configuring the Chip]] - Configuring your device
 +
* [[Save_and_Open_Projects|Save and Open Projects]] - Saving and Opening Flowcode project files
 +
* [[Selecting_a_Template|Selecting a Template]] - Opening a template project file
 +
* [[Creating_Templates|Creating Templates]] - Creating your own templates
 +
* [[Closing_Flowcode|Closing Flowcode]] - Closing Flowcode
 +
* [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] - Oveview of Flowcode IDE for the embedded side, with project examples
 +
* [[App_Developer_Getting_Started_Guide|App Developer Getting Started Guide]] - Oveview of Flowcode IDE for  App Developer, with project examples
 +
* [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] - Overview on setting up and programming the Raspbery pi.
 +
* [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] - Oveview of Flowcode IDE for Web Developer, with program examples ''<span style="color:red;">(Coming soon. Available with Flowcode 10.1 or higher)</span>''
  
 +
==Program Editing==
 +
<span id="Flowcharts"></span>
 +
*[[Icon_Properties|Icon Properties]] - Flowchart icons and their functionality
 +
*[[Adding_an_Icon_to_a_Flowchart|Adding an Icon to a Flowchart]] - Adding flowchart icons to your program
 +
*[[Editing_Icon_Properties|Editing Icon Properties]] - Editing the properties of a flowchart icon
 +
*[[Adding_Comments_to_a_Flowchart|Adding Comments to a Flowchart]] - Commenting your flowchart
 +
*[[Selecting_Icons|Selecting Icons]] - Selecting icons on the flowchart
 +
*[[Flowchart_Editing_Functions|Flowchart Editing Functions]] - Functions to make editing your flowchart easier
 +
*[[Code_Folding|Code Folding]] - Compressing known working code to increase screen real estate
 +
*[[Icon_Grouping|Icon Grouping]] - Combining multiple icons together into a single group icon
 +
*[[C_Code_Simulation|C Code Simulation]] - Simulating C code in your program
 +
*[[C_Code_to_Flowchart_Conversion|C Code to Flowchart Conversion]] - Converting a section of C code into Flowchart icons
 +
*[[Code_Paradigms|Code Paradigms]] - Coding Paradigms - Flowchart, Blocks, Pseudocode, C Code
 +
*[[State_diagrams|State Diagrams]] - State Diagrams - Support for using the State Diagram coding paradigm
 +
*[[Tab_Tear_Off_-_Multi_Monitor_Support|Tab Tear Off - Multi Monitor Support]] - How to manage tabs on multi-monitor systems
  
We recommend going through the Flowcode section of the [http://www.matrixmultimedia.com/courses/itm/index.php?n=IntroductionToFlowcode.IntroductionToFlowcode Introduction to Microcontrollers] course which has been updated for Flowcode 6 and is available for free at the [http://www.matrixmultimedia.com/lc_index.php Learning Center] section on the [http://www.matrixmultimedia.com Matrix Multimedia website] under the name of Flowcode Beginners Course.
+
==Macros==
 +
<span id="Macros"></span>
 +
*[[Creating_a_New_Macro|Creating a New Macro]] - Creating a new flowchart macro or subroutine
 +
*[[Editing_and_Deleting_Macros|Editing and Deleting Macros]] - Editing a macro and removing a macro from your program
 +
*[[Using_the_Project_Explorer|Using the Project Explorer]] - Features of the project explorer designed to help simplify programming
 +
*[[Exporting_a_Macro|Exporting a Macro]] - Exporting a macro from within Flowcode
 +
*[[Importing_a_Macro|Importing a Macro]] - Importing a macro into Flowcode
  
 +
==Functions==
 +
<span id="Functions"></span>
 +
*[[Mathematical_Functions|Mathematical Functions]] - Built in routines designed to help with mathematical operations such as Sin() and Float
 +
*[[String_Manipulation_Functions|String Manipulation Functions]] - Built in routines designed to help with string manipulation
 +
*[[Undo_and_Redo|Undo and Redo]] - Undo and Redo operations and shortcuts
 +
*[[Icon_Annotations|Icon Annotations]] - Icon annotations
 +
*[[Find_and_Replace|Find and Replace]] - Ability to search within your flowcode project to replace specific text with alternate text
  
Learn Flowcode using a practical and informative manner, from basic functions such as saving a file and undoing an action to using components and variables effectively.
+
==Variables==
 +
<span id="Variables"></span>
 +
*[[Creating_Variables|Creating Variables]] - How to create a variable
 +
*[[Variable_Types|Variable Types]] - Variable types and their meanings
 +
*[[Editing_Variables|Editing Variables]] - How to edit a variable
 +
*[[Handles|Handles]] - Handle variables and their function within the system
 +
*[[Typecasting|Typecasting]] - Variable type casting, applications and usage
 +
*[[FiniteStateMachine|Finite State Machines]] - Programming tutorial on using state machines
  
 +
==Panels==
 +
<span id="Panels"></span>
 +
*[[Choosing_your_Simulation_Panel|Choosing your Simulation Panel]] - Information about choosing the correct panel
 +
*[[2d_Panels|2D Panels]] - More in-depth information on the 2D panels
 +
*[[System_Panel|3D System Panel]] - More in-depth information on the 3D system panel
 +
*[[Zooming_the_View|Zooming the View]] - Zooming in and out on the 3D system panel
 +
*[[Camera_Control|Camera Control]] - Controlling the camera looking at the panel
 +
*[[Object_Position|Object Position]] - Object positioning on the panels
 +
*[[Object_Scale|Object Scale]] - Objects and their scale
 +
*[[Object_Rotation|Object Rotation]] - Rotating objects
 +
*[[Working_With_Primitives|Working With Primitives]] - Using primitive objects inside Flowcode
 +
*[[Working_With_Meshes|Working With Meshes]] - Using meshes inside Flowcode
  
{| class="wikitable" style="width: 70%; margin:auto; text-align:center;"
+
==Tools and Views==
|-
+
<span id="Tools_and_Views"></span>
! Title
+
*[[Compiler_Toolchains|Compiler Toolchains]] - Toolchains used to compile to the various platforms Flowcode supports.
! Description
+
*[[Ribbon_Toolbar|Ribbon Toolbar]] - Detailed description of the Flowcode ribbon toolbars.
|-
+
*[[Project_Options|Project Options]] - Detailed help on the Project Options window
| width="40%" align="center" | [[Introduction]]
+
*[[Global_Settings|Global Settings]] - Detailed help on the Global Settings window
| width="60%" |Introduction to new features in Flowcode 6 and other useful information
+
*[[Chip_View|Chip View]] - The chip view window
|-
+
*[[Properties_Panel|Properties Panel]] - The properties panel
| width="40%" align="center" | [[Getting Started]]
+
*[[Supplementary_Code|Supplementary Code]] - Supplementary code and its usage
| width="60%" |Learn the basics of Flowcode and how to navigate the program
+
*[[Simulation_Debugger|Simulation Debugger]] - Control over the simulation speed and view simulated variable values, also known previously as the watch window
|-
+
*[[Saving_Images_in_Flowcode|Saving Images in Flowcode]] - Creating images of your flowchart source
| width="40%" align="center" | [[What Is a Flowcode Flowchart?]]  
+
*[[Auto_Documentation|Auto Documentation]] - Auto documentation features to speed up development
| width="60%" |Creating your first Flowcode flowchart and see the options available
+
*[[Window_Layouts|Window Layouts]] - The window layouts manager
|-
 
| width="40%" align="center" | [[Controlling Electronic Devices With Flowcode]]  
 
| width="60%" |Introduction to components, variables, icons, dashboard and system panels
 
|-
 
| width="40%" align="center" | [[Overview of Simulation]]
 
| width="60%" |Learn how to use simulation effectively including the features available
 
|-
 
| width="40%" align="center" | [[Adding Finishing Touches]]
 
| width="60%" |Organizing and documenting flowcharts and compiling to a chip
 
|-
 
| width="40%" align="center" | [[Taking Flowcode Further]]
 
| width="60%" |Learn useful functions and make the most out of tools and features
 
|-
 
| width="40%" align="center" | [[What Is a Macro?]]
 
| width="60%" |Introduction to macros, component macros and supplementary code
 
|-
 
| width="40%" align="center" | [[What Is an Interrupt?]]
 
| width="60%" |Introduction to interrupts, custom interrupts and debugging
 
|-
 
| width="40%" align="center" | [[What Is a Component?]]
 
| width="60%" |Introduction to components and explanation of main components
 
|-
 
| width="40%" align="center" | [[Advanced Features]]
 
| width="60%" |Further explanation of more advanced components and features available.
 
|}
 
  
==Flowcode Methodology==
+
==Components==
 +
<span id="Components"></span>
 +
*[[Component|Components]] - Information about what a component is and how they work inside the Flowcode environment.
 +
*[[Common_Components|Common Components]] - Information on some of the more commonly used components
 +
*[[Selecting_Component_Macros|Selecting Component Macros]] - Information on how to use component macros
 +
*[[Component_Help_Files|Component Help Files]] - How to get access to component help via Flowcode
 +
*[[Components|Components]] - Component help overview
 +
*[[Component_Properties|Component Properties]] - Information on how to use component properties
 +
*[[Component_Tree|Component Tree]] - Information regarding the component tree hierarchy
 +
*[[Replacing_a_Component|Replacing a Component]] - Replacing one component with another
 +
*[[CAL_Components|CAL Components]] - Overview of code abstraction layer components
 +
*[[DSP|DSP Components]] - Overview of digital signal processing components
 +
*[[Component_Directories|Component Directories]] - Information on creating your own components directories
 +
*[[Editing_Key_Mappings|Editing Key Mappings]] - Assigning keyboard presses to functionality during simulation
 +
*[[Remappable_Peripheral_Pins|Remappable Peripheral Pins]] - Assigning pins to peripherals on devices with re-mappable functionality.
  
===Design===
+
==Chip Specifics==
 +
<span id="Chip_Specifics"></span>
 +
*[[Compiling_a_Flowchart_to_a_Chip|Compiling a Flowchart to a Chip]] - Information on how to compile a flowchart into machine code
 +
*[[Internal_Oscillator|Internal Oscillator]] - Specifics on using an internal oscillator
 +
*[[Phase_Locked_Loop_(PLL)|Phase Locked Loop (PLL)]] - Specifics on using a PLL frequency multiplier
 +
*[[Interrupts|Interrupts]] - Built in interrupts for your hardware
 +
*[[Custom_Interrupts|Custom Interrupts]] - Custom interrupts for your hardware
 +
*[[Supporting_Third_Party_Programming_Tools|Supporting Third Party Programming Tools]] - Using 3rd party programmers such as PICkit and Arduino
 +
*[[Viewing_Code_Output|Viewing Code Output]] - Viewing the code generated by Flowcode
 +
*[[Managing_Compiler_Options|Managing Compiler Options]] - Overview of the compiler options settings
 +
*[[FCD_Data_Collection|FCD Data Collection]] - Chip definition files and how to collect data from them
  
Design your system by starting off with a blank canvas and dragging on the functionality you require. From a simple [[Component:_ID_a7b05886_784c_48c8_a6f6_cc371c7728e1|LED]] or [[Component:_ID_953a042a_b2aa_4f2e_94e2_ee2979cfc92e|switch]] to an [[Component:_ID_7aad74d6_b24e_4dab_91eb_5d72a973f12d|analogue input]] or even advanced [[Component:_ID_0d02ccfd_4cda_42b8_91d8_5392f491f9af|GSM modem]] Flowcode comes with built in components allowing you to design complex systems quickly and easily. To facilitate design simplicity we have added features like the [[Project_Explorer|Project explorer]], [[Find_and_Replace|Search and replace]], an updated [[Dashboard_Panel|2D panel]] and a new [[System_Panel|3D panel]] all of which are designed to reduce the amount of time to develop a project. There is even a set of [[DSP]] components built in to allow you to do a whole host of complex digital signal processing techniques simply.
+
==Support==
 
+
<span id="Support"></span>
===Simulate===
+
*[[Dynamic_Updates|Dynamic Updates]] - Getting updates and using older versions
 
+
*[[Reporting_a_Bug|Reporting a Bug]] - How to report a bug in Flowcode
The simulation is designed to provide a test bed for your code to not only allow you to gain familiarity with how to program but also to allow you to build confidence in your routines before getting anywhere near embedded hardware. The simulation is also capable of communicating via [[Component:_TCP_Base_(Comms)|Ethernet]], [[Component:_Bluetooth_(EB024,_Generic_AT)_(Wireless)|Bluetooth]], [[Component:_USB_Serial_(Comms)|USB]] or via a [[Component:_COM_Port_(Advanced)|COM]] port allowing extensive support to connect to existing hardware. Also included is the ability for the simulation to execute macros in an [[DLL_Support|external DLL]] allowing for expansion and integration with existing libraries of code. Finally the simulation has a large library of functions to allow you to do things like read/write a file on the system, manipulate panel properties and positions, parsing through the [[Component:_FCD_helper_(Advanced)|chip definition file]], etc. Many of these inbuilt functions have been included in components to allow simulation for example the [[Component:_FAT_(SD,_SDHC)_(Storage)|FAT SD card]] component. These features come together to allow systems like [[SCADA|S.C.A.D.A]] to be employed where a single computer can both survey and control the systems connected to it.
+
*[[Licensed_Compiler|Licensed Compiler]] - Compiler specifics and license agreement
 
+
*[[Technical_Support|Technical Support]] - Information on how to get further support
===Test===
+
*[[Migrating_from_older_versions|Migrating from Older Versions]] - Help on updating your projects from previous Flowcode versions
 
+
*[[Version_Updates|Version Updates]] - See what features have been added to Flowcode for each version.
As well as testing your code using the simulation and various panels there are additional features built into Flowcode designed to aid in the testing of both your code and your hardware. The Console window allows some of the more advanced components to automatically pass data to text fields that can easily be seen and edited by the user, [[Component:_FAT_(SD,_SDHC)_(Storage)#Reading_data_from_a_text_file|console demo]]. The Scope window allows analogue and communications components to automatically pass data to graphical traces which again can aid understanding of a system or a bug, [[Component:_Control_(DSP)#Proportional_.26_Integral_Control|scope demo]]. The [[Using_the_Data_Console|Console]] and [[Using_the_Data_Scope|Scope]] can also be used directly by your program allowing you to easily add your own debug routines.
 
 
 
E-blocks allow for an easy way to plug together various combinations of hardware allowing you very fast and simple prototyping. Once you have a system up and running you can use the schematics in the E-block datasheets to generate your own custom circuitry using only the specific pieces you require. Saying this Flowcode is designed to work with almost any hardware peripheral setup so E-blocks are in no way a must have.
 
 
 
Coming soon: Ghost Hardware Support. Ghost hardware is a chip with USB communications that connects itself to all of the pins of your target microcontroller allowing you to create a snapshot of the activity external to the microcontroller. Combined with in circuit debug this provides a very powerful way to debug your hardware and software at the same time. Currently the only Ghost compatible hardware is the version 9 EB006 PIC Multiprogrammer E-block.
 
 
 
===Deploy===
 
 
 
Flowcode supports a range of Matrix products directly but also comes with built in support for programmers such as [[Supporting_Third_Party_Programming_Tools|PICkit 2]], [[Supporting_Third_Party_Programming_Tools|PICkit 3]], [[Supporting_Third_Party_Programming_Tools|AVRISP vII]] and [[Supporting_Third_Party_Programming_Tools|Arduino]]. In truth Flowcode can work with any embedded programmer that can either be driven via a command line call or can manually be passed a compiled binary file e.g. projectname.hex.
 
 
 
Also available from Matrix are ECIO targets which are low cost project boards and MIAC which is a rugged PLC type controller. Both platforms consisting of a microcontroller with built in USB programming and [[Component:_MIAC_USB_Slave_(MIAC_Module)|USB communications compatibility]], allowing the Flowcode simulation to communicate directly with the hardware.
 
 
 
<br />
 

Latest revision as of 08:47, 4 December 2023

Getting Started

Program Editing

Macros

Functions

Variables

Panels

Tools and Views

Components

Chip Specifics

Support