HI,
We are developing a 2d -3d mouse with nRF5_SDK_14.2.0_17b948a "ble_app_hids_mouse" application.
- For knowing the battery discharge rate of our product we are trying to implement adc into our code "modified ble_app_hids_mouse ".
- We are using p0.02(AIN0) for measuring the battery status.
- Actually our requirement is ,we want to check battery level(i.e adc value) at regular interval of time (may be 1m) and if the battery level is less than 20% we will turn on yellow led and if the battery level is less than 5% the red led will turn on.
For configuring the ADC , I look yours saadc code but i have some doubt in your code .
- I think in your saadc code they configured ADC ,TIMER AND PPI.
I will explain the flow of code execution what i understood from your saadc below if there is any mistake please correct me
- TIMER will generate an event every 400ms .
- By the help of PPI a task was occurring in SAADC peripheral due to TIMER event . and its repeating at regular intervals (400 ms)
- "saadc_callback" function will execute when there is a TIMER event occur , is it right?
- During the initialization part(saadc_init) "nrf_drv_saadc_buffer_convert" function is calling and also inside the "saadc_callback" function is "nrf_drv_saadc_buffer_convert" function is calling . I known these function is for issuing conversion of data to buffer. Then why its calling on both "saadc_init" and "saadc_callback" function.
- From which buffer we can read the converted analog to digital data ?
please answer to my 1,2 and 3
if you need any clarification in my question please ask me .