Timing requirements for BT Mesh

Hello Nordic supporters!

We are developing a system using BT Mesh alongside a software DALI protocol driver with certain timing requirements.

Right now we're trying to figure out how strict the timing requirements of BT Mesh are compared to normal BLE, and how they would interact with the DALI requirements. We were thinking there could be a difference since BT Mesh is advertising based and not connection based. We would appreciate some help in finding exact numbers.

For the driver we're considering, these timing requirements are given:

  • One function must be called at least every 5ms by the user application and must not be blocked (e.g. through storage of persistent data).
  • Another function should be called every 10ms to ensure functionality

During these function calls the driver would be doing bit-banging on the gpio, which we would like to not have interrupted by the BT part of the code.

Do you think these requirements could realistically be satisfied while running BT Mesh on an nRF52840?

Thank you in advance,

Einar

Parents
  • Hello,

    einar said:
    the bus is fairly slow btw at 2400 bps

    I assume that at these 5ms intervals, you will sample more than one bit every 5ms? The ADC is not a terrible idea. Alternatively, maybe you can do some tricks to store it in an I2S buffer or something. But if loosing one interrupt every now and then, I believe it is mostly when you are doing flash operations that you risk loosing these events. And that isn't that often, perhaps. Just make sure your interrupt priority is high enough.

    Best regards,

    Edvin

Reply
  • Hello,

    einar said:
    the bus is fairly slow btw at 2400 bps

    I assume that at these 5ms intervals, you will sample more than one bit every 5ms? The ADC is not a terrible idea. Alternatively, maybe you can do some tricks to store it in an I2S buffer or something. But if loosing one interrupt every now and then, I believe it is mostly when you are doing flash operations that you risk loosing these events. And that isn't that often, perhaps. Just make sure your interrupt priority is high enough.

    Best regards,

    Edvin

Children
No Data
Related