Component: API (BL0032) (API Slave Devices): Difference between revisions
m Text replacement - "width="10%" align="center" style="background-color:#D8C9D8;" align="center"" to "width="10%" align="center" class="mtx-class-macrohead"" |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 391: | Line 391: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ADCSample12''' | ||
|- | |- | ||
| colspan="2" | Reads the voltage present on an Analog pin as an 12-bit value range 0-4095 | | colspan="2" | Reads the voltage present on an Analog pin as an 12-bit value range 0-4095 | ||
| Line 410: | Line 410: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ADCSample8''' | ||
|- | |- | ||
| colspan="2" | Reads the voltage present on an Analog pin as an 8-bit value range 0-255 | | colspan="2" | Reads the voltage present on an Analog pin as an 8-bit value range 0-255 | ||
| Line 429: | Line 429: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ADCSampleArray10''' | ||
|- | |- | ||
| colspan="2" | Reads the voltage present on an Analog pin as an 10-bit value range 0-1023 Performs the selected number of samples with the selected time in microseconds in between samples and returns each sample in a single packet | | colspan="2" | Reads the voltage present on an Analog pin as an 10-bit value range 0-1023 Performs the selected number of samples with the selected time in microseconds in between samples and returns each sample in a single packet | ||
| Line 463: | Line 463: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ADCSampleArray8''' | ||
|- | |- | ||
| colspan="2" | Reads the voltage present on an Analog pin as an 8-bit value range 0-255 Performs the selected number of samples with the selected time in microseconds in between samples and returns each sample in a single packet | | colspan="2" | Reads the voltage present on an Analog pin as an 8-bit value range 0-255 Performs the selected number of samples with the selected time in microseconds in between samples and returns each sample in a single packet | ||
| Line 497: | Line 497: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ADCSampleAverage10''' | ||
|- | |- | ||
| colspan="2" | Reads the voltage present on an Analog pin as an 10-bit value range 0-1023. Performs the selected number of samples with the selected time in microseconds in between samples | | colspan="2" | Reads the voltage present on an Analog pin as an 10-bit value range 0-1023. Performs the selected number of samples with the selected time in microseconds in between samples | ||
| Line 526: | Line 526: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ADCSampleAverage8''' | ||
|- | |- | ||
| colspan="2" | Reads the voltage present on an Analog pin as an 8-bit value range 0-255 Performs the selected number of samples with the selected time in microseconds in between samples | | colspan="2" | Reads the voltage present on an Analog pin as an 8-bit value range 0-255 Performs the selected number of samples with the selected time in microseconds in between samples | ||
| Line 555: | Line 555: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ADCSetPrechargeTime''' | ||
|- | |- | ||
| colspan="2" | Specifies the precharge time for the ADC input readings in microseconds. The longer the time the more immune to noise the reading will be. | | colspan="2" | Specifies the precharge time for the ADC input readings in microseconds. The longer the time the more immune to noise the reading will be. | ||
| Line 574: | Line 574: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''ADCSetReferenceVoltage''' | ||
|- | |- | ||
| colspan="2" | Specified the reference setting for ADC reads. | | colspan="2" | Specified the reference setting for ADC reads. | ||
| Line 593: | Line 593: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''I2CInitialise''' | ||
|- | |- | ||
| colspan="2" | Initialsie the I2C module ready for communications | | colspan="2" | Initialsie the I2C module ready for communications | ||
| Line 617: | Line 617: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''I2CReceive''' | ||
|- | |- | ||
| colspan="2" | Receive a byte using the I2C bus | | colspan="2" | Receive a byte using the I2C bus | ||
| Line 641: | Line 641: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''I2CRestart''' | ||
|- | |- | ||
| colspan="2" | Put the I2C Module into Restart mode | | colspan="2" | Put the I2C Module into Restart mode | ||
| Line 660: | Line 660: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''I2CSend''' | ||
|- | |- | ||
| colspan="2" | Transmit a byte using the I2C bus | | colspan="2" | Transmit a byte using the I2C bus | ||
| Line 684: | Line 684: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''I2CStart''' | ||
|- | |- | ||
| colspan="2" | Put the I2C Module into Start mode | | colspan="2" | Put the I2C Module into Start mode | ||
| Line 703: | Line 703: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''I2CStop''' | ||
|- | |- | ||
| colspan="2" | Put the I2C Module into Stop mode | | colspan="2" | Put the I2C Module into Stop mode | ||
| Line 722: | Line 722: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''I2CTransInit''' | ||
|- | |- | ||
| colspan="2" | Initialises the I2C Transaction mode with the 7-bit device address | | colspan="2" | Initialises the I2C Transaction mode with the 7-bit device address | ||
| Line 751: | Line 751: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''I2CTransReceive''' | ||
|- | |- | ||
| colspan="2" | Receives an I2C Transaction on the selected I2C channel. Returns the number of bytes received. | | colspan="2" | Receives an I2C Transaction on the selected I2C channel. Returns the number of bytes received. | ||
| Line 780: | Line 780: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''I2CTransSend''' | ||
|- | |- | ||
| colspan="2" | Sends an I2C Transaction on the selected I2C channel. Returns the number of bytes sent. | | colspan="2" | Sends an I2C Transaction on the selected I2C channel. Returns the number of bytes sent. | ||
| Line 809: | Line 809: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''IOGetInputPin''' | ||
|- | |- | ||
| colspan="2" | Sets the selected digital pin to an input and reads the input state. | | colspan="2" | Sets the selected digital pin to an input and reads the input state. | ||
| Line 828: | Line 828: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''IOSetOutputPin''' | ||
|- | |- | ||
| colspan="2" | Sets the selected digital pin to an output and assigns the output state. | | colspan="2" | Sets the selected digital pin to an output and assigns the output state. | ||
| Line 852: | Line 852: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Initialise''' | ||
|- | |- | ||
| colspan="2" | Initialise the comms to the Arduino board ready for commands to be sent. | | colspan="2" | Initialise the comms to the Arduino board ready for commands to be sent. | ||
| Line 866: | Line 866: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''PWMDisable''' | ||
|- | |- | ||
| colspan="2" | Disable a PWM output | | colspan="2" | Disable a PWM output | ||
| Line 885: | Line 885: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''PWMEnable''' | ||
|- | |- | ||
| colspan="2" | Enable a PWM output | | colspan="2" | Enable a PWM output | ||
| Line 904: | Line 904: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''PWMSetDuty''' | ||
|- | |- | ||
| colspan="2" | Sets the duty for the PWM output | | colspan="2" | Sets the duty for the PWM output | ||
| Line 928: | Line 928: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''PWMSetPrescaler''' | ||
|- | |- | ||
| colspan="2" | Sets the prescaler for the PWM output | | colspan="2" | Sets the prescaler for the PWM output | ||
| Line 957: | Line 957: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RegisterRead''' | ||
|- | |- | ||
| colspan="2" | Read one of the registers on-board the device | | colspan="2" | Read one of the registers on-board the device | ||
| Line 976: | Line 976: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''RegisterWrite''' | ||
|- | |- | ||
| colspan="2" | Writes to one of the registers on-board the device | | colspan="2" | Writes to one of the registers on-board the device | ||
| Line 1,000: | Line 1,000: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SPIInitialise''' | ||
|- | |- | ||
| colspan="2" | Initialsie the SPI module ready for communications | | colspan="2" | Initialsie the SPI module ready for communications | ||
| Line 1,019: | Line 1,019: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SPIPrescaler''' | ||
|- | |- | ||
| colspan="2" | Modify the speed of the SPI bus | | colspan="2" | Modify the speed of the SPI bus | ||
| Line 1,043: | Line 1,043: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SPITransfer''' | ||
|- | |- | ||
| colspan="2" | Transfer a byte using the SPI bus | | colspan="2" | Transfer a byte using the SPI bus | ||
| Line 1,067: | Line 1,067: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''SPITransferTrans''' | ||
|- | |- | ||
| colspan="2" | Transfer an array of bytes using the SPI bus | | colspan="2" | Transfer an array of bytes using the SPI bus | ||
| Line 1,101: | Line 1,101: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''UARTBaud''' | ||
|- | |- | ||
| colspan="2" | Control the communications rate of the UART module | | colspan="2" | Control the communications rate of the UART module | ||
| Line 1,125: | Line 1,125: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''UARTCheckRX''' | ||
|- | |- | ||
| colspan="2" | Check to see if the UART module has received any data | | colspan="2" | Check to see if the UART module has received any data | ||
| Line 1,144: | Line 1,144: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''UARTInitialise''' | ||
|- | |- | ||
| colspan="2" | Initialise the UART module ready for communications | | colspan="2" | Initialise the UART module ready for communications | ||
| Line 1,163: | Line 1,163: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''UARTReceive''' | ||
|- | |- | ||
| colspan="2" | Receives a data byte from the UART. Recommend calling the UARTCheckRx function first to ensure data is available. | | colspan="2" | Receives a data byte from the UART. Recommend calling the UARTCheckRx function first to ensure data is available. | ||
| Line 1,182: | Line 1,182: | ||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''UARTSend''' | ||
|- | |- | ||
| colspan="2" | Send a byte via the UART module | | colspan="2" | Send a byte via the UART module | ||
| Line 1,206: | Line 1,206: | ||
{| class="mtx-class-macrotable wikitable" | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Connection | ||
|- | |- | ||
|- | |- | ||
| Line 1,229: | Line 1,229: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | API Peripherals | ||
|- | |- | ||
|- | |- | ||
| Line 1,273: | Line 1,273: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Console | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix TSL |
| Version | 2.1 |
| Category | API Slave Devices |
API (BL0032) component
Connects to an BL0032 dsPIC 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 / UART / PWM See Flowcode Help Wiki for firmware.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_BL0032_API_Comp.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_BL0032_API_Comp.fcfx
Detailed description
The App Developer (BL0032 dsPIC E-Block) component allows an BL0032 dsPIC E-block board to be controlled from within the Flowcode simulation runtime.
To allow Flowcode to communicate and control the Arduino Uno hardware the board must first be pre-programmed with dedicated firmware.
The firmware hex file and Flowcode source project can be downloaded from here.
BL0032 dsPIC App Developer Firmware
More information about the workings of the firmware project can be found on the FiniteStateMachine page.
The USB should be connected to the Target port on the E-block board to allow Flowcode to communicate with the Target microcontroller.
The COM port to the E-block hardware is selected via the SCADA_BL0032 component COM port property.
When building the component into a App Developer project remember to expose the COM port property to allow the end user to select the correct port for the hardware.
The console window can display data in two modes which is set via a component property.
- fixed statistics showing IO / ADC inputs / PWM
- scrolling log showing all commands and returns
Examples
Pin Mapping
Here is a table showing how the slave digital pins are mapped on the device.
| App Developer Slave Digital Pin | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
| Device Port Pin | B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | B9 | B10 | B11 | B12 | B13 | B14 | B15 | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | E0 | E1 | E2 | E3 | E4 | E5 | E6 | E7 | F0 | F1 | F3 | F4 | F5 | C13 | C14 | D8 | D9 | D10 | D11 | G6 | G7 | G8 | G9 |
Here is a table showing how the slave analogue pins are mapped on the device.
| App Developer Slave Analogue Pin | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| Device Port Pin | B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | B9 | B10 | B11 | B12 | B13 | B14 | B15 | E0 | E1 | E2 | E3 | E4 | E5 | E6 | E7 |
Here is a table showing how the slave peripheral pins are mapped on the device.
| App Developer Slave Peripheral Pin | I2C 0 SDA | I2C 0 SCL | I2C 1 SDA | I2C 1 SCL | SPI 0 MOSI | SPI 0 MISO | SPI 0 SCK | SPI 1 MOSI | SPI 1 MISO | SPI 1 SCK | SPI 2 MOSI | SPI 2 MISO | SPI 2 SCK | SPI 3 MOSI | SPI 3 MISO | SPI 3 SCK | UART 0 RX | UART 0 TX | UART 1 RX | UART 1 TX | UART 2 RX | UART 2 TX | UART 3 RX | UART 3 TX |
| Device Port Pin | D9 | D10 | F4 | F5 | D3 | D4 | D5 | G8 | G7 | G6 | E0 | E1 | E2 | F3 | F4 | F5 | F0 | F1 | D0 | D1 | G9 | G8 | G7 | G6 |
| App Developer Slave Peripheral Pin | PWM 0 | PWM 1 | PWM 2 | PWM 3 | PWM 4 | PWM 5 | PWM 6 | PWM 7 | PWM 8 | PWM 9 | PWM 10 | PWM 11 | PWM 12 | PWM 13 | PWM 14 | PWM 15 |
| Device Port Pin | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | F0 | F1 | F3 | F4 | F5 | E0 | E2 | E4 |
Macro reference
ADCSample12
| ADCSample12 | |
| Reads the voltage present on an Analog pin as an 12-bit value range 0-4095 | |
| ADCChannel | |
| Range: 0-31 ... Channels 16-23 unimplemented | |
| Return | |
ADCSample8
| ADCSample8 | |
| Reads the voltage present on an Analog pin as an 8-bit value range 0-255 | |
| ADCChannel | |
| Range: 0-31 ... Channels 16-23 unimplemented | |
| Return | |
ADCSampleArray10
ADCSampleArray8
ADCSampleAverage10
ADCSampleAverage8
ADCSetPrechargeTime
ADCSetReferenceVoltage
| ADCSetReferenceVoltage | |
| Specified the reference setting for ADC reads. | |
| RefType | |
| 0=AREF, 1=VCC, 3=Internal 1.1V | |
| 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-47 ... Pin 34 unimplemented | |
| Return | |
IOSetOutputPin
| IOSetOutputPin | |
| Sets the selected digital pin to an output and assigns the output state. | |
| Pin | |
| Range: 0-47 ... Pin 34 unimplemented | |
| 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-15 | |
| Return | |
PWMEnable
| PWMEnable | |
| Enable a PWM output | |
| Channel | |
| Range: 0-15 | |
| Return | |
PWMSetDuty
| PWMSetDuty | |
| Sets the duty for the PWM output | |
| Channel | |
| Range: 0-15 | |
| Duty | |
| Return | |
PWMSetPrescaler
| PWMSetPrescaler | |
| Sets the prescaler for the PWM output | |
| Channel | |
| Range: 0-15 | |
| Prescaler | |
| Period | |
| Default 255 | |
| Return | |
RegisterRead
| RegisterRead | |
| Read one of the registers on-board the device | |
| RegisterAddress | |
| The address of the register | |
| Return | |
RegisterWrite
| RegisterWrite | |
| Writes to one of the registers on-board the device | |
| RegisterAddress | |
| The address of the register | |
| Data | |
| The data value to assign to the register | |
| 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
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 | |