Hi,
I'm using the light_switch example to implement mesh. How do I display the RSSI value of server on rtt viewer when the client receives the server status?
Regards,
Sunil
Hi,
I'm using the light_switch example to implement mesh. How do I display the RSSI value of server on rtt viewer when the client receives the server status?
Regards,
Sunil
In light switch client example, that struct comes with access_message_rx_t in f.ex handle_status_cb() as p_message contains the RSSI. Printig it can be done the following way:
simple_on_off_client.c static void handle_status_cb(access_model_handle_t handle, const access_message_rx_t * p_message, void * p_args) { simple_on_off_client_t * p_client = p_args; NRF_MESH_ASSERT(p_client->status_cb != NULL); if (!is_valid_source(p_client, p_message)) { return; } // Print RSSI of server __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, "RSSI: %d\n", ((p_message->meta_data.p_core_metadata->source == NRF_MESH_RX_SOURCE_SCANNER) ?p_message->meta_data.p_core_metadata->params.scanner.rssi : 0)); simple_on_off_msg_status_t * p_status = (simple_on_off_msg_status_t *) p_message->p_data; simple_on_off_status_t on_off_status = (p_status->present_on_off ? SIMPLE_ON_OFF_STATUS_ON : SIMPLE_ON_OFF_STATUS_OFF); p_client->status_cb(p_client, on_off_status, p_message->meta_data.src.value); }
The provisioner light switch example prints the RSSI in app_health_event_cb().
It worked. Thanks for the solution.
It worked. Thanks for the solution.