|
HERMES Modem
Hermes ARQ/Broadcast modem
|
#include "arq_timing.h"#include <string.h>#include "../common/hermes_log.h"#include "arq_protocol.h"
Macros | |
| #define | LOG_COMP "arq-timing" |
Functions | |
| static const char * | mode_name (int mode) |
| void | arq_timing_init (arq_timing_ctx_t *ctx) |
| Zero-initialise a timing context at session start. | |
| void | arq_timing_record_tx_queue (arq_timing_ctx_t *ctx, int seq, int mode, int backlog_bytes, int payload_bytes) |
| Record frame queued for TX; logs [TMG] tx_queue. | |
| void | arq_timing_record_tx_start (arq_timing_ctx_t *ctx, int seq, int mode, int backlog_bytes) |
| Record PTT ON; logs [TMG] tx_start. | |
| void | arq_timing_record_tx_end (arq_timing_ctx_t *ctx, int seq) |
| Record PTT OFF; logs [TMG] tx_end with duration. | |
| void | arq_timing_record_ack_rx (arq_timing_ctx_t *ctx, int seq, uint8_t ack_delay_raw, int peer_snr_x10) |
| Record ACK received; computes and logs OTA RTT. | |
| void | arq_timing_record_data_rx (arq_timing_ctx_t *ctx, int seq, int bytes, int snr_x10) |
| Record data frame decoded (IRS side); logs [TMG] data_rx. | |
| void | arq_timing_record_ack_tx (arq_timing_ctx_t *ctx, int seq) |
| Record ACK TX started (IRS side); logs [TMG] ack_tx. | |
| void | arq_timing_record_retry (arq_timing_ctx_t *ctx, int seq, int attempt, const char *reason) |
| Record a retry event; logs [TMG] retry. | |
| void | arq_timing_record_turn (arq_timing_ctx_t *ctx, bool to_iss, const char *reason) |
| Record turn direction change; logs [TMG] turn. | |
| void | arq_timing_record_connect (arq_timing_ctx_t *ctx, int mode) |
| Record session connected; logs [TMG] connect. | |
| void | arq_timing_record_disconnect (arq_timing_ctx_t *ctx, const char *reason) |
| Record session disconnected; logs [TMG] disconnect and session totals. | |
| #define LOG_COMP "arq-timing" |
| void arq_timing_init | ( | arq_timing_ctx_t * | ctx | ) |
Zero-initialise a timing context at session start.
| void arq_timing_record_ack_rx | ( | arq_timing_ctx_t * | ctx, |
| int | seq, | ||
| uint8_t | ack_delay_raw, | ||
| int | peer_snr_x10 | ||
| ) |
Record ACK received; computes and logs OTA RTT.
| ctx | Timing context. |
| seq | TX sequence number being ACKed. |
| ack_delay_raw | Wire-encoded ack_delay (10ms units, 0=unknown). |
| peer_snr_x10 | Peer-reported SNR * 10. |
| void arq_timing_record_ack_tx | ( | arq_timing_ctx_t * | ctx, |
| int | seq | ||
| ) |
Record ACK TX started (IRS side); logs [TMG] ack_tx.
| void arq_timing_record_connect | ( | arq_timing_ctx_t * | ctx, |
| int | mode | ||
| ) |
Record session connected; logs [TMG] connect.
| void arq_timing_record_data_rx | ( | arq_timing_ctx_t * | ctx, |
| int | seq, | ||
| int | bytes, | ||
| int | snr_x10 | ||
| ) |
Record data frame decoded (IRS side); logs [TMG] data_rx.
| void arq_timing_record_disconnect | ( | arq_timing_ctx_t * | ctx, |
| const char * | reason | ||
| ) |
Record session disconnected; logs [TMG] disconnect and session totals.
| void arq_timing_record_retry | ( | arq_timing_ctx_t * | ctx, |
| int | seq, | ||
| int | attempt, | ||
| const char * | reason | ||
| ) |
Record a retry event; logs [TMG] retry.
| ctx | Timing context. |
| seq | TX sequence number. |
| attempt | 1-based retry number. |
| reason | Short reason string (e.g. "timeout", "nack"). |
| void arq_timing_record_turn | ( | arq_timing_ctx_t * | ctx, |
| bool | to_iss, | ||
| const char * | reason | ||
| ) |
Record turn direction change; logs [TMG] turn.
| ctx | Timing context. |
| to_iss | true = becoming ISS, false = becoming IRS. |
| reason | "piggyback", "turn_req", "startup" etc. |
| void arq_timing_record_tx_end | ( | arq_timing_ctx_t * | ctx, |
| int | seq | ||
| ) |
Record PTT OFF; logs [TMG] tx_end with duration.
| void arq_timing_record_tx_queue | ( | arq_timing_ctx_t * | ctx, |
| int | seq, | ||
| int | mode, | ||
| int | backlog_bytes, | ||
| int | payload_bytes | ||
| ) |
Record frame queued for TX; logs [TMG] tx_queue.
| ctx | Timing context. |
| seq | TX sequence number. |
| mode | FreeDV mode used for TX. |
| backlog_bytes | Application bytes remaining in TX queue. |
| payload_bytes | Actual application bytes in this frame (0 for retransmits). |
| void arq_timing_record_tx_start | ( | arq_timing_ctx_t * | ctx, |
| int | seq, | ||
| int | mode, | ||
| int | backlog_bytes | ||
| ) |
Record PTT ON; logs [TMG] tx_start.
|
static |