This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

PPI Example contradictory statements

I am reading the PPI Example at the Infocenter as shown by the link below: -

https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v11.0.0%2Fppi_example.html

The text in the example: -

Timer 1 generates events every even second, thus at 2, 4, 6, 8, ... seconds. These events trigger a stop task for timer 0. Timer 2 generates events every odd second, thus at 1, 3, 5, 7, ... seconds. These events trigger a start task for timer 0, which is running in counter mode. The start and stop tasks are triggered using PPI.

The timer 1 events generate stop task for timer 0 while timer 2 events generate start task for timer 0.

The next paragraph contradicts this.

When the application starts, the counter value of timer 0 increases every 100 milliseconds for the first second. Then, timer 2 creates an event that is passed through PPI, generating a stop task for timer 0. Therefore, timer 0 stops. Even though the main program loop triggers timer 0 to increment, its value does not change because the counter is stopped. After one second, timer 1 creates an event that is passed through PPI, generating a start task for timer 0. Timer 0 starts again, and the counter value increases again every 100 milliseconds until it is stopped again by timer 2 after one second.

In this paragraph timer 2 events generate a stop task for timer 0 while timer 1 events generate start task for time 0. I find the write ups contradictory.

Parents
  • Hi,

    Thank you for reporting this issue. It is highly appreciated!

    You are correct that the description in the documentation for the PPI example in nRF5 SDK v11.0.0 is not internally consistent. The description of what tasks are triggered on what seconds from Timer1 and Timer2 are correct.

    The description of what happens during the first second, second second, etc., is off by one. The described behavior starts after one second. It does not start immediately when the application starts.

    This has been corrected in the documentation for a later SDK release. For instance for the current version of the documentation, for nRF5 SDK v17.0.2, it is correct: PPI Example.

    I found another difference in the documentation: In newer documentation HW flow control is reported as "None" while in SDK 11 HW flow control is reported as "RTS/CTS". Apart from that I would expect the documentation for the PPI example in SDK 17 to be valid for the PPI example in SDK 11.

    Regards,
    Terje

Reply
  • Hi,

    Thank you for reporting this issue. It is highly appreciated!

    You are correct that the description in the documentation for the PPI example in nRF5 SDK v11.0.0 is not internally consistent. The description of what tasks are triggered on what seconds from Timer1 and Timer2 are correct.

    The description of what happens during the first second, second second, etc., is off by one. The described behavior starts after one second. It does not start immediately when the application starts.

    This has been corrected in the documentation for a later SDK release. For instance for the current version of the documentation, for nRF5 SDK v17.0.2, it is correct: PPI Example.

    I found another difference in the documentation: In newer documentation HW flow control is reported as "None" while in SDK 11 HW flow control is reported as "RTS/CTS". Apart from that I would expect the documentation for the PPI example in SDK 17 to be valid for the PPI example in SDK 11.

    Regards,
    Terje

Children
Related