Component: I2C (CAL) (Misc): Difference between revisions
No edit summary |
m Text replacement - "class="wikitable" style="width:60%; background-color:#FFFFFF;"" to "class="mtx-class-macrotable wikitable"" |
||
| Line 80: | Line 80: | ||
===GetConsoleHandle=== | ===GetConsoleHandle=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 94: | Line 94: | ||
===GetList=== | ===GetList=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 113: | Line 113: | ||
===GetValue=== | ===GetValue=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 132: | Line 132: | ||
===Master_Init=== | ===Master_Init=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 146: | Line 146: | ||
===Master_Restart=== | ===Master_Restart=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 160: | Line 160: | ||
===Master_RxByte=== | ===Master_RxByte=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 179: | Line 179: | ||
===Master_Start=== | ===Master_Start=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 193: | Line 193: | ||
===Master_Stop=== | ===Master_Stop=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 207: | Line 207: | ||
===Master_TxByte=== | ===Master_TxByte=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 226: | Line 226: | ||
===Master_Uninit=== | ===Master_Uninit=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 240: | Line 240: | ||
===SetValue=== | ===SetValue=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 264: | Line 264: | ||
===Slave_Init=== | ===Slave_Init=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 288: | Line 288: | ||
===Slave_RxByte=== | ===Slave_RxByte=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 307: | Line 307: | ||
===Slave_Status=== | ===Slave_Status=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 321: | Line 321: | ||
===Slave_TxByte=== | ===Slave_TxByte=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 340: | Line 340: | ||
===Slave_Uninit=== | ===Slave_Uninit=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 354: | Line 354: | ||
===Transaction_Initialise=== | ===Transaction_Initialise=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 373: | Line 373: | ||
===Transaction_Read=== | ===Transaction_Read=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 397: | Line 397: | ||
===Transaction_Uninit=== | ===Transaction_Uninit=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 411: | Line 411: | ||
===Transaction_Write=== | ===Transaction_Write=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | ||
| Line 436: | Line 436: | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] | ||
Revision as of 14:15, 13 July 2026
| Author | Matrix TSL |
| Version | 2.0 |
| Category | Misc |
I2C component
CAL = Code Abstraction Layer - Allows one code base to run on a wide range of chips. A low level implementation giving direct access to the Two Wire I²C peripheral.
Detailed description
No detailed description exists yet for this component
Examples
PIC16F1937 Examples
The slave device is connected to a bank of switches, the master device to a bank of LEDs. The value of the switches is passed to the master LEDs.
Master Read Example
Slave Switches Example
The slave device is connected to a bank of LEDs, the master device to a bank of switches. The value of the switches is passed to the slave LEDs.
Master Send Example
Arduino Uno Examples
Example program showing how to use the I2C Slave on an AVR Arduino device.
I2C Slave Arduino Uno Example
ECIO40P Examples
Example program showing how to use the I2C Slave on an ECIO40P device.
Master Example
Macro reference
GetConsoleHandle
| GetConsoleHandle | |
| Obtains the CAL console handle | |
| Return | |
GetList
| GetList | |
| returns Named property List as filter string | |
| Name | |
| Return | |
GetValue
| GetValue | |
| Get the Named property value. | |
| Name | |
| Return | |
Master_Init
| Master_Init | |
| Initialise the Master | |
| Return | |
Master_Restart
| Master_Restart | |
| Output a Master Restart sequence | |
| Return | |
Master_RxByte
Master_Start
| Master_Start | |
| Output a Master Start sequence | |
| Return | |
Master_Stop
| Master_Stop | |
| Output a Master Stop | |
| Return | |
Master_TxByte
Master_Uninit
| Master_Uninit | |
| Uninitialise the Master | |
| Return | |
SetValue
| SetValue | |
| Change Named property to new Value. If "CHANNEL" the ports will be also updated from the fcd | |
| Name | |
| Value | |
| port value as string | |
| Return | |
Slave_Init
Slave_RxByte
| Slave_RxByte | |
| Returns the data received, and sends either Ack or Nak Set parameter Last as: 1=Last=Nak, 0=Ack=More | |
| Last | |
| Sends Ack if 0, else Nak | |
| Return | |
Slave_Status
Slave_TxByte
| Slave_TxByte | |
| Send a data byte, returns Ack/Nak from Master 0=Ack=More, 1=Nak=Last | |
| Data | |
| Return | |
Slave_Uninit
| Slave_Uninit | |
| Uninitialise the Slave | |
| Return | |
Transaction_Initialise
Transaction_Read
Transaction_Uninit
| Transaction_Uninit | |
| Uninitialise the I2C interface | |
| Return | |
Transaction_Write
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_I2C.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_I2C.fcfx