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

Changes required to infrastructure file ble_glc.c attached

The issue is that I fixed some of your bugs in the attached file, as follows:

 

  1. Changed to handle larger number of records greater than 256 records, we need 500 records capability, was 8-bit record counter, now is 16 bit records counter.
  2. Fixed an endless loop issue in RACP code. The “first/last” RACP sending logic had an endless loop.
  3. Changed m_next_seq_num to global variable to be global to access from other parts of the codebase. This is the record sequence number.
  4. fix logic in glucose_meas_send call that never completes sending char notification, see lines 716-721
Parents
  • There is still an issue when TX error requires a resend, the last fix revealed this.

    I have another fix where a simple 20ms nrf_delay sleep is all that is required, which prevents the issue to begin with, negating the need to increment the counter when error TX bffer.

    Perhaps Nordic can fix this the correct way, else on request I can inform where to put this fix to replace the latest fix:

                    nrf_delay_ms(20); //pause to avoid tx buffer wait for TX complete, which causes issues, since good sends are called errors, causing resends

Reply
  • There is still an issue when TX error requires a resend, the last fix revealed this.

    I have another fix where a simple 20ms nrf_delay sleep is all that is required, which prevents the issue to begin with, negating the need to increment the counter when error TX bffer.

    Perhaps Nordic can fix this the correct way, else on request I can inform where to put this fix to replace the latest fix:

                    nrf_delay_ms(20); //pause to avoid tx buffer wait for TX complete, which causes issues, since good sends are called errors, causing resends

Children
No Data
Related