Using the Data Injector
Some of the more common communications based components have an inbuilt option to use a data injector component to allow the external portion of the communications bus to be simulated. The data injectors are designed to replicate the functionality of a specific external interface without adding anything to the downloadable code sent to the embedded device. This allows you to fully test out your program in simulation before downloading your code to the black box which is the embedded device.
The current data injectors packaged with Flowcode include.
- Injector Base - An empty injector used to create placeholders in communications components which can then be replaced with an actual injector once the component is exported.
- AT Injector - A simple AT command based injector which will wait for a carriage return and then echo back any data it received along with an OK response.
- CAN Injector - A means of decoding CAN ID's by referring to an external CSV file containing data in the format ID,DecodeString\n.
- DS1307 Injector - A simple I2C device compromising of a real time clock based on the PC system time and a section of user memory which can be accessed.
- GPS Injector - A means of dynamically adding NMEA type GPS message data into a component.
- Human Interface Injector - A means of allowing direct data input and data queuing from a keyboard, similar to the v5 RS232/I2C component functionality.
- Vnet Injector - A means of passing communications to other Flowcode nodes or other devices using TCP-IP style network messages.
The Vnet injector can be used to pass data between several instances of Flowcode running on a single machine or across a network.
Custom injectors can be created to allow almost any external device to be simulated and tested.
More details of how to do this are available from the user forums: Creating Custom Injectors.