Difference between revisions of "Component: ADC Template 2D (Analog Input)"

From Flowcode Help
Jump to navigationJump to search
(Created page with "{| style="width:50%" |- | width="20%" style="color:gray;" | Author | Matrix Ltd |- | width="20%" style="color:gray;" | Version | 1.3 |- | width="20%" style="color:gray...")
 
 
(11 intermediate revisions by 2 users not shown)
Line 14: Line 14:
 
==ADC Template 2D component==
 
==ADC Template 2D component==
 
Base ADC component with no graphical interface. Contains all of the embedded side component calls to provide an ADC interface suitable for  wrapping with a new ADC style component.   
 
Base ADC component with no graphical interface. Contains all of the embedded side component calls to provide an ADC interface suitable for  wrapping with a new ADC style component.   
 
==Component Source Code==
 
 
Please click here for the component source code: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_adc_Base_2dgdi.fcfx FC_Comp_Source_adc_Base_2dgdi.fcfx]
 
  
 
==Detailed description==
 
==Detailed description==
Line 33: Line 29:
  
  
''No detailed description exists yet for this component''
 
  
==Examples==
 
  
  
Line 47: Line 41:
  
  
 +
''No detailed description exists yet for this component''
  
 +
==Examples==
  
  
===Read a 8-bit Byte===
 
  
Simple ADC example allowing analogue values to be read on ADC inputs AN0 and AN1 as a byte, these are then displayed on the LCD connected to PortB as a number ranging from 0-255 representing 0V to VCC.
 
  
{{Fcfile|ADCByte.fcfx|ADCByte}}
 
  
[[File:ADCPanel.jpg]]
 
  
  
===Read a 10-bit or 12-bit sample===
 
  
Simple ADC example allowing analogue values to be read on ADC inputs AN0 and AN1 as a 10 or 12-bit value depending on the target microcontroller, these are then displayed on the LCD connected to PortB as a number ranging from 0-1023 or 0-4095 representing 0V to VCC.
 
  
{{Fcfile|ADCInt.fcfx|ADCInt}}
 
  
  
===Reading a sample as a Voltage===
 
  
Simple ADC example allowing analogue Voltages to be read on ADC inputs AN0 and AN1, these are then displayed on the LCD connected to PortB in Volts from 0.0V-VCC. The VRef Voltage property needs to be correct for the Voltage to be calculated correctly.
 
  
{{Fcfile|ADCVoltage.fcfx|ADCVoltage}}
 
  
  
===Filtering ADC Inputs===
 
  
Simple example which uses a filtering technique to provide a digital low pass filter on the ADC readings. The output of the filter is 50% the ADC reading and 50% the previous reading.
 
  
{{Fcfile|LPFilter.fcfx|LPFilter}}
 
  
In this example the output of the filter is 25% the ADC reading and 75% the previous reading.
 
  
{{Fcfile|LPFilter2.fcfx|LPFilter2}}
 
  
  
===Analogue Inputs Window===
+
==Macro reference==
 
 
The Analogue inputs window available from the View menu allows you to see the values for all of the analogue inputs which are active in your program. They can also be manually altered by dragging the mouse along one of the sliders.
 
 
 
[[File:AnalogueInputs.jpg]]
 
 
 
 
 
===Chip Diagram===
 
 
 
Active analogue inputs are highlighted in yellow on the chip diagram.
 
 
 
[[File:AnalogueChip.jpg]]
 
 
 
 
 
===Scope Window===
 
 
 
An ADC based component will automatically add a trace to the data recorder window allowing you to get a view of the analogue data over time during simulation.
 
 
 
[[File:ADCScope.jpg]]
 
 
 
Based on the Scope Traces component property.
 
 
 
==Downloadable macro reference==
 
  
 +
===GetAverageByte===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| 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]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RawSampleInt'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetAverageByte'''
 +
|-
 +
| colspan="2" | Function call to read the ADC as a byte average sample over time  
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | NumSamples
 +
|-
 +
| colspan="2" |  
 
|-
 
|-
| colspan="2" | Background call to read the ADC at full bit depth Call Enable() first 
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 +
| width="90%" | DelayUs
 
|-
 
|-
 +
| colspan="2" | Number of micro seconds in between taking each sample 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===GetAverageInt===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| 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]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RawAverageByte'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetAverageInt'''
 
|-
 
|-
| colspan="2" | Background call to read the ADC as a byte average sample over time Call Enable() before this 
+
| colspan="2" | Function call to read the ADC as a full width average sample over time  
 
|-
 
|-
 
|-
 
|-
Line 139: Line 110:
 
| colspan="2" | Number of micro seconds in between taking each sample 
 
| colspan="2" | Number of micro seconds in between taking each sample 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
+
| 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''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===GetByte===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| 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]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetSampleBits'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetByte'''
 
|-
 
|-
| colspan="2" | Gets the number of bits per sample 
+
| colspan="2" | Blocking call to read the ADC as a byte  
 
|-
 
|-
 
|-
 
|-
Line 157: Line 129:
  
  
 +
===GetInt===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| 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]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetString'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetInt'''
 
|-
 
|-
| colspan="2" | Reads the ADC as a direct voltage and returns as a string 
+
| colspan="2" | Blocking call to read the ADC at full bit depth  
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
+
| 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''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===GetSampleBits===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| 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]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetAverageByte'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetSampleBits'''
 
|-
 
|-
| colspan="2" | Function call to read the ADC as a byte average sample over time  
+
| colspan="2" | Gets the number of bits per sample 
 
|-
 
|-
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | NumSamples
 
|-
 
| colspan="2" |  
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | DelayUs
 
|-
 
| colspan="2" | Number of micro seconds in between taking each sample 
 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
Line 193: Line 157:
  
  
 +
===GetSpeedFilter===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| 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]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RawAverageInt'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetSpeedFilter'''
 
|-
 
|-
| colspan="2" | Background call to read the ADC as a full width average sample over time Call Enable() before this 
+
| colspan="2" | Gets the Conversion speed filter string Use in Component.Property.SetFilter() 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | NumSamples
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===GetString===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" |  
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetString'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| colspan="2" | Reads the ADC as a direct voltage and returns as a string 
| width="90%" | DelayUs
 
 
|-
 
|-
| colspan="2" |  
 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===GetVoltage===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| 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]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetSpeedFilter'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetVoltage'''
 
|-
 
|-
| colspan="2" | Gets the Conversion speed filter string Use in Component.Property.SetFilter() 
+
| colspan="2" | Reads the ADC as a direct voltage 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===RawAverageByte===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| 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]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetAverageInt'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RawAverageByte'''
 
|-
 
|-
| colspan="2" | Function call to read the ADC as a full width average sample over time  
+
| colspan="2" | Background call to read the ADC as a byte average sample over time Call Enable() before this 
 
|-
 
|-
 
|-
 
|-
Line 247: Line 218:
 
| colspan="2" | Number of micro seconds in between taking each sample 
 
| colspan="2" | Number of micro seconds in between taking each sample 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===RawAverageInt===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| 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]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetProperties'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RawAverageInt'''
 
|-
 
|-
| colspan="2" | Set the VRef options and voltage, ConvSpeed and AcqTime for the ADC component. 
+
| colspan="2" | Background call to read the ADC as a full width average sample over time Call Enable() before this 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | VRef10Ms
+
| width="90%" | NumSamples
 
|-
 
|-
| colspan="2" | Voltage Reference x10 mV - Default 500 = 5V 
+
| colspan="2" |  
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
+
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | VRefOpt
+
| width="90%" | DelayUs
 
|-
 
|-
| colspan="2" | External VRef 0=Disabled, 1=Enabled 
+
| colspan="2" |  
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | ConvSpdOpt
 
|-
 
| colspan="2" | Conversion Speed Setting - Refer to numbered list 
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" | Aquisitions
 
|-
 
| colspan="2" | Aquisition time in micro seconds to precharge before sampling 
 
|-
 
| 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''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===RawDisable===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| 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]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetVoltage'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RawDisable'''
 
|-
 
|-
| colspan="2" | Reads the ADC as a direct voltage 
+
| colspan="2" | Disables the previously enabled ADC channel and converts back to digital mode. 
 
|-
 
|-
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-f32-icon.png]] - FLOAT
+
| 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''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===RawEnable===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 311: Line 275:
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
===RawSampleByte===
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetChannel'''
 
|-
 
| colspan="2" | Sets the channel ID for the component 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" | ChannelId
 
|-
 
| colspan="2" | Chaannel starting at 0, -1 is unconnected 
 
|-
 
| 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''
 
|}
 
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 342: Line 289:
  
  
 +
===RawSampleInt===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| 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]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetInt'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RawSampleInt'''
 
|-
 
|-
| colspan="2" | Blocking call to read the ADC at full bit depth  
+
| colspan="2" | Background call to read the ADC at full bit depth Call Enable() first 
 
|-
 
|-
 
|-
 
|-
Line 355: Line 303:
  
  
 +
===SetChannel===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| 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]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''RawDisable'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetChannel'''
 +
|-
 +
| colspan="2" | Sets the channel ID for the component 
 +
|-
 
|-
 
|-
| colspan="2" | Disables the previously enabled ADC channel and converts back to digital mode. 
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | ChannelId
 
|-
 
|-
 +
| colspan="2" | Chaannel starting at 0, -1 is unconnected 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
Line 368: Line 322:
  
  
 +
===SetProperties===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| 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]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetByte'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetProperties'''
 +
|-
 +
| colspan="2" | Set the VRef options and voltage, ConvSpeed and AcqTime for the ADC component. 
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | VRef10Ms
 +
|-
 +
| colspan="2" | Voltage Reference x10 mV - Default 500 = 5V 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 +
| width="90%" | VRefOpt
 +
|-
 +
| colspan="2" | External VRef 0=Disabled, 1=Enabled 
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | ConvSpdOpt
 +
|-
 +
| colspan="2" | Conversion Speed Setting - Refer to numbered list 
 
|-
 
|-
| colspan="2" | Blocking call to read the ADC as a byte  
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | Aquisitions
 
|-
 
|-
 +
| colspan="2" | Aquisition time in micro seconds to precharge before sampling 
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
+
| 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''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
 
 
  
  
Line 438: Line 411:
 
| colspan="2" | Selects if the scope traces are automatically generated or not 
 
| colspan="2" | Selects if the scope traces are automatically generated or not 
 
|}
 
|}
 +
 +
==Component Source Code==
 +
 +
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_adc_Base_2dgdi.fcfx FC_Comp_Source_adc_Base_2dgdi.fcfx]
 +
 +
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_adc_Base_2dgdi.fcfx FC_Comp_Source_adc_Base_2dgdi.fcfx]

Latest revision as of 08:59, 9 June 2025

Author Matrix Ltd
Version 1.3
Category Analog Input


ADC Template 2D component

Base ADC component with no graphical interface. Contains all of the embedded side component calls to provide an ADC interface suitable for wrapping with a new ADC style component.

Detailed description

No detailed description exists yet for this component

Examples

Macro reference

GetAverageByte

Fc9-comp-macro.png GetAverageByte
Function call to read the ADC as a byte average sample over time  
Fc9-u8-icon.png - BYTE NumSamples
 
Fc9-u8-icon.png - BYTE DelayUs
Number of micro seconds in between taking each sample 
Fc9-u8-icon.png - BYTE Return


GetAverageInt

Fc9-comp-macro.png GetAverageInt
Function call to read the ADC as a full width average sample over time  
Fc9-u8-icon.png - BYTE NumSamples
 
Fc9-u8-icon.png - BYTE DelayUs
Number of micro seconds in between taking each sample 
Fc9-u16-icon.png - UINT Return


GetByte

Fc9-comp-macro.png GetByte
Blocking call to read the ADC as a byte  
Fc9-u8-icon.png - BYTE Return


GetInt

Fc9-comp-macro.png GetInt
Blocking call to read the ADC at full bit depth  
Fc9-u16-icon.png - UINT Return


GetSampleBits

Fc9-comp-macro.png GetSampleBits
Gets the number of bits per sample 
Fc9-u8-icon.png - BYTE Return


GetSpeedFilter

Fc9-comp-macro.png GetSpeedFilter
Gets the Conversion speed filter string Use in Component.Property.SetFilter() 
Fc9-string-icon.png - STRING Return


GetString

Fc9-comp-macro.png GetString
Reads the ADC as a direct voltage and returns as a string 
Fc9-string-icon.png - STRING Return


GetVoltage

Fc9-comp-macro.png GetVoltage
Reads the ADC as a direct voltage 
Fc9-f32-icon.png - FLOAT Return


RawAverageByte

Fc9-comp-macro.png RawAverageByte
Background call to read the ADC as a byte average sample over time Call Enable() before this 
Fc9-u8-icon.png - BYTE NumSamples
 
Fc9-u8-icon.png - BYTE DelayUs
Number of micro seconds in between taking each sample 
Fc9-u8-icon.png - BYTE Return


RawAverageInt

Fc9-comp-macro.png RawAverageInt
Background call to read the ADC as a full width average sample over time Call Enable() before this 
Fc9-u8-icon.png - BYTE NumSamples
 
Fc9-u8-icon.png - BYTE DelayUs
 
Fc9-s16-icon.png - INT Return


RawDisable

Fc9-comp-macro.png RawDisable
Disables the previously enabled ADC channel and converts back to digital mode. 
Fc9-void-icon.png - VOID Return


RawEnable

Fc9-comp-macro.png RawEnable
Enables and configures the ADC channel to be an analogue input. Only one ADC channel can be enabled at a time. Any RAW functions will reference the last enabled channel only. 
Fc9-void-icon.png - VOID Return


RawSampleByte

Fc9-comp-macro.png RawSampleByte
Background call to read the ADC as a byte Call Enable() before this 
Fc9-u8-icon.png - BYTE Return


RawSampleInt

Fc9-comp-macro.png RawSampleInt
Background call to read the ADC at full bit depth Call Enable() first 
Fc9-u16-icon.png - UINT Return


SetChannel

Fc9-comp-macro.png SetChannel
Sets the channel ID for the component 
Fc9-s16-icon.png - INT ChannelId
Chaannel starting at 0, -1 is unconnected 
Fc9-void-icon.png - VOID Return


SetProperties

Fc9-comp-macro.png SetProperties
Set the VRef options and voltage, ConvSpeed and AcqTime for the ADC component. 
Fc9-s16-icon.png - INT VRef10Ms
Voltage Reference x10 mV - Default 500 = 5V 
Fc9-bool-icon.png - BOOL VRefOpt
External VRef 0=Disabled, 1=Enabled 
Fc9-s16-icon.png - INT ConvSpdOpt
Conversion Speed Setting - Refer to numbered list 
Fc9-s16-icon.png - INT Aquisitions
Aquisition time in micro seconds to precharge before sampling 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png Connections
Fc9-type-6-icon.png Channel
Analogue Input Channel - Which pin is the analogue input connected to? 
Fc9-conn-icon.png Settings
Fc9-type-14-icon.png VRef voltage
Used by the GetVoltage or GetString component macros to take an ADC reading and convert it into a Voltage. +VRef voltage x 10mV Default 500 = 5.0V  
Fc9-type-16-icon.png VRef option
Defines what is used as the ADC maximum reference. ADC Range = GND to VRef Voltage VDD - Defines the microcontrollers power supply pin as the max reference, VREF+ Pin - Dedicated pin on the microcontroller to allow for a variable reference voltage. 
Fc9-type-16-icon.png Conversion speed
Clock setting to select how fast the ADC peripheral will perform an ADC conversion. The FRC setting is based on a RC time base and so will vary with temperature and pressure. Other settings are generally based on divisions of the master clock. 
Fc9-type-14-icon.png Acquisition cycles
Number of micro seconds to wait for the ADC input to charge before starting the analogue sample. 
Fc9-type-14-icon.png Bit Depth
Maximum number of digital bits the ADC can sample. 8 bit = ADC range 0 - 255 10 bit = ADC range 0 - 1023 12 bit = ADC range 0 - 4095 
Fc9-conn-icon.png Simulation
Fc9-type-7-icon.png Scope Traces
Selects if the scope traces are automatically generated or not 

Component Source Code

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

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