Jump to content

Component: Digital Potentiometer (MCP44XX) (Analog Output): Difference between revisions

From Flowcode Help
XML import
 
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{| style="width:50%"
 
{| width="50%"
|-
|-
| width="20%" style="color: gray;" | Author
| width="20%" style="color:gray;" | Author
| Matrix TSL
| Matrix TSL
|-
|-
| width="20%" style="color: gray;" | Version
| width="20%" style="color:gray;" | Version
| 1.0 (Release)
| 1.0
|-
|-
| width="20%" style="color: gray;" | Category
| width="20%" style="color:gray;" | Category
| Analog Output
| Analog Output
|}
|}




==Digital Potentiometer (MCP44XX) component==
The MCP44XX device range supports 4 digital potentiometers or rheostat outputs. 129 or 257 possible output resistance values for each channel.


==[[File:Component Icon 3a3a0802_42b6_4c31_8983_4d043b70b443.png|Image]] Digital Potentiometer (MCP44XX) component==
==Component Source Code==
The MCP44XX device range supports 4 digital potentiometers or rheostat outputs.
129 or 257 possible output resistance values for each channel.


==Examples==
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_MCP44xx_Digital_Pot.fcfx FC_Comp_Source_MCP44xx_Digital_Pot.fcfx]
''<span style="color:red;">No additional examples</span>''


Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_MCP44xx_Digital_Pot.fcfx FC_Comp_Source_MCP44xx_Digital_Pot.fcfx]


==Downloadable macro reference==
==Detailed description==


===<span style="font-weight: normal;"><u><tt>IncrementWiper</tt></u></span>===
Increments a single volatile wiper value


'''Parameters'''


:[[Variable Types|BYTE]] ''Index''
::Range: 0-3




'''Return value'''


:''This call does not return a value''




===<span style="font-weight: normal;"><u><tt>DecrementWiper</tt></u></span>===
Decrements a single volatile wiper value


'''Parameters'''


:[[Variable Types|BYTE]] ''Index''
::Range: 0-3




'''Return value'''


:''This call does not return a value''




===<span style="font-weight: normal;"><u><tt>SetWiper</tt></u></span>===
Sets the value of a single wiper


'''Parameters'''


:[[Variable Types|BYTE]] ''Index''
::Range: 0-3


:[[Variable Types|UINT]] ''Value''
::129 Taps Range: 0-128 / 257 Taps Range: 0-256


:[[Variable Types|BOOL]] ''MemoryType''
::0=Volatile, 1=Nonvolatile




'''Return value'''


:''This call does not return a value''




===<span style="font-weight: normal;"><u><tt>ReadAddress</tt></u></span>===
Reads a value from one of the registers on the device


'''Parameters'''
''No detailed description exists yet for this component''


:[[Variable Types|BYTE]] ''Address''
==Examples==
::Range: 0-15




'''Return value'''


:[[Variable Types|UINT]]




===<span style="font-weight: normal;"><u><tt>WriteAddress</tt></u></span>===
Writes a value to one of the registers on the device


'''Parameters'''


:[[Variable Types|BYTE]] ''Address''
::Range: 0-15


:[[Variable Types|UINT]] ''Value''
::Range: 0-256




'''Return value'''


:''This call does not return a value''






==Simulation macro reference==


''This component does not contain any simulation macros''




==Property reference==
<span style="font-weight: normal;"><u>Channel</u></span>


This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_i2c1::CHANNEL''.


Channel selection


<span style="font-weight: normal;"><u>SDA</u></span>


This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_i2c1::SDA''.


Pin used for SDA (data signal)


<span style="font-weight: normal;"><u>SCL</u></span>


This property is of type ''Single digital pin'' and can be referenced with the variable name ''cal_i2c1::SCL''.


Pin used for SCL (clock signal)


<span style="font-weight: normal;"><u>Baud Select</u></span>
''<span style="color:red;">No additional examples</span>''


This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_i2c1::BAUD_LIST''.


Baud rate option selector


<span style="font-weight: normal;"><u>Baud Rate</u></span>


This property is of type ''Signed integer'' and can be referenced with the variable name ''cal_i2c1::BAUD''.


Baud rate to be used


<span style="font-weight: normal;"><u>Stop Delay</u></span>


This property is of type ''True or false'' and can be referenced with the variable name ''cal_i2c1::StopDel''.


On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not


a 10ms delay between an I2C stop event and the next I2C start event.






Most modern microcontrollers will not have a problem so this property can be disabled to speed up the
==Macro reference==


I2C communications.
===DecrementWiper===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''DecrementWiper'''
|-
| colspan="2" | Decrements a single volatile wiper value&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Index
|-
| colspan="2" | Range: 0-3&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


<span style="font-weight: normal;"><u>Number of Taps</u></span>


This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''NumTaps''.
===IncrementWiper===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''IncrementWiper'''
|-
| colspan="2" | Increments a single volatile wiper value&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Index
|-
| colspan="2" | Range: 0-3&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


''<span style="color:red;">No additional information</span>''


===Initialise===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''Initialise'''
|-
| colspan="2" | Startup the I2C peripheral ready for communications.&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




<span style="font-weight: normal;"><u>Address Bits</u></span>
===ReadAddress===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''ReadAddress'''
|-
| colspan="2" | Reads a value from one of the registers on the device&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Address
|-
| colspan="2" | Range: 0-15&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''AddressBits''.


''<span style="color:red;">No additional information</span>''
===SetWiper===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''SetWiper'''
|-
| colspan="2" | Sets the value of a single wiper&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Index
|-
| colspan="2" | Range: 0-3&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Value
|-
| colspan="2" | 129 Taps Range: 0-128 / 257 Taps Range: 0-256&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" | MemoryType
|-
| colspan="2" | 0=Volatile, 1=Nonvolatile&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}




===WriteAddress===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''WriteAddress'''
|-
| colspan="2" | Writes a value to one of the registers on the device&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Address
|-
| colspan="2" | Range: 0-15&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Value
|-
| colspan="2" | Range: 0-256&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}


<span style="font-weight: normal;"><u>Simulate Comms</u></span>


This property is of type ''True or false'' and can be referenced with the variable name ''SimulateComms''.
==Property reference==


''<span style="color:red;">No additional information</span>''
{| class="mtx-class-macrotable wikitable"
 
|-
 
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
 
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
<span style="font-weight: normal;"><u>Scope Traces</u></span>
|-
 
|-
This property is of type ''True or false'' and can be referenced with the variable name ''cal_i2c1::ScopeTraces''.
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
 
| width="90%" class="mtx-class-propfolder" | I2C Properties
Selects if the component pin connections are automatically generated on the data recorder window or not.
|-
 
|-
Yes: Automatically add the component pins to a group on the data recorder which will reflect the sim data during simultion.
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Channel
No: Do not show the pin signals on the data recorder window.
|-
 
| colspan="2" | Channel selection&nbsp;
<span style="font-weight: normal;"><u>Console Data</u></span>
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
This property is of type ''True or false'' and can be referenced with the variable name ''cal_i2c1::ConsoleData''.
| width="90%" | SDA
 
|-
Selects if the console data is automatically generated or not
| colspan="2" | Pin used for SDA (data signal)&nbsp;
 
|-
<span style="font-weight: normal;"><u>Injector</u></span>
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | SCL
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_i2c1::Injector''.
|-
 
| colspan="2" | Pin used for SCL (clock signal)&nbsp;
Specifies the injector component on the panel to interact with to provide comms simulation.
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Baud Select
|-
| colspan="2" | Baud rate option selector&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
| width="90%" | Baud Rate
|-
| colspan="2" | Baud rate to be used&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Stop Delay
|-
| colspan="2" | On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not  a 10ms delay between an I2C stop event and the next I2C start event.  Most modern microcontrollers will not have a problem so this property can be disabled to speed up the  I2C communications. &nbsp;
|-
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" class="mtx-class-propfolder" | Device Properties
|-
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Number of Taps
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Address Bits
|-
| colspan="2" | &nbsp;
|-
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" class="mtx-class-propfolder" | Simulation
|-
|-
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
| width="90%" | Simulate Comms
|-
| colspan="2" | &nbsp;
|}

Latest revision as of 14:36, 13 July 2026

Author Matrix TSL
Version 1.0
Category Analog Output


Digital Potentiometer (MCP44XX) component

The MCP44XX device range supports 4 digital potentiometers or rheostat outputs. 129 or 257 possible output resistance values for each channel.

Component Source Code

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

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

Detailed description

No detailed description exists yet for this component

Examples

No additional examples







Macro reference

DecrementWiper

DecrementWiper
Decrements a single volatile wiper value 
- BYTE Index
Range: 0-3 
- VOID Return


IncrementWiper

IncrementWiper
Increments a single volatile wiper value 
- BYTE Index
Range: 0-3 
- VOID Return


Initialise

Initialise
Startup the I2C peripheral ready for communications. 
- VOID Return


ReadAddress

ReadAddress
Reads a value from one of the registers on the device 
- BYTE Address
Range: 0-15 
- UINT Return


SetWiper

SetWiper
Sets the value of a single wiper 
- BYTE Index
Range: 0-3 
- UINT Value
129 Taps Range: 0-128 / 257 Taps Range: 0-256 
- BOOL MemoryType
0=Volatile, 1=Nonvolatile 
- VOID Return


WriteAddress

WriteAddress
Writes a value to one of the registers on the device 
- BYTE Address
Range: 0-15 
- UINT Value
Range: 0-256 
- VOID Return


Property reference

Properties
I2C Properties
Channel
Channel selection 
SDA
Pin used for SDA (data signal) 
SCL
Pin used for SCL (clock signal) 
Baud Select
Baud rate option selector 
Baud Rate
Baud rate to be used 
Stop Delay
On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not a 10ms delay between an I2C stop event and the next I2C start event. Most modern microcontrollers will not have a problem so this property can be disabled to speed up the I2C communications.  
Device Properties
Number of Taps
 
Address Bits
 
Simulation
Simulate Comms