Difference between revisions of "Component: ADC Template (Analog Input)"
Line 103: | Line 103: | ||
Based on the Scope Traces component property. | Based on the Scope Traces component property. | ||
+ | |||
+ | |||
Line 108: | Line 110: | ||
==Macro reference== | ==Macro reference== | ||
+ | ===RawSampleInt=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 121: | Line 124: | ||
+ | ===RawAverageByte=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 144: | Line 148: | ||
+ | ===GetSampleBits=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 157: | Line 162: | ||
+ | ===GetString=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 170: | Line 176: | ||
+ | ===GetAverageByte=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 193: | Line 200: | ||
+ | ===RawAverageInt=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 216: | Line 224: | ||
+ | ===GetSpeedFilter=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 229: | Line 238: | ||
+ | ===GetAverageInt=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 252: | Line 262: | ||
+ | ===SetProperties=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 285: | Line 296: | ||
+ | ===GetVoltage=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 298: | Line 310: | ||
+ | ===RawEnable=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 311: | Line 324: | ||
+ | ===SetChannel=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 329: | Line 343: | ||
+ | ===RawSampleByte=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 342: | Line 357: | ||
+ | ===GetInt=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 355: | Line 371: | ||
+ | ===RawDisable=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 368: | Line 385: | ||
+ | ===GetByte=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- |
Revision as of 11:53, 3 February 2023
Author | Matrix Ltd |
Version | 1.3 |
Category | Analog Input |
Contents
ADC Template 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 to download the component source project: FC_Comp_Source_adc_Base.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_adc_Base.fcfx
Detailed description
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.
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.
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.
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.
In this example the output of the filter is 25% the ADC reading and 75% the previous reading.
Analogue Inputs Window
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.
Chip Diagram
Active analogue inputs are highlighted in yellow on the chip diagram.
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.
Based on the Scope Traces component property.
Macro reference
RawSampleInt
![]() |
RawSampleInt |
Background call to read the ADC at full bit depth Call Enable() first | |
![]() |
Return |
RawAverageByte
GetSampleBits
![]() |
GetSampleBits |
Gets the number of bits per sample | |
![]() |
Return |
GetString
![]() |
GetString |
Reads the ADC as a direct voltage and returns as a string | |
![]() |
Return |
GetAverageByte
![]() |
GetAverageByte |
Function call to read the ADC as a byte average sample over time | |
![]() |
NumSamples |
![]() |
DelayUs |
Number of micro seconds in between taking each sample | |
![]() |
Return |
RawAverageInt
![]() |
RawAverageInt |
Background call to read the ADC as a full width average sample over time Call Enable() before this | |
![]() |
NumSamples |
![]() |
DelayUs |
![]() |
Return |
GetSpeedFilter
![]() |
GetSpeedFilter |
Gets the Conversion speed filter string Use in Component.Property.SetFilter() | |
![]() |
Return |
GetAverageInt
![]() |
GetAverageInt |
Function call to read the ADC as a full width average sample over time | |
![]() |
NumSamples |
![]() |
DelayUs |
Number of micro seconds in between taking each sample | |
![]() |
Return |
SetProperties
GetVoltage
![]() |
GetVoltage |
Reads the ADC as a direct voltage | |
![]() |
Return |
RawEnable
![]() |
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. | |
![]() |
Return |
SetChannel
![]() |
SetChannel |
Sets the channel ID for the component | |
![]() |
ChannelId |
Chaannel starting at 0, -1 is unconnected | |
![]() |
Return |
RawSampleByte
![]() |
RawSampleByte |
Background call to read the ADC as a byte Call Enable() before this | |
![]() |
Return |
GetInt
![]() |
GetInt |
Blocking call to read the ADC at full bit depth | |
![]() |
Return |
RawDisable
![]() |
RawDisable |
Disables the previously enabled ADC channel and converts back to digital mode. | |
![]() |
Return |
GetByte
![]() |
GetByte |
Blocking call to read the ADC as a byte | |
![]() |
Return |