Difference between revisions of "Flowcode Help Overview"

From Flowcode Help
Jump to navigationJump to search
Line 47: Line 47:
 
| width="60%" |Further explanation of more advanced components and features available.
 
| width="60%" |Further explanation of more advanced components and features available.
 
|}
 
|}
 +
 +
==Flowcode Methodology==
 +
 +
===Design===
 +
 +
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.
 +
 +
===Simulate===
 +
 +
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.
 +
 +
===Test===
 +
 +
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 />

Revision as of 09:33, 4 March 2014

<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.


We recommend going through the Flowcode section of the Introduction to Microcontrollers course which has been updated for Flowcode 6 and is available for free at the Learning Center section on the Matrix Multimedia website under the name of Flowcode Beginners Course.


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.


Title Description
Introduction Introduction to new features in Flowcode 6 and other useful information
Getting Started Learn the basics of Flowcode and how to navigate the program
What Is a Flowcode Flowchart? Creating your first Flowcode flowchart and see the options available
Controlling Electronic Devices With Flowcode Introduction to components, variables, icons, dashboard and system panels
Overview of Simulation Learn how to use simulation effectively including the features available
Adding Finishing Touches Organizing and documenting flowcharts and compiling to a chip
Taking Flowcode Further Learn useful functions and make the most out of tools and features
What Is a Macro? Introduction to macros, component macros and supplementary code
What Is an Interrupt? Introduction to interrupts, custom interrupts and debugging
What Is a Component? Introduction to components and explanation of main components
Advanced Features Further explanation of more advanced components and features available.

Flowcode Methodology

Design

Design your system by starting off with a blank canvas and dragging on the functionality you require. From a simple LED or switch to an analogue input or even advanced 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, Search and replace, an updated 2D panel and a new 3D panel all of which are designed to reduce the amount of time to develop a project.

Simulate

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 Ethernet, Bluetooth, USB or via a COM port allowing extensive support to connect to existing hardware. Also included is the ability for the simulation to execute macros in an 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 chip definition file, etc. Many of these inbuilt functions have been included in components to allow simulation for example the FAT SD card component. These features come together to allow systems like S.C.A.D.A to be employed where a single computer can both survey and control the systems connected to it.

Test

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, 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, scope demo. The Console and 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 PICkit 2, PICkit 3, AVRISP vII and 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 USB communications compatibility, allowing the Flowcode simulation to communicate directly with the hardware.