ble_mesh: Fix OP_TIME_SET and OP_TIME_STATUS

When a user app is handling these messages, the tai_utc_delta and time_zone_offset fields are not correctly populated.  Resolve by properly setting the fields.
pull/13135/head
Pat Erley 2024-02-07 15:40:02 -08:00 zatwierdzone przez GitHub
rodzic 5454d37d49
commit 3df692c4a7
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
1 zmienionych plików z 4 dodań i 2 usunięć

Wyświetl plik

@ -244,7 +244,8 @@ static void time_get(struct bt_mesh_model *model,
change.time_status.subsecond = srv->state->time.subsecond;
change.time_status.uncertainty = srv->state->time.uncertainty;
change.time_status.time_authority = srv->state->time.time_authority;
change.time_status.tai_utc_delta_curr = srv->state->time.subsecond;
change.time_status.tai_utc_delta_curr = srv->state->time.tai_utc_delta_curr;
change.time_status.time_zone_offset_curr = srv->state->time.time_zone_offset_curr;
bt_mesh_time_scene_server_cb_evt_to_btc(BTC_BLE_MESH_EVT_TIME_SCENE_SERVER_STATE_CHANGE,
model, ctx, (const uint8_t *)&change, sizeof(change));
@ -386,7 +387,8 @@ static void time_set(struct bt_mesh_model *model,
change.time_set.subsecond = srv->state->time.subsecond;
change.time_set.uncertainty = srv->state->time.uncertainty;
change.time_set.time_authority = srv->state->time.time_authority;
change.time_set.tai_utc_delta_curr = srv->state->time.subsecond;
change.time_set.tai_utc_delta_curr = srv->state->time.tai_utc_delta_curr;
change.time_set.time_zone_offset_curr = srv->state->time.time_zone_offset_curr
break;
case BLE_MESH_MODEL_OP_TIME_ZONE_SET:
change.time_zone_set.time_zone_offset_new = srv->state->time.time_zone_offset_new;