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

From Flowcode Help
Jump to navigationJump to search
 
(17 intermediate revisions by 2 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''
 
  
  
===<span style="font-weight: normal;"><u><tt>Initialise</tt></u></span>===
 
Startup the SPI peripheral ready for communications.
 
  
'''Parameters'''
 
  
:''This macro has no parameters''
 
  
  
'''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''.
+
''<span style="color:red;">No additional examples</span>''
  
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>
 
  
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''.
+
==Macro reference==
  
On older microcontroller devices there is a potential for the I2C hardware channel to lock up if there is not
+
===DecrementWiper===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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''
 +
|}
  
a 10ms delay between an I2C stop event and the next I2C start event.
 
  
 +
===IncrementWiper===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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''
 +
|}
  
  
Most modern microcontrollers will not have a problem so this property can be disabled to speed up the  
+
===Initialise===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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''
 +
|}
  
I2C communications.
 
  
<span style="font-weight: normal;"><u>Number of Taps</u></span>
+
===ReadAddress===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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 ''NumTaps''.
 
  
''<span style="color:red;">No additional information</span>''
+
===SetWiper===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''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>Address Bits</u></span>
 
  
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''AddressBits''.
+
==Property reference==
  
''<span style="color:red;">No additional information</span>''
+
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
+
|-
 
+
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
<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''.
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | I2C Properties
''<span style="color:red;">No additional information</span>''
+
|-
 
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
+
| width="90%" | Channel
<span style="font-weight: normal;"><u>Scope Traces</u></span>
+
|-
 
+
| colspan="2" | Channel selection&nbsp;
This property is of type ''True or false'' and can be referenced with the variable name ''cal_i2c1::ScopeTraces''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
Selects if the component pin connections are automatically generated on the data recorder window or not.
+
| width="90%" | SDA
 
+
|-
Yes: Automatically add the component pins to a group on the data recorder which will reflect the sim data during simultion.
+
| colspan="2" | Pin used for SDA (data signal)&nbsp;
 
+
|-
No: Do not show the pin signals on the data recorder window.
+
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
+
| width="90%" | SCL
<span style="font-weight: normal;"><u>Console Data</u></span>
+
|-
 
+
| colspan="2" | Pin used for SCL (clock signal)&nbsp;
This property is of type ''True or false'' and can be referenced with the variable name ''cal_i2c1::ConsoleData''.
+
|-
 
+
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
Selects if the console data is automatically generated or not
+
| width="90%" | Baud Select
 
+
|-
<span style="font-weight: normal;"><u>Injector</u></span>
+
| colspan="2" | Baud rate option selector&nbsp;
 
+
|-
This property is of type ''Fixed list of ints'' and can be referenced with the variable name ''cal_i2c1::Injector''.
+
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
+
| width="90%" | Baud Rate
Specifies the injector component on the panel to interact with to provide comms simulation.
+
|-
 +
| 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" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 +
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | 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" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 +
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 +
| width="90%" | Simulate Comms
 +
|-
 +
| colspan="2" | &nbsp;
 +
|}

Latest revision as of 13:11, 7 February 2023

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

Fc9-comp-macro.png DecrementWiper
Decrements a single volatile wiper value 
Fc9-u8-icon.png - BYTE Index
Range: 0-3 
Fc9-void-icon.png - VOID Return


IncrementWiper

Fc9-comp-macro.png IncrementWiper
Increments a single volatile wiper value 
Fc9-u8-icon.png - BYTE Index
Range: 0-3 
Fc9-void-icon.png - VOID Return


Initialise

Fc9-comp-macro.png Initialise
Startup the I2C peripheral ready for communications. 
Fc9-void-icon.png - VOID Return


ReadAddress

Fc9-comp-macro.png ReadAddress
Reads a value from one of the registers on the device 
Fc9-u8-icon.png - BYTE Address
Range: 0-15 
Fc9-u16-icon.png - UINT Return


SetWiper

Fc9-comp-macro.png SetWiper
Sets the value of a single wiper 
Fc9-u8-icon.png - BYTE Index
Range: 0-3 
Fc9-u16-icon.png - UINT Value
129 Taps Range: 0-128 / 257 Taps Range: 0-256 
Fc9-bool-icon.png - BOOL MemoryType
0=Volatile, 1=Nonvolatile 
Fc9-void-icon.png - VOID Return


WriteAddress

Fc9-comp-macro.png WriteAddress
Writes a value to one of the registers on the device 
Fc9-u8-icon.png - BYTE Address
Range: 0-15 
Fc9-u16-icon.png - UINT Value
Range: 0-256 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png I2C Properties
Fc9-type-16-icon.png Channel
Channel selection 
Fc9-type-5-icon.png SDA
Pin used for SDA (data signal) 
Fc9-type-5-icon.png SCL
Pin used for SCL (clock signal) 
Fc9-type-16-icon.png Baud Select
Baud rate option selector 
Fc9-type-14-icon.png Baud Rate
Baud rate to be used 
Fc9-type-7-icon.png 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.  
Fc9-conn-icon.png Device Properties
Fc9-type-16-icon.png Number of Taps
 
Fc9-type-16-icon.png Address Bits
 
Fc9-conn-icon.png Simulation
Fc9-type-7-icon.png Simulate Comms