summaryrefslogtreecommitdiffstats
path: root/src/host/gprsdecode/gprs.h
diff options
context:
space:
mode:
authorLuca Melette <luca@srlabs.de>2018-01-22 17:14:08 +0100
committerVadim Yanitskiy <axilirator@gmail.com>2018-02-06 14:05:17 +0700
commite357646ed708bd5acc56b250d01bd695fff9cd73 (patch)
treee5de1a50a54fff4f97428b3d5473f35c11350309 /src/host/gprsdecode/gprs.h
parent9fa291dd2ba880be0a07c0c3fff1ce537bbee4d1 (diff)
Import gprsdecode utility from SRLabs
This change introduces a modified version of gprsdecode utility, which is intended to decode the GPRS burst captures and forward decoded packets to the GSMTAP sink. The following modifications were made: - use shared libosmocoding library for GSM 05.03 coding; - use optget for command line options parsing; - use a single application select loop; - use GNU automake as the build system; - add regression tests (GNU autotest); - clean up and comment the code; - add license headers; The code is based on work of SRLabs: https://srlabs.de/ git://git.srlabs.de/gprsdecode.git Related: OS#1672 Change-Id: I12234d37c66b83b8abd60f7511fa1d7837db1856
Diffstat (limited to 'src/host/gprsdecode/gprs.h')
-rw-r--r--src/host/gprsdecode/gprs.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/host/gprsdecode/gprs.h b/src/host/gprsdecode/gprs.h
new file mode 100644
index 00000000..1147d543
--- /dev/null
+++ b/src/host/gprsdecode/gprs.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+
+#define GSM_BURST_PL_LEN 116
+#define GPRS_BURST_PL_LEN GSM_BURST_PL_LEN
+
+#define MEAS_AVG(meas) \
+ ((meas[0] + meas[1] + meas[2] + meas[3]) / 4)
+
+/* Burst decoder state */
+struct burst_buf {
+ unsigned snr[4];
+ unsigned rxl[4];
+ unsigned errors;
+ unsigned count;
+
+ sbit_t bursts[GSM_BURST_PL_LEN * 4];
+ uint32_t fn_first;
+};
+
+int process_pdch(struct l1ctl_burst_ind *bi, bool verbose);