Bluetooth: Mesh: Fix qualification test MESH/SR/HM/CFS/BV-02-C
The commit8d0ef1eb85
attempted to fix test case MESH/SR/HM/CFS/BV-02-C, however inadvertently ended up introducing a hidden bug. This bug was unearthed thanks to commit686f5c79cf
. We have to keep always track of the FastPeriodDivisor state whether we're using it (faults > 0) or not (faults == 0). Introduce a boolean field to the model publication that's used to indicate whether the FastPeriodDivisor should be applied or not, instead of zeroing the divisor when there are no faults (this would cause wrong behavior when faults appear again). Additionally, the PTS seems to require that we wait until the end of the existing period before sending the next Health Current Status, rather than sending it immediately when the fault count changes. Fixes #15365 Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
parent
2895da02a4
commit
42d330406e
3 changed files with 17 additions and 3 deletions
|
@ -280,6 +280,7 @@ struct bt_mesh_model_pub {
|
|||
u8_t period; /**< Publish Period. */
|
||||
u8_t period_div:4, /**< Divisor for the Period. */
|
||||
cred:1, /**< Friendship Credentials Flag. */
|
||||
fast_period:1,/**< Use FastPeriodDivisor */
|
||||
count:3; /**< Retransmissions left. */
|
||||
|
||||
u32_t period_start; /**< Start of the current period. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue