Difference between revisions of "Component: Data Injector Template (Comms)"

From Flowcode Help
Jump to navigationJump to search
(XML import)
 
Line 64: Line 64:
  
 
==Examples==
 
==Examples==
''<span style="color:red;">No additional examples</span>''
+
 
 +
===vNet Example===
 +
Here is an example of using the vNet injector to simulate a multi microcontroller system.
 +
 
 +
Microcontroller 1 is connected to a keypad and has a RS232 communications connection.
 +
 
 +
Microcontroller 2 is connected to a solenoid and has a RS232 communications connection.
 +
 
 +
Any key presses detected on microcontroller 1 will be sent via RS232 to microcontroller 2. If the correct byte sequence (1234) is received by microcontroller 2 then the solenoid is fired to unlock a door for 5 seconds.
 +
 
 +
{{Fcfile|FlowcodeInjector1.fcfx|vNet Example Node 1}}
 +
 
 +
{{Fcfile|FlowcodeInjector2.fcfx|vNet Example Node 2}}
 +
 
 +
Communications over the vNet injector can be monitored using the console.
 +
 
 +
[[File:VnetSim.jpg]]
  
  

Revision as of 10:29, 28 July 2016


Author Matrix Ltd
Version 1.0 (Release)
Category Comms


Image Data Injector Template component

A base data injector used as a placeholder in components which reference the data injector interface. Not recommended for use in projects.

This component can be used as a base to create child components

The following components all inherit the traits of Data Injector Template:

-
Image Injector (AT) Comms data injector to replicate basic AT command syntax.

The component will record each incoming character until the termination character is received. Once this happens the component will respond by echoing back the received data followed by an "OK" reply.

Image Injector (CAN) Comms data injector to allow CAN message identifiers to be decoded to specific message strings.

Uses an external CSV file to specify the IDs and descriptive strings.

Image Injector (COM) Comms data injector to allow a COM port peripheral to be attached to a comms component.

The component will forward any outgoing bytes to the COM port and forward any incoming bytes to the comms component. Useful for controlling hardware such as Bluetooth, RS232, USB to Serial, MODBUS...

Image Injector (DS1307 RTC) Comms data injector to allow simulation of a DS1307 Real Time Clock and RAM.
Image Injector (File) Comms data injector to allow data to be streamed to and from a file during simulation.

The component will read data from the incoming file and write data to the outgoing file.

Image Injector (GPS NMEA) Comms data injector to allow simulation of NMEA style GPS messages
Image Injector (Human Interface) Comms data injector to allow typed data values to be inserted into a component.

Allows data to be input in raw ASCII form or as numeric byte data 0-255.

Image Injector (Loopback) Comms data injector to replicate a basic loopback setup.

The component will return any outgoing data back to the receiver.

Image Injector (Flowcode vNet) Comms data injector to allow components to talk to each other between instances of Flowcode.

The injector allows the data to be sent and received between multiple instances of Flowcode either running on a single machine, across a network or via the internet.

Examples

vNet Example

Here is an example of using the vNet injector to simulate a multi microcontroller system.

Microcontroller 1 is connected to a keypad and has a RS232 communications connection.

Microcontroller 2 is connected to a solenoid and has a RS232 communications connection.

Any key presses detected on microcontroller 1 will be sent via RS232 to microcontroller 2. If the correct byte sequence (1234) is received by microcontroller 2 then the solenoid is fired to unlock a door for 5 seconds.

FC6 Icon.png vNet Example Node 1

FC6 Icon.png vNet Example Node 2

Communications over the vNet injector can be monitored using the console.

VnetSim.jpg


Downloadable macro reference

This component does not contain any downloadable macros

Simulation macro reference

InitialiseInjector

No additional information


Parameters

<- STRING InjectorName
This parameter may be returned back to the caller


Return value

BYTE


RxByteCount

Returns the number of bytes currently sat in the receive buffer.

Parameters

This macro has no parameters


Return value

UINT


TxByte

Transmit a byte out to the Injector

Parameters

BYTE Data


Return value

This call does not return a value


RxByte

Attempt to receive a byte back from the injector

0 - 255 = Valid data

256 = RX timeout no data available

Parameters

This macro has no parameters


Return value

UINT


GetTxConsoleHandle

Gets the handle to the console allowing data displaying on the panel etc.

Parameters

This macro has no parameters


Return value

HANDLE


ChangeState

Changes the state for I2C or SPI type comms where the data bytes along are not enough to go on.

Parameters

BYTE NewState
Assigns new state, 0=default


Return value

This call does not return a value


GetRxConsoleHandle

Gets the handle to the console allowing data displaying on the panel etc.

Parameters

This macro has no parameters


Return value

HANDLE



Property reference

Circular Buffer Size

This property is of type Unsigned integer and can be referenced with the variable name CircularBufferSize.

No additional information