Setting QDEC sampleper value via driver API.

Hi!
I am struggling with figuring out how to properly set the sampling frequency for the qdec device. I noticed that making changes directly to the members of config struct of zephyr/drivers/sensor/qdec_nrfx/qdec_nrfx.c seems to do the trick, but I would rather do the changes via device API. 
I noticed that the nrfx_qdec.c driver seem to use necessary API functions declared in nrf_qdec.h. However the function parameters in nrf_qdec_sampleper_set(). Have wrong types compared with nrfx driver. Is there a standardized way of changing the sampling frequency of the qdec device?

Thanks in advance.

Parents
  • Hello all, I am not sure if this question is relevant here...

    I am a novice in embedded development and I am trying to get a mechanical rotary encoder working with the nrf52840dk_nrf52840 board. The code snippets below gave me sufficient hints to get something working, based on the zephyr basic button sample.

    But now I am  struggling to get the example to work properly: i.e. I do get non-zero values from the acc and accdbl registers, if and only if the printk("Enetered qdec_nrfx_event_handler \n"); statement at line 3 of the the qdec_nrfx_event_handler is present.

    As soon as I comment this line out, the acc and accdbl values will always be zero. Changing the sampleper and reportper values doesn't help to resolve this.

    I have no clue, what is causing this. What am I missing? Any hints suggestions are welcome...

  • @someMake, if you don't mind posting your code, I'd appreciate it. The transition from SDK to Zephyr has been a little hard to wrap my head around.

Reply Children
No Data
Related