Mercury Modem
Mercury ARQ/Broadcast modem
Loading...
Searching...
No Matches
arq_events.h
Go to the documentation of this file.
1/* Mercury Modem — ARQ event and command definitions
2 *
3 * Copyright (C) 2025-2026 Rhizomatica
4 * Author: Rafael Diniz <rafael@riseup.net>
5 *
6 * SPDX-License-Identifier: GPL-3.0-or-later
7 */
8
9#ifndef ARQ_EVENTS_H_
10#define ARQ_EVENTS_H_
11
12#include <stdbool.h>
13#include <stddef.h>
14#include <stdint.h>
15
16#include "defines_modem.h"
17
18#define ARQ_EVENT_TEXT_MAX 16
19
39
50
62
63typedef struct
64{
68 int32_t value;
69 bool flag;
71
72typedef struct
73{
74 size_t len;
75 uint8_t data[INT_BUFFER_SIZE];
77
78typedef struct
79{
80 size_t frame_size;
81 uint8_t frame[INT_BUFFER_SIZE];
86
87typedef struct
88{
89 int mode;
90 size_t frame_size;
91 uint8_t frame[INT_BUFFER_SIZE];
93
94typedef struct
95{
96 int sync;
97 float snr;
101
102typedef struct
103{
105 uint32_t value_u32;
106 uint32_t aux_u32;
110
124
125#endif /* ARQ_EVENTS_H_ */
arq_cmd_type_t
Definition arq_events.h:21
@ ARQ_CMD_SET_BANDWIDTH
Definition arq_events.h:29
@ ARQ_CMD_SET_CALLSIGN
Definition arq_events.h:27
@ ARQ_CMD_DISCONNECT
Definition arq_events.h:31
@ ARQ_CMD_SEND_CQ
Definition arq_events.h:33
@ ARQ_CMD_SET_PUBLIC
Definition arq_events.h:28
@ ARQ_CMD_CLEAR_SECONDARY_CALLSIGNS
Definition arq_events.h:35
@ ARQ_CMD_CLIENT_CONNECT
Definition arq_events.h:23
@ ARQ_CMD_NONE
Definition arq_events.h:22
@ ARQ_CMD_ABORT
Definition arq_events.h:36
@ ARQ_CMD_CLIENT_DISCONNECT
Definition arq_events.h:24
@ ARQ_CMD_ADD_SECONDARY_CALLSIGN
Definition arq_events.h:34
@ ARQ_CMD_SET_CALLINT
Definition arq_events.h:37
@ ARQ_CMD_LISTEN_ON
Definition arq_events.h:25
@ ARQ_CMD_SET_RETRY
Definition arq_events.h:32
@ ARQ_CMD_CONNECT
Definition arq_events.h:30
@ ARQ_CMD_LISTEN_OFF
Definition arq_events.h:26
arq_status_type_t
Definition arq_events.h:41
@ ARQ_STATUS_DISCONNECTED
Definition arq_events.h:44
@ ARQ_STATUS_BUFFER
Definition arq_events.h:45
@ ARQ_STATUS_NONE
Definition arq_events.h:42
@ ARQ_STATUS_BITRATE
Definition arq_events.h:47
@ ARQ_STATUS_SN
Definition arq_events.h:46
@ ARQ_STATUS_CONNECTED
Definition arq_events.h:43
@ ARQ_STATUS_ERROR
Definition arq_events.h:48
arq_bus_msg_type_t
Definition arq_events.h:52
@ ARQ_BUS_MSG_TCP_PAYLOAD
Definition arq_events.h:55
@ ARQ_BUS_MSG_MODEM_METRICS
Definition arq_events.h:57
@ ARQ_BUS_MSG_MODEM_TX
Definition arq_events.h:58
@ ARQ_BUS_MSG_TCP_CMD
Definition arq_events.h:54
@ ARQ_BUS_MSG_MODEM_FRAME
Definition arq_events.h:56
@ ARQ_BUS_MSG_TCP_STATUS
Definition arq_events.h:59
@ ARQ_BUS_MSG_NONE
Definition arq_events.h:53
@ ARQ_BUS_MSG_SHUTDOWN
Definition arq_events.h:60
#define ARQ_EVENT_TEXT_MAX
Definition arq_events.h:18
#define INT_BUFFER_SIZE
Definition arq_fsm.c:28
Definition arq_events.h:112
arq_tx_frame_msg_t tx
Definition arq_events.h:119
arq_frame_msg_t frame
Definition arq_events.h:118
arq_cmd_msg_t cmd
Definition arq_events.h:116
arq_status_msg_t status
Definition arq_events.h:121
arq_modem_metrics_msg_t metrics
Definition arq_events.h:120
arq_bytes_msg_t bytes
Definition arq_events.h:117
arq_bus_msg_type_t type
Definition arq_events.h:113
Definition arq_events.h:73
size_t len
Definition arq_events.h:74
Definition arq_events.h:64
bool flag
Definition arq_events.h:69
arq_cmd_type_t type
Definition arq_events.h:65
int32_t value
Definition arq_events.h:68
Definition arq_events.h:79
bool from_control_decoder
Definition arq_events.h:84
size_t frame_size
Definition arq_events.h:80
int packet_type
Definition arq_events.h:82
int decoder_mode
Definition arq_events.h:83
Definition arq_events.h:95
float snr
Definition arq_events.h:97
bool frame_decoded
Definition arq_events.h:99
int sync
Definition arq_events.h:96
int rx_status
Definition arq_events.h:98
Definition arq_events.h:103
uint32_t aux_u32
Definition arq_events.h:106
uint32_t value_u32
Definition arq_events.h:105
float value_f32
Definition arq_events.h:107
arq_status_type_t type
Definition arq_events.h:104
Definition arq_events.h:88
size_t frame_size
Definition arq_events.h:90
int mode
Definition arq_events.h:89