set-gain

wayland/ads1115/set-gain

Set gain of the ADC.
set-gain
@/set-gain
Set gain of the ADC.
DEV@/ads1115-device
An ADS1115 device.
Gainnumber
Gain. Options: 0.67 (default), 1, 2, 4, 8 and 16.
UPDpulse
Update.
set-gain
DEV
Gain
UPD
Done
Donepulse
Pulse when gain set.
To use the node in your project you should have the wayland/ads1115 library installed. Use the “File → Add Library” menu item in XOD IDE if you don’t have it yet. See Using libraries for more info.

C++ implementation

node {
    void evaluate(Context ctx) {
        // The node responds only if there is an input pulse
        if (!isInputDirty<input_UPD>(ctx))
            return;

        // Get a pointer to the `Adafruit_ADS1115` class instance
        auto sensor = getValue<input_DEV>(ctx);
        auto gain = getValue<input_Gain>(ctx);

        if (gain<1) {
            sensor->setGain(GAIN_TWOTHIRDS);
            emitValue<output_Done>(ctx, 1);
        }
        else if (gain==1) {
            sensor->setGain(GAIN_ONE);
            emitValue<output_Done>(ctx, 1);
        }
        else if (gain==2) {
            sensor->setGain(GAIN_TWO);
            emitValue<output_Done>(ctx, 1);
        }
        else if (gain==4) {
            sensor->setGain(GAIN_FOUR);
            emitValue<output_Done>(ctx, 1);
        }
        else if (gain==8) {
            sensor->setGain(GAIN_EIGHT);
            emitValue<output_Done>(ctx, 1);
        }
        else if (gain==16) {
            sensor->setGain(GAIN_SIXTEEN);
            emitValue<output_Done>(ctx, 1);
        }
        
    }
}