NRF52805 ADC BLE APP UART

Hello, I'm working currently on an nrf52805 module and I'm creating a board with it, for now, I managed to do the ble app uart for this module and improve to code a little bit.

My goal, for now, is to create an ADC measurement of voltage, and I'm struggling with this. If someone could help me with this that would be great to give a code that would be good with it or an idea (i'm kinda new with BLE)

So I tried to use the example:    github.com/.../ble_app_uart__saadc_timer_driven__scan_mode

I'm trying to readapt the example to my board and thanks to the datasheet i saw that The nRF52805 only has 10 PPI channels (0-9) and The nRF52805 also only has 3 timers (TIMER0-TIMER2) but when I'm trying to taking off this in the code i get this error after : 

Thank you to everybody for their help. 

Parents
  • Thank you for providing the file.

    Please change to using the nrfx_timer driver directly.
    You will only need to replace the function calls with the same ones in the nrfx driver - if you look at the definitions of the legacy nrf_drv_timer_* calls you will see that they are macro forwarded to the nrfx implementation behind the scenes anyways. You should therefore use these calls directly instead.
    Then, when you are using the nrfx_timer driver you should remove the following legacy definitions entirely from your sdk_config.h file:

    // <e> TIMER_ENABLED - nrf_drv_timer - TIMER periperal driver - legacy layer
    //==========================================================
    #ifndef TIMER_ENABLED
    #define TIMER_ENABLED 1
    #endif
    // <o> TIMER_DEFAULT_CONFIG_FREQUENCY  - Timer frequency if in Timer mode
     
    // <0=> 16 MHz 
    // <1=> 8 MHz 
    // <2=> 4 MHz 
    // <3=> 2 MHz 
    // <4=> 1 MHz 
    // <5=> 500 kHz 
    // <6=> 250 kHz 
    // <7=> 125 kHz 
    // <8=> 62.5 kHz 
    // <9=> 31.25 kHz 
    
    #ifndef TIMER_DEFAULT_CONFIG_FREQUENCY
    #define TIMER_DEFAULT_CONFIG_FREQUENCY 0
    #endif
    
    // <o> TIMER_DEFAULT_CONFIG_MODE  - Timer mode or operation
     
    // <0=> Timer 
    // <1=> Counter 
    
    #ifndef TIMER_DEFAULT_CONFIG_MODE
    #define TIMER_DEFAULT_CONFIG_MODE 0
    #endif
    
    // <o> TIMER_DEFAULT_CONFIG_BIT_WIDTH  - Timer counter bit width
     
    // <0=> 16 bit 
    // <1=> 8 bit 
    // <2=> 24 bit 
    // <3=> 32 bit 
    
    #ifndef TIMER_DEFAULT_CONFIG_BIT_WIDTH
    #define TIMER_DEFAULT_CONFIG_BIT_WIDTH 0
    #endif
    
    // <o> TIMER_DEFAULT_CONFIG_IRQ_PRIORITY  - Interrupt priority
     
    
    // <i> Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice
    // <0=> 0 (highest) 
    // <1=> 1 
    // <2=> 2 
    // <3=> 3 
    // <4=> 4 
    // <5=> 5 
    // <6=> 6 
    // <7=> 7 
    
    #ifndef TIMER_DEFAULT_CONFIG_IRQ_PRIORITY
    #define TIMER_DEFAULT_CONFIG_IRQ_PRIORITY 6
    #endif
    
    // <q> TIMER0_ENABLED  - Enable TIMER0 instance
     
    
    #ifndef TIMER0_ENABLED
    #define TIMER0_ENABLED 0
    #endif
    
    // <q> TIMER1_ENABLED  - Enable TIMER1 instance
     
    
    #ifndef TIMER1_ENABLED
    #define TIMER1_ENABLED 0
    #endif
    
    // <q> TIMER2_ENABLED  - Enable TIMER2 instance
     
    
    #ifndef TIMER2_ENABLED
    #define TIMER2_ENABLED 0
    #endif
    
    // <q> TIMER3_ENABLED  - Enable TIMER3 instance
     
    
    #ifndef TIMER3_ENABLED
    #define TIMER3_ENABLED 1
    #endif
    
    // <q> TIMER4_ENABLED  - Enable TIMER4 instance
     
    
    #ifndef TIMER4_ENABLED
    #define TIMER4_ENABLED 0
    #endif
    
    // </e>


    Instead, you should now use the NRFX_TIMER_* defines to configure your nrfx_timer driver.
    Please make sure to define the NRFX_TIMER_ENABLED to 1, along with the *_ENABLE for the timer instance you will be using.

    Let me know if this resolves your issue! :) 
    Best regards,
    Karl

  • I'm sorry it is hard to understand i'm french... Could you do the work for me? or explain to me easily? thank you so much

  • Karl, I have too many errors now ... I'm following what you are saying and now I have many many problems ble_app_uart__saadc_timer_driven__scan_mode V1.zip

  • If you are just attempting to change the timer instance of the referenced example I would instead start from the unmodified example again, and change the sdk_config.h and timer instance like we have spoken about.
    This will be easier than to trace and backtrack all the changes you have mentioned thus far (like changes to the apply_old_config and possibly other SDK files).
    Could this be an option instead?

    Best regards,
    Karl

  • Yes I just took a new example on the new folder and i don't have an error with my DK 52832 now i have to modify the timers and SDK to the 52805 module compatibility

    Thank you

  • Okay I did my best (changed the options, taking off the timers, modified the sdk etc) I'm going to give you my code my code is in examples/ble_peripheral/ble_app_uart__saadc_timer_driven__scan_mode thank you 5658.nRF5_SDK_17.1.0_ddde560.zip

Reply Children
No Data
Related