Difference between revisions of "Component: API (Interface Board) (API Slave Devices)"
(3 intermediate revisions by 2 users not shown) | |||
Line 17: | Line 17: | ||
==Component Source Code== | ==Component Source Code== | ||
− | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/ | + | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Interface_Board_Comp.fcfx FC_Comp_Source_Interface_Board_Comp.fcfx] |
− | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/ | + | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Interface_Board_Comp.fcfx FC_Comp_Source_Interface_Board_Comp.fcfx] |
==Detailed description== | ==Detailed description== | ||
+ | A board designed to allow PC access to embedded style electronic signals at 3V3 or 5V. | ||
+ | Includes: ADC / DAC / I2C / IO / Servo / SPI / UART | ||
+ | USB Firmware allows control via a USB connection. Works with a Windows PC but should also work with other USB master based devices. | ||
+ | WIFI Firmware allows control via a WIFI network connection. Works with any networked device including devices via the internet. WIFI connection requires the use of the UART peripheral and so this is not available for Slave functionality when using the WIFI firmware. | ||
+ | Board supplied with firmware as requested. Firmware can be changed using a PICkit 3 or PICkit 4 device or similar Microchip programmer. | ||
+ | To setup the WIFI to work with your own network you first need to power up the board using a USB connection or by applying a 5V power supply between the 5V and GND pins. Next connect to the WIFI network hosted by the board with the network name InterfaceBoard using password all in lowercase as the Password. Visit the website at page 192.168.4.1 and then enter your WIFI network details into the form provided. On clicking ok the board will store the details in none volatile memory and attempt to connect to your network and establish a local IP address. If all goes ok here then the Interface Board network should dissappear. | ||
+ | Refer to your router configuration page to see the IP address of the device. | ||
+ | If the WIFI network is not available then the board will revert back to it's setup mode allowing the network to be changed. Once network connection is available again the board will automatically reconnect. | ||
+ | The latest updates can be found on [https://github.com/RowlandTechnology/Interface-Board?fbclid=IwAR3rMT-68u1Q9deWpEar0Ewq8fB2wmS6cR1nGipBTVmb9xiaD29BcwVQPE8 github] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Examples== | ==Examples== | ||
Line 82: | Line 79: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Line 845: | Line 803: | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
− | |||
− | |||
Latest revision as of 10:17, 18 January 2024
Author | Matrix TSL |
Version | 1.0 |
Category | API Slave Devices |
Contents
- 1 API (Interface Board) component
- 2 Component Source Code
- 3 Detailed description
- 4 Examples
- 5 Macro reference
- 5.1 ADCSample10
- 5.2 ADCSample8
- 5.3 I2CInitialise
- 5.4 I2CReceive
- 5.5 I2CRestart
- 5.6 I2CSend
- 5.7 I2CStart
- 5.8 I2CStop
- 5.9 I2CTransInit
- 5.10 I2CTransReceive
- 5.11 I2CTransSend
- 5.12 IOGetInputPin
- 5.13 IOSetOutputPin
- 5.14 Initialise
- 5.15 PWMDisable
- 5.16 PWMEnable
- 5.17 PWMSetDuty8
- 5.18 PWMSetPrescaler
- 5.19 SPIInitialise
- 5.20 SPIPrescaler
- 5.21 SPITransfer
- 5.22 SPITransferTrans
- 5.23 ServoDisable
- 5.24 ServoEnable
- 5.25 ServoSetPosition8
- 5.26 UARTBaud
- 5.27 UARTCheckRX
- 5.28 UARTInitialise
- 5.29 UARTReceive
- 5.30 UARTSend
- 5.31 WIFIGetIP
- 5.32 WIFIIsConnected
- 5.33 WIFISetSSID
- 6 Property reference
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
A board designed to allow PC access to embedded style electronic signals at 3V3 or 5V.
Includes: ADC / DAC / I2C / IO / Servo / SPI / UART
USB Firmware allows control via a USB connection. Works with a Windows PC but should also work with other USB master based devices.
WIFI Firmware allows control via a WIFI network connection. Works with any networked device including devices via the internet. WIFI connection requires the use of the UART peripheral and so this is not available for Slave functionality when using the WIFI firmware.
Board supplied with firmware as requested. Firmware can be changed using a PICkit 3 or PICkit 4 device or similar Microchip programmer.
To setup the WIFI to work with your own network you first need to power up the board using a USB connection or by applying a 5V power supply between the 5V and GND pins. Next connect to the WIFI network hosted by the board with the network name InterfaceBoard using password all in lowercase as the Password. Visit the website at page 192.168.4.1 and then enter your WIFI network details into the form provided. On clicking ok the board will store the details in none volatile memory and attempt to connect to your network and establish a local IP address. If all goes ok here then the Interface Board network should dissappear.
Refer to your router configuration page to see the IP address of the device.
If the WIFI network is not available then the board will revert back to it's setup mode allowing the network to be changed. Once network connection is available again the board will automatically reconnect.
The latest updates can be found on github
Examples
Direct Slave Access
Here is a simple demo to switch on and off digital pin 5.
Macro reference
ADCSample10
![]() |
ADCSample10 |
Reads the voltage present on an Alanog pin as an 10-bit value range 0-1023 | |
![]() |
ADCChannel |
Range: 0-5 | |
![]() |
Return |
ADCSample8
![]() |
ADCSample8 |
Reads the voltage present on an Alanog pin as an 8-bit value range 0-255 | |
![]() |
ADCChannel |
Range: 0-5 | |
![]() |
Return |
I2CInitialise
![]() |
I2CInitialise |
Initialsie the I2C module ready for communications | |
![]() |
Channel |
Channel Index: Range 0 - I2C Bus Count - 1 | |
![]() |
Baud |
0=100KHz, 1=400KHz, 2=1MHz | |
![]() |
Return |
I2CReceive
![]() |
I2CReceive |
Receive a byte using the I2C bus | |
![]() |
Channel |
Channel Index: Range 0 - I2C Bus Count - 1 | |
![]() |
Last |
Last byte to receive: Range 0-1 | |
![]() |
Return |
I2CRestart
![]() |
I2CRestart |
Put the I2C Module into Restart mode | |
![]() |
Channel |
Channel Index: Range 0 - I2C Bus Count - 1 | |
![]() |
Return |
I2CSend
![]() |
I2CSend |
Transmit a byte using the I2C bus | |
![]() |
Channel |
Channel Index: Range 0 - I2C Bus Count - 1 | |
![]() |
DataOut |
![]() |
Return |
I2CStart
![]() |
I2CStart |
Put the I2C Module into Start mode | |
![]() |
Channel |
Channel Index: Range 0 - I2C Bus Count - 1 | |
![]() |
Return |
I2CStop
![]() |
I2CStop |
Put the I2C Module into Stop mode | |
![]() |
Channel |
![]() |
Return |
I2CTransInit
I2CTransReceive
I2CTransSend
IOGetInputPin
![]() |
IOGetInputPin |
Sets the selected digital pin to an input and reads the input state. | |
![]() |
Pin |
Range: 0-17 | |
![]() |
Return |
IOSetOutputPin
![]() |
IOSetOutputPin |
Sets the selected digital pin to an output and assigns the output state. | |
![]() |
Pin |
Range: 0-17 | |
![]() |
State |
Range: 0-1 | |
![]() |
Return |
Initialise
![]() |
Initialise |
Initialise the comms to the Arduino board ready for commands to be sent. | |
![]() |
Return |
PWMDisable
![]() |
PWMDisable |
Disable a PWM output | |
![]() |
Channel |
Range: 0-1 | |
![]() |
Return |
PWMEnable
![]() |
PWMEnable |
Enable a PWM output | |
![]() |
Channel |
Range: 0-1 | |
![]() |
Return |
PWMSetDuty8
![]() |
PWMSetDuty8 |
Sets the duty for the PWM output | |
![]() |
Channel |
Range: 0-1 | |
![]() |
Duty |
Range: 0-255 | |
![]() |
Return |
PWMSetPrescaler
![]() |
PWMSetPrescaler |
Sets the prescaler for the PWM output | |
![]() |
Prescaler |
![]() |
Return |
SPIInitialise
![]() |
SPIInitialise |
Initialsie the SPI module ready for communications | |
![]() |
Channel |
Channel Index: Range 0 - SPI Bus Count - 1 | |
![]() |
Return |
SPIPrescaler
![]() |
SPIPrescaler |
Modify the speed of the SPI bus | |
![]() |
Channel |
Channel Index: Range 0 - SPI Bus Count - 1 | |
![]() |
Prescaler |
Range: 0-2 | |
![]() |
Return |
SPITransfer
![]() |
SPITransfer |
Transfer a byte using the SPI bus | |
![]() |
Channel |
Channel Index: Range 0 - SPI Bus Count - 1 | |
![]() |
DataOut |
![]() |
Return |
SPITransferTrans
ServoDisable
![]() |
ServoDisable |
Disable a Servo output | |
![]() |
Channel |
Range: 0-5 | |
![]() |
Return |
ServoEnable
![]() |
ServoEnable |
Enable a Servo output | |
![]() |
Channel |
Range: 0-5 | |
![]() |
Return |
ServoSetPosition8
![]() |
ServoSetPosition8 |
Sets the position as an 8-bit value | |
![]() |
Channel |
Range: 0-1 | |
![]() |
Position |
Range: 0-255 | |
![]() |
Return |
UARTBaud
UARTCheckRX
![]() |
UARTCheckRX |
Check to see if the UART module has received any data | |
![]() |
Channel |
Channel Index: Range 0 - UART Bus Count - 1 | |
![]() |
Return |
UARTInitialise
![]() |
UARTInitialise |
Initialise the UART module ready for communications | |
![]() |
Channel |
Channel Index: Range 0 - UART Bus Count - 1 | |
![]() |
Return |
UARTReceive
![]() |
UARTReceive |
Receives a data byte from the UART. Recommend calling the UARTCheckRx function first to ensure data is available. | |
![]() |
Channel |
Channel Index: Range 0 - UART Bus Count - 1 | |
![]() |
Return |
UARTSend
![]() |
UARTSend |
Send a byte via the UART module | |
![]() |
Channel |
Channel Index: Range 0 - UART Bus Count - 1 | |
![]() |
Data |
Data Byte to send. Range: 0-255 | |
![]() |
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. | |
![]() |
Return |
WIFIIsConnected
![]() |
WIFIIsConnected |
Checks to see if the WIFI is active and connected | |
![]() |
Return |
WIFISetSSID