IanalogFilter() applies a moving average to the supplied value.
int32_t IanalogFilter(uint8_t id, int32_t raw_value, uint8_t samples)
| Command | Arguments | Return Value | Operation |
|---|---|---|---|
IanalogFilter(id, raw_value, samples) | uint8_t id — Filter IDint32_t raw_value — New input valueuint8_t samples — Number of averaging samples | int32_t | Applies a moving average to the supplied value. |
void setup() { Serial.begin(115200); analogReadInit(IANALOG_SPS_128); // Set the analog input module's sampling rate. } void loop() { const int32_t raw = analogRead(A0); // Read the raw analog value of the specified channel. const int32_t filtered = IanalogFilter(0, raw, 10); // Process the supplied value using a moving average. static int32_t previous = 0; if (abs(filtered - previous) >= 5) { previous = filtered; Serial.println(filtered); } }
A0 and MPAINO 0 do not identify the same physical input. Recheck arguments when changing product families.