Difference between revisions of "Flowcode Help Overview"

From Flowcode Help
Jump to navigationJump to search
 
(49 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<sidebar>Sidebar: Flowcode Help Overview</sidebar>
 
<sidebar>Sidebar: Flowcode Help Overview</sidebar>
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.
+
__NOTOC__
 +
A set of videos are available showing some projects using Flowcode 6 as well as talking you through some example programs.
 +
[https://www.youtube.com/watch?v=g5SrkU-5TuU&list=PLCZaPFyK6UlLyg-a8Fm01ZWFvp-GxBLgc Flowcode 6 Playlist]
  
 +
==Version 6==
 +
<span id="Version_6"></span>
 +
* [[New_in_Version_6|New in Flowcode 6]] - Introduction to new features in Flowcode 6 and other useful information
 +
* [[Chips]] - List of supported microcontroller devices in Flowcode 6
 +
* [[Migrating_to_V6|Migrating to Flowcode 6]] - Help and advise moving to v6 from an older version
  
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.
+
==Getting Started==
 +
<span id="Getting_Started"></span>
 +
* [[Activating_Flowcode]] - Activating your Flowcode license
 +
* [[Opening_Flowcode]] - Launching the Flowcode application
 +
* [[Finding_Your_Way_Around_Flowcode]] - Finding your way around
 +
* [[Creating_Flowcharts]] - Creating your first Flowcode flowchart and see the options available
 +
* [[Selecting_a_Target_Chip]] - Selecting the target microcontroller device
 +
* [[Configuring_the_Chip]] - Configuring your device
 +
* [[Opening_an_Existing_Flowchart]] - Opening an existing .FCFX Flowcode project file
 +
* [[Selecting_a_Template]] - Opening a template project file
 +
* [[Saving_a_Flowchart]] - Saving your program
 +
* [[Creating_Templates]] - Creating your own templates
 +
* [[Closing_Flowcode]] - Closing Flowcode
 +
* [[Disabling the 3D Panel]] - Disabling the 3D interface
  
 +
==Flowcharts==
 +
<span id="Flowcharts"></span>
 +
*[[Icon_Properties]] - Flowchart icons and their functionality
 +
*[[Adding_an_Icon_to_a_Flowchart]] - Adding flowchart icons to your program
 +
*[[Editing_Icon_Properties]] - Editing the properties of a flowchart icon
 +
*[[Adding_Comments_to_a_Flowchart]] - Commenting your flowchart
 +
*[[Selecting_Icons]] - Selecting icons on the flowchart
 +
*[[Flowchart_Editing_Functions]] - Functions to make editing your flowchart easier
 +
*[[Printing_Flowcharts]] - Printing out a flowchart
  
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.
+
==Macros==
 +
<span id="Macros"></span>
 +
*[[Creating_a_New_Macro]] - Creating a new flowchart macro or subroutine
 +
*[[Editing_and_Deleting_Macros]] - Editing a macro and removing a macro from your program
 +
*[[Using_the_Project_Explorer]] - Features of the project explorer designed to help simplify programming
 +
*[[Exporting_a_Macro]] - Exporting a macro from within Flowcode
 +
*[[Importing_a_Macro]] - Importing a macro into Flowcode
  
 +
==Functions==
 +
<span id="Functions"></span>
 +
*[[Mathematical_Functions]] - Built in routines designed to help with mathematical operations such as Sin() and Float
 +
*[[String_Manipulation_Functions]] - Built in routines designed to help with string manipulation
 +
*[[Undo_and_Redo]] - Undo and Redo operations and shortcuts
 +
*[[Disabling_Icons]] - Disabling flowchart icons to comment out sections of code
 +
*[[Icon_Annotations]] - Icon annotations
 +
*[[Find_and_Replace]] - Ability to search within your flowcode project to replace specific text with alternate text
  
{| class="wikitable" style="width: 70%; margin:auto; text-align:center;"
+
==Variables==
|-
+
<span id="Variables"></span>
! Title
+
*[[Creating_Variables]] - How to create a variable
! Description
+
*[[Variable_Types]] - Variable types and their meanings
|-
+
*[[Editing_Variables]] - How to edit a variable
| width="40%" align="center" | [[Introduction]]
+
*[[Variable_Manager]] - The Flowcode variable manager interface
| width="60%" |Introduction to new features in Flowcode 6 and other useful information
+
*[[Handles]] - Handle variables and their function within the system
|-
+
*[[Typecasting]] - Variable type casting, applications and usage
| width="40%" align="center" | [[Getting Started]]
 
| width="60%" |Learn the basics of Flowcode and how to navigate the program
 
|-
 
| width="40%" align="center" | [[What Is a Flowcode Flowchart?]]  
 
| width="60%" |Creating your first Flowcode flowchart and see the options available
 
|-
 
| 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==
+
==Panels==
 +
<span id="Panels"></span>
 +
*[[Panels_Where_And_Why]] - What the panels do and how they help you design your system
 +
*[[Choosing_your_Simulation_Panel]] - Information about choosing the correct panel
 +
*[[Dashboard_Panel]] - More in depth information on the dashboard panel
 +
*[[System_Panel]] - More in depth information on the system panel
 +
*[[Zooming_the_View]] - Zooming in and out on panels
 +
*[[Camera_Control]] - Controlling the camera looking at the panel
 +
*[[Object_Position]] - Object positioning on the panels
 +
*[[Local_and_World_Space]] - Local vs World space regarding coordinates
 +
*[[Object_Scale]] - Objects and their scale
 +
*[[Object_Rotation]] - Rotating objects
 +
*[[Working_With_Meshes]] - Using meshes inside Flowcode
  
===Design===
+
==Tools and Views==
 +
<span id="Tools_and_Views"></span>
 +
*[[Tools_and_Views]] - Various tools and views available inside Flowcode
 +
*[[Using_the_Data_Console]] - How to use the data console window in your programs
 +
*[[Using_the_Data_Scope]] - How to use the data scope window in your programs
 +
*[[Using_the_Icon_Lists_Pane]] - The icon lists pane
 +
*[[Project_Options]] - Detailed help on the Project Options window
 +
*[[Global_Options]] - Detailed help on the Global Options window
 +
*[[Web_Access_Panel]] - The web access panel
 +
*[[Chip_View]] - The chip view window
 +
*[[Analog_Window]] - The analogue inputs window
 +
*[[Properties_Panel]] - The properties panel
 +
*[[Simulation_Debugger]] - The simulation debugger window
 +
*[[Component_Debugger]] - The component debugger window
 +
*[[Supplementary_Code]] - Supplementary code and its usage
 +
*[[Saving_Images_in_Flowcode]] - Creating images of your flowchart source
 +
*[[Auto_Documentation]] - Auto documentation features to speed up development
 +
*[[Window_Layouts]] - The window layouts manager
  
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.
+
==Components==
 +
<span id="Components"></span>
 +
*[[Component]] - Information about what a component is and how they work inside the Flowcode environment.
 +
*[[Common_Components]] - Information on some of the more commonly used components
 +
*[[What_Is_a_Switch%3F]] - Detailed information regarding the switch components
 +
*[[What_Is_an_LED%3F]] - Detailed information regarding the LED components
 +
*[[What_Is_an_LCD%3F]] - Detailed information regarding the LCD components
 +
*[[What_Is_a_7_Segment_Display%3F]] - Detailed information regarding the 7Seg components
 +
*[[What_Is_a_Keypad%3F]] - Detailed information regarding the keypad components
 +
*[[Selecting_Component_Macros]] - Information on how to use component macros
 +
*[[Component_Help_Files]] - How to get access to component help via Flowcode
 +
*[[Components]] - Component help overview
 +
*[[Component_Properties]] - Information on how to use component properties
 +
*[[Component_Tree]] - Information regarding the component tree hierarchy
 +
*[[Replacing_a_Component]] - Replacing one component with another
 +
*[[CAL_Components]] - Overview of code abstraction layer components
 +
*[[DSP|DSP Components]] - Overview of digital signal processing components
 +
*[[Using_the_Data_Injector]] - Data injectors and communications components
 +
*[[Component_Directories]] - Information on creating your own components directories
 +
*[[Editing_Key_Mappings]] - Assigning keyboard presses to functionality during simulation
 +
*[[Remappable_Peripheral_Pins]] - Assigning pins to peripherals on devices with re-mappable functionality.
  
===Simulate===
+
==Component Creation==
 +
<span id="Component_Creation"></span>
 +
*[[Creating_a_Property]] - How to create a property
 +
*[[Panel_Managers]] - Overview of the component creation panel managers
 +
*[[Number_Conversions]] - Creating a helper component to help convert between number systems Decimal, Hexadecimal and Binary
 +
*[[Assigning_Code_to_an_Existing_Component]] - Complementing or overriding an existing components functionality
 +
*[[Base_Components]] - The base components and their function
 +
*[[Using_A_Base_Component]] - Creating a new component using a base
 +
*[[Creating a two wheeled robot]] - Creating a 2 wheeled robot from scratch (simulation & downloadable)
  
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.  
+
==Simulation==
 +
<span id="Simulation"></span>
 +
*[[Starting_Flowchart_Simulation]] - Information on how to use the flowchart simulation
 +
*[[Simulating_Icons_Step_by_Step]] - Stepping through icons
 +
*[[Breakpoints]] - Using breakpoints
 +
*[[Bookmarks]] - Using bookmarks
 +
*[[Changing_the_Speed_of_a_Simulation]] - Changing the run speed of the simulator
 +
*[[Simulation_Only_Code]] - Code designed to work only via the simulator
 +
*[[Simulation_Events]] - Event macros used to provide more functionality to both simulation and compiled code
 +
*[[DLL_Support]] - Changing the nature of a macro to instead call a external DLL function (simulation only)
 +
*[[Data_Scope_Test]] - Information on how to use the Flowcode data scope window.
  
===Test===
+
==Chip Specifics==
 +
<span id="Chip_Specifics"></span>
 +
*[[Compiling_a_Flowchart_to_a_Chip]] - Information on how to compile a flowchart into machine code
 +
*[[Internal_Oscillator]] - Specifics on using an internal oscillator
 +
*[[Phase_Locked_Loop_(PLL)]] - Specifics on using a PLL frequency multiplier
 +
*[[Custom_Interrupts]] - Custom interrupts for your hardware
 +
*[[Debugging_Hardware_and_Software]] - Tips on how to debug hardware and software
 +
*[[In_Circuit_Debugging]] - Overview of the in circuit debugging (ICD) interface
 +
*[[In_Circuit_Test]] - Overview of the in circuit test (ICT) interface
 +
*[[Supporting_Third_Party_Programming_Tools]] - Using 3rd party programmers such as PICkit and Arduino
 +
*[[Viewing_Code_Output]] - Viewing the code generated by Flowcode
 +
*[[Managing_Compiler_Options]] - Overview of the compiler options settings
 +
*[[FCD_Data_Collection]] - Chip definition files and how to collect data from them
  
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.
+
==Support==
 
+
<span id="Support"></span>
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.
+
*[[Frequently_Asked_Questions]] - Frequently asked questions
 
+
*[[Reporting_a_Bug]] - How to report a bug in Flowcode
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.
+
*[[Licensed_Compiler]] - Compiler specifics and license agreement
 
+
*[[Technical_Support]] - Information on how to get further support
===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 10:50, 15 August 2016

<sidebar>Sidebar: Flowcode Help Overview</sidebar>

A set of videos are available showing some projects using Flowcode 6 as well as talking you through some example programs. Flowcode 6 Playlist

Version 6

  • New in Flowcode 6 - Introduction to new features in Flowcode 6 and other useful information
  • Chips - List of supported microcontroller devices in Flowcode 6
  • Migrating to Flowcode 6 - Help and advise moving to v6 from an older version

Getting Started

Flowcharts

Macros

Functions

Variables

Panels

Tools and Views

Components

Component Creation

Simulation

Chip Specifics

Support