---
src/host/osmocon/osmocon.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/host/osmocon/osmocon.c b/src/host/osmocon/osmocon.c
index b823b5b..4ad48e2 100644
--- a/src/host/osmocon/osmocon.c
+++ b/src/host/osmocon/osmocon.c
@@ -22,6 +22,7 @@
*
*/
+#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -418,11 +419,16 @@ int read_file(const char *filename)
static void hexdump(const uint8_t *data, unsigned int len)
{
- const uint8_t *bufptr = data;
int n;
- for (n=0; n < len; n++, bufptr++)
- printf("%02x ", *bufptr);
+ for (n=0; n < len; n++)
+ printf("%02x ", data[n]);
+ printf(" ");
+ for (n=0; n < len; n++)
+ if (isprint(data[n]))
+ putchar(data[n]);
+ else
+ putchar('.');
printf("\n");
}
--
1.7.1
Show replies by date
In f7af19661a43457fc6489391ecc70aab238abcb4 we stopped running
the callback, which broke the l1test app. Now it works again.
---
src/target/firmware/include/layer1/sync.h | 1 +
src/target/firmware/layer1/prim_pm.c | 2 ++
src/target/firmware/layer1/sync.c | 6 ++++++
3 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/src/target/firmware/include/layer1/sync.h
b/src/target/firmware/include/layer1/sync.h
index d053c93..c5ff4c1 100644
--- a/src/target/firmware/include/layer1/sync.h
+++ b/src/target/firmware/include/layer1/sync.h
@@ -115,6 +115,7 @@ struct l1_signal {
typedef void (*l1s_cb_t)(struct l1_signal *sig);
void l1s_set_handler(l1s_cb_t handler);
+void l1s_run_handler(struct l1_signal *sig);
int16_t l1s_snr_int(uint16_t snr);
uint16_t l1s_snr_fract(uint16_t snr);
diff --git a/src/target/firmware/layer1/prim_pm.c b/src/target/firmware/layer1/prim_pm.c
index 85fc8d1..4a5c75c 100644
--- a/src/target/firmware/layer1/prim_pm.c
+++ b/src/target/firmware/layer1/prim_pm.c
@@ -96,6 +96,8 @@ static int l1s_pm_resp(__unused uint8_t p1, __unused uint8_t p2,
sig.pm.dbm8[0] = agc_inp_dbm8_by_pm(pm_level[0]);
sig.pm.dbm8[1] = agc_inp_dbm8_by_pm(pm_level[1]);
+ l1s_run_handler(&sig);
+
if (!l1s.pm.msg)
l1s.pm.msg = l1ctl_msgb_alloc(L1CTL_PM_RESP);
diff --git a/src/target/firmware/layer1/sync.c b/src/target/firmware/layer1/sync.c
index f5629cf..a4b3a65 100644
--- a/src/target/firmware/layer1/sync.c
+++ b/src/target/firmware/layer1/sync.c
@@ -65,6 +65,12 @@ void l1s_set_handler(l1s_cb_t cb)
l1s_cb = cb;
}
+void l1s_run_handler(struct l1_signal *sig)
+{
+ if (l1s_cb)
+ l1s_cb(sig);
+}
+
void l1s_time_inc(struct gsm_time *time, uint32_t delta_fn)
{
ADD_MODULO(time->fn, delta_fn, GSM_MAX_FN);
--
1.7.1
thanks, finally I have applied that patch to master.
--
- Harald Welte <laforge(a)gnumonks.org>
http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)