Analog In#
Introduction#
The analog_in class is used to read analog input signals from devices connected to a VEX EXP 3-Wire port. It provides access to the current analog value and allows callback functions to be registered for value changes.
Class Constructors#
analog_in(
triport::port &port );
Class Destructor#
Destroys the analog_in object and releases associated resources.
~analog_in();
Parameters#
Parameter |
Type |
Description |
|---|---|---|
|
|
The 3-Wire Port that the Analog Input is connected to, written as |
Example#
// Create the analog_in instance on 3-Wire Port A
analog_in AnalogInA = analog_in(Brain.ThreeWirePort.A);
Member Functions#
The analog_in class includes the following member functions:
value— Returns the value of the Analog Input device.changed— Registers a callback function for when the analog input value changes.
Before calling any analog_in member functions, an analog_in instance must be created, as shown below:
/* This constructor is required to use an
Analog Input device. Replace the values
as needed. */
// Create the analog_in instance on 3-Wire Port A
analog_in AnalogInA = analog_in(Brain.ThreeWirePort.A);
value#
Returns the current value of the analog input.
Available Functionsint32_t value(
analogUnits units );
Parameter |
Type |
Description |
|---|---|---|
|
|
The unit to represent the value:
|
This function returns the current value of the analog input.
Examples// Get the current value of the Analog Input
int32_t value = AnalogInA.value();
changed#
Registers a callback function to be called when the value of the analog input changes.
Available Functionsvoid changed( void (* callback)(void) );
Parameter |
Type |
Description |
|---|---|---|
|
|
A function that will be called when the value of the analog input changes. |
This function does not return a value.
ExamplesDefine the callback function (outside of
int main())// Display a message when the input changes void AnalogInputChanged() { Brain.Screen.print("analog input changed"); }Register the callback inside
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Run AnalogInputChanged when the value of the // Analog Input changes AnalogInA.changed(AnalogInputChanged); }