mirror of
https://github.com/BotChain-Robots/firmware.git
synced 2026-07-08 09:37:21 +02:00
add logs and decerase rx queue wait timer
This commit is contained in:
@@ -350,6 +350,8 @@ esp_err_t DataLinkManager::receive_rmt(uint8_t channel){
|
|||||||
if (!async_receive_queue->enqueue(std::move(metadata), std::chrono::milliseconds(ASYNC_QUEUE_WAIT_TICKS))){
|
if (!async_receive_queue->enqueue(std::move(metadata), std::chrono::milliseconds(ASYNC_QUEUE_WAIT_TICKS))){
|
||||||
return ESP_ERR_TIMEOUT;
|
return ESP_ERR_TIMEOUT;
|
||||||
}
|
}
|
||||||
|
// ESP_LOGI("TMP", "Control frame LUT cache HIT - hash=0x%08lX", peeked_hash);
|
||||||
|
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
// Cache miss – fall through to full validation below
|
// Cache miss – fall through to full validation below
|
||||||
@@ -420,12 +422,12 @@ esp_err_t DataLinkManager::receive_rmt(uint8_t channel){
|
|||||||
|
|
||||||
//check for a rip frame
|
//check for a rip frame
|
||||||
if (static_cast<FrameType>(GET_TYPE(header.type_flag)) == FrameType::RIP_TABLE_CONTROL){
|
if (static_cast<FrameType>(GET_TYPE(header.type_flag)) == FrameType::RIP_TABLE_CONTROL){
|
||||||
ESP_LOGI(DEBUG_LINK_TAG, "Got a RIP frame");
|
ESP_LOGI(DEBUG_LINK_TAG, "Got a RIP frame from channel %d", channel);
|
||||||
|
|
||||||
for (size_t i = 0; i < message_size-1; i+=2){
|
for (size_t i = 0; i < message_size-1; i+=2){
|
||||||
uint8_t board_id = message->data()[i];
|
uint8_t board_id = message->data()[i];
|
||||||
uint8_t hops = message->data()[i+1];
|
uint8_t hops = message->data()[i+1];
|
||||||
// ESP_LOGI(DEBUG_LINK_TAG, "Received: board_id %d and number of hops %d on channel %d", board_id, hops, channel);
|
ESP_LOGI(DEBUG_LINK_TAG, "Received: board_id %d and number of hops %d on channel %d", board_id, hops, channel);
|
||||||
|
|
||||||
RIPRow* entry = nullptr;
|
RIPRow* entry = nullptr;
|
||||||
|
|
||||||
|
|||||||
@@ -128,6 +128,8 @@ esp_err_t DataLinkManager::scheduler_send(uint8_t channel){
|
|||||||
size_t frame_size = isControlFrame ? sizeof(ControlFrame) : sizeof(GenericFrame);
|
size_t frame_size = isControlFrame ? sizeof(ControlFrame) : sizeof(GenericFrame);
|
||||||
uint8_t send_data[frame_size];
|
uint8_t send_data[frame_size];
|
||||||
|
|
||||||
|
ESP_LOGI(DEBUG_LINK_TAG, "Sending frame on channel %d, type: %s", channel, isControlFrame ? "Control" : "Generic");
|
||||||
|
|
||||||
if (isControlFrame){
|
if (isControlFrame){
|
||||||
//control frame
|
//control frame
|
||||||
|
|
||||||
@@ -289,7 +291,7 @@ esp_err_t DataLinkManager::scheduler_send_rmt(uint8_t channel, SchedulerMetadata
|
|||||||
ESP_LOGE(DEBUG_LINK_TAG, "Failed to find entry for %d", frame.header.receiver_id);
|
ESP_LOGE(DEBUG_LINK_TAG, "Failed to find entry for %d", frame.header.receiver_id);
|
||||||
return ESP_FAIL;
|
return ESP_FAIL;
|
||||||
}
|
}
|
||||||
// ESP_LOGI(DEBUG_LINK_TAG, "Sending frame %d frag_info 0x%X", frame.header.seq_num, frame.header.frag_info);
|
ESP_LOGI(DEBUG_LINK_TAG, "Sending frame %d on channel %d to board %d frag_info 0x%X", frame.header.seq_num, channel, frame.header.receiver_id, frame.header.frag_info);
|
||||||
res = phys_comms->send(send_data, frame_size, &config, channel_to_route);
|
res = phys_comms->send(send_data, frame_size, &config, channel_to_route);
|
||||||
// if (wait_for_tx_done){
|
// if (wait_for_tx_done){
|
||||||
// phys_comms->wait_until_send_complete(channel_to_route);
|
// phys_comms->wait_until_send_complete(channel_to_route);
|
||||||
|
|||||||
@@ -579,7 +579,7 @@ esp_err_t RMTManager::receive(uint8_t* recv_buf, size_t size, size_t* output_siz
|
|||||||
}
|
}
|
||||||
|
|
||||||
rmt_rx_done_event_data_t rx_data;
|
rmt_rx_done_event_data_t rx_data;
|
||||||
if (xQueueReceive(channels[channel_num].rx_queue, &rx_data, pdMS_TO_TICKS(150)) != pdTRUE){ //this will wait until a message has arrived or not
|
if (xQueueReceive(channels[channel_num].rx_queue, &rx_data, pdMS_TO_TICKS(5)) != pdTRUE){ //this will wait until a message has arrived or not
|
||||||
// printf("Timeout occurred while waiting for RX event\n");
|
// printf("Timeout occurred while waiting for RX event\n");
|
||||||
// ESP_LOGE(DEBUG_TAG, "Timeout occurred while waiting for RX event - didn't receive a message in time");
|
// ESP_LOGE(DEBUG_TAG, "Timeout occurred while waiting for RX event - didn't receive a message in time");
|
||||||
return ESP_FAIL;
|
return ESP_FAIL;
|
||||||
|
|||||||
Reference in New Issue
Block a user