Jump to content

Component: API (Interface Board) (API Slave Devices)

From Flowcode Help
Revision as of 11:50, 3 February 2023 by Wiki bot (talk | contribs)
Author Matrix TSL
Version 1.0
Category API Slave Devices


API (Interface Board) component

Connects to an Interface Board running the API Firmware allowing the board to become a slave to the Flowcode Embedded simulation or Flowcode App Developer. Supports: Digital IO / ADC / I2C / SPI / PWM / UART / DAC / Servo See Instructables for open source project files.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_Interface_Board_Comp.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_Interface_Board_Comp.fcfx

Detailed description

No detailed description exists yet for this component

Examples

Direct Slave Access

Here is a simple demo to switch on and off digital pin 5.


Simple Interface Board Demo


Rapid Development - Virtualised SPI

A feature of the App Developer Slave interface is to use the component for rapid development.

The App Developer Slave hardware can be used to take communications from the Flowcode simulation and transfer them to a real world device allowing for easy code generation and test without having to download to a target microcontroller device.

The CS pin and SPI Prescaler are set via the properties of the Injector component.

The SPI Master component is linked to the Injector component via the Injector property.

The Injector component is linked to the App Developer Slave component via the App Developer Slave property.


Interface Board App Developer Slave SPI Demo


Rapid Development - Virtualised I2C

A feature of the App Developer Slave interface is to use the component for rapid development.

The App Developer Slave hardware can be used to take communications from the Flowcode simulation and transfer them to a real world device allowing for easy code generation and test without having to download to a target microcontroller device.

The I2C Master component is linked to the Injector component via the Injector property.

The Injector component is linked to the App Developer Slave component via the App Developer Slave property.


Interface Board App Developer Slave I2C Demo


Rapid Development - Virtualised UART

A feature of the App Developer Slave interface is to use the component for rapid development.

The App Developer Slave hardware can be used to take communications from the Flowcode simulation and transfer them to a real world device allowing for easy code generation and test without having to download to a target microcontroller device.

The Baud rate and optional RS485 Properties are set via the properties of the Injector component.

The UART component is linked to the Injector component via the Injector property.

The Injector component is linked to the App Developer Slave component via the App Developer Slave property.


Interface Board App Developer Slave UART Demo



Macro reference

I2CInitialise

I2CInitialise
Initialsie the I2C module ready for communications 
- BYTE Channel
Channel Index: Range 0 - I2C Bus Count - 1 
- BYTE Baud
0=100KHz, 1=400KHz, 2=1MHz 
- VOID Return


SPITransferTrans

SPITransferTrans
Transfer an array of bytes using the SPI bus 
- BYTE Channel
Channel Index: Range 0 - SPI Bus Count - 1 
- UINT Count
Number of bytes to send and receive 
- BYTE DataOut
Outgoing data 
- BYTE DataIn
Incoming data 
- VOID Return


IOGetInputPin

IOGetInputPin
Sets the selected digital pin to an input and reads the input state. 
- BYTE Pin
Range: 0-17 
- BOOL Return


UARTBaud

UARTBaud
Control the communications rate of the UART module 
- BYTE Channel
Channel Index: Range 0 - UART Bus Count - 1 
- BYTE Rate
0=1200, 1=2400, 2=4800, 3=9600, 4=19200, 5=38400, 6=57600, 7=115200 
- VOID Return


ADCSample8

ADCSample8
Reads the voltage present on an Alanog pin as an 8-bit value range 0-255 
- BYTE ADCChannel
Range: 0-5 
- BYTE Return


I2CTransReceive

I2CTransReceive
Receives an I2C Transaction on the selected I2C channel. Returns the number of bytes received. 
- BYTE Channel
Channel Index: Range 0 - I2C Bus Count - 1 
- BYTE Data
Data variable to receive into 
- UINT Count
Number of bytes to receive 
- UINT Return


UARTInitialise

UARTInitialise
Initialise the UART module ready for communications 
- BYTE Channel
Channel Index: Range 0 - UART Bus Count - 1 
- VOID Return


UARTCheckRX

UARTCheckRX
Check to see if the UART module has received any data 
- BYTE Channel
Channel Index: Range 0 - UART Bus Count - 1 
- BYTE Return


I2CRestart

I2CRestart
Put the I2C Module into Restart mode 
- BYTE Channel
Channel Index: Range 0 - I2C Bus Count - 1 
- VOID Return


WIFIIsConnected

WIFIIsConnected
Checks to see if the WIFI is active and connected 
- BOOL Return


PWMDisable

PWMDisable
Disable a PWM output 
- BYTE Channel
Range: 0-1 
- VOID Return


I2CStart

I2CStart
Put the I2C Module into Start mode 
- BYTE Channel
Channel Index: Range 0 - I2C Bus Count - 1 
- VOID Return


SPITransfer

SPITransfer
Transfer a byte using the SPI bus 
- BYTE Channel
Channel Index: Range 0 - SPI Bus Count - 1 
- BYTE DataOut
 
- BYTE Return


I2CReceive

I2CReceive
Receive a byte using the I2C bus 
- BYTE Channel
Channel Index: Range 0 - I2C Bus Count - 1 
- BOOL Last
Last byte to receive: Range 0-1 
- BYTE Return


I2CStop

I2CStop
Put the I2C Module into Stop mode 
- BYTE Channel
 
- VOID Return


WIFISetSSID

WIFISetSSID
Assign the SSID and password for the network you wish to connect the board to. Stores the parameters into ROM for later USB free setup. 
- STRING SSID
Name of the network you wish to connect to 
- STRING Password
 
- VOID Return


ServoDisable

ServoDisable
Disable a Servo output 
- BYTE Channel
Range: 0-5 
- VOID Return


SPIPrescaler

SPIPrescaler
Modify the speed of the SPI bus 
- BYTE Channel
Channel Index: Range 0 - SPI Bus Count - 1 
- BYTE Prescaler
Range: 0-2 
- VOID Return


ServoEnable

ServoEnable
Enable a Servo output 
- BYTE Channel
Range: 0-5 
- VOID Return


ADCSample10

ADCSample10
Reads the voltage present on an Alanog pin as an 10-bit value range 0-1023 
- BYTE ADCChannel
Range: 0-5 
- UINT Return


I2CTransSend

I2CTransSend
Sends an I2C Transaction on the selected I2C channel. Returns the number of bytes sent. 
- BYTE Channel
Channel Index: Range 0 - I2C Bus Count - 1 
- BYTE Data
Data to send 
- UINT Count
Number of bytes to send out, MS bit 0x8000 signifies no Stop if set 
- UINT Return


I2CTransInit

I2CTransInit
Initialises the I2C Transaction mode with the 7-bit device address 
- BYTE Channel
Channel Index: Range 0 - I2C Bus Count - 1 
- BYTE DeviceAddress
7-bit Device Address 
- BYTE Baud
0=100KHz, 1=400KHz, 2=1MHz 
- VOID Return


IOSetOutputPin

IOSetOutputPin
Sets the selected digital pin to an output and assigns the output state. 
- BYTE Pin
Range: 0-17 
- BOOL State
Range: 0-1 
- VOID Return


ServoSetPosition8

ServoSetPosition8
Sets the position as an 8-bit value 
- BYTE Channel
Range: 0-1 
- BYTE Position
Range: 0-255 
- VOID Return


UARTReceive

UARTReceive
Receives a data byte from the UART. Recommend calling the UARTCheckRx function first to ensure data is available. 
- BYTE Channel
Channel Index: Range 0 - UART Bus Count - 1 
- BYTE Return


SPIInitialise

SPIInitialise
Initialsie the SPI module ready for communications 
- BYTE Channel
Channel Index: Range 0 - SPI Bus Count - 1 
- VOID Return


WIFIGetIP

WIFIGetIP
Gets the IP address of the board. Allows you to setup and get the assigned address via USB before using over WIFI, Use the WIFIIsConnected first to check the WIFI is active.  
- STRING Return


I2CSend

I2CSend
Transmit a byte using the I2C bus 
- BYTE Channel
Channel Index: Range 0 - I2C Bus Count - 1 
- BYTE DataOut
 
- BOOL Return


UARTSend

UARTSend
Send a byte via the UART module 
- BYTE Channel
Channel Index: Range 0 - UART Bus Count - 1 
- BYTE Data
Data Byte to send. Range: 0-255 
- VOID Return


PWMSetPrescaler

PWMSetPrescaler
Sets the prescaler for the PWM output 
- BYTE Prescaler
 
- VOID Return


PWMSetDuty8

PWMSetDuty8
Sets the duty for the PWM output 
- BYTE Channel
Range: 0-1 
- BYTE Duty
Range: 0-255 
- VOID Return


PWMEnable

PWMEnable
Enable a PWM output 
- BYTE Channel
Range: 0-1 
- VOID Return


Initialise

Initialise
Initialise the comms to the Arduino board ready for commands to be sent. 
- VOID Return



Property reference

Properties
Connection Type
 
Connection Properties
Auto Detect Port
Allows the component to auto detect the interface board COM port. Requires the latest Flowcode serial comms DLL to function correctly. 
Scan Results
Lists the IP addresses found during the last scan, Overwrites the selected WIFI IP property when changed. 
Scan Start
Address to set the scan start point. For example 10 might generate 192.168.1.10 depending on your IP setting. Scan then proceeds from there so for example 11, 12, 13, ..., 254, 255. Default 0 
End Scan
Decides how the scan is terminated 
API Peripherals
Digital IO
 
Analog Input
 
Analog Output
 
PWM Output
 
I2C Bus
 
SPI Bus
 
UART
 
SERVO
 
Logging
Console Log
Create an automatic console log of the commands sent to the device 
Log Mode
Controls how the console data is formatted. Fixed statistics gives an easy to read overview of the IO, Analog and PWM functionality Command Log gives a more in depth analysis of the outgoing commands and incoming returns ASCII mode allows serial data to be shown in raw text form, other commands are shown as in the Command Log mode 
Show Raw
Shows the raw data stream via a console window