LSM6DSV16X MLC — tag 0x1B (IIR filter) never reaches FIFO despite MLC_FILTER_FEATURE_FIFO_EN=1
I am using LSM6DSV16X with MLC configured in MEMS Studio v2.3.1.
The MLC has an IIR2 high-pass filter on accelerometer XYZ with "store in FIFO" enabled. The UCF was generated by the MLC Tool (internal version 2.4.4 as reported in the output JSON).
Expected: IIR filter output values appear in FIFO as tag 0x1B frames, as declared in the mlc_identifiers section of the generated JSON.
Observed: Tag 0x1B frames never appear in the FIFO. Firmware drains the FIFO after each 60-sample window and observes exactly 3 MLC words per window — 2x tag 0x1C (features) and 1x tag 0x1A (result). No tag 0x1B words arrive.
Verified:
- EMB_FUNC_FIFO_EN_B (0x45) = 0x02, MLC_FILTER_FEATURE_FIFO_EN bit is set (confirmed against DS13510 Section 13.18)
- mlc.json correctly lists fifo_tag 0x1B identifiers (FILTER_HP_ACC_X/Y/Z) in the metadata
- mlc_settings.json has "input": "Acc_XYZ + store in FIFO" for the filter
- Firmware FIFO drain handles tag 0x1B explicitly — not dropped in software
- No unknown FIFO tag warnings in serial log
Question: Is tag 0x1B FIFO output for IIR filter data functional for LSM6DSV16X in the current MLC Tool? If so, what additional configuration or register setting is required beyond MLC_FILTER_FEATURE_FIFO_EN=1 to make the compiled MLC binary emit filter values to the FIFO?
