read-adc

wayland/lis3dh-accelerometer/read-adc

Read the auxiliary analog-to-digital converter.
read-adc
@/read-adc
Read the auxiliary analog-to-digital converter.
DEV@/lis3dh-device
A lis3dh-device.
UPDpulse
Update. Trigger a reading.
read-adc
ADC1
ADC2
ADC3
DONE
DEV
UPD
DONEpulse
Pulse on read.
ADC3number
Reading from ADC3 (mV).
ADC2number
Reading from ADC2 (mV).
ADC1number
Reading from ADC1 (mV).
To use the node in your project you should have the wayland/lis3dh-accelerometer 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

struct State {
};

{{ GENERATED_CODE }}

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_LIS3DH` class instance
    auto sensor = getValue<input_DEV>(ctx);

    int16_t adc;
    uint16_t volt;

    adc = sensor->readADC(1);
    volt = map(adc, -32512, 32512, 1800, 900);
    emitValue<output_ADC1>(ctx, volt);

    adc = sensor->readADC(2);
    volt = map(adc, -32512, 32512, 1800, 900);
    emitValue<output_ADC2>(ctx, volt);

    adc = sensor->readADC(3);
    volt = map(adc, -32512, 32512, 1800, 900);
    emitValue<output_ADC3>(ctx, volt);

    emitValue<output_DONE>(ctx, 1);
}