diff options
author | Sylvain Munaut <tnt@246tNt.com> | 2010-11-14 16:12:24 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-01-15 21:33:56 +0100 |
commit | 23f990714acea410311bd34e0886f1c98a4cedb9 (patch) | |
tree | 82c71661c7af0575d261a07f7b2708c02c4bd6a8 | |
parent | 6973d5c0109f7a155b69c40efc4965ceda0031b1 (diff) |
l1ctl: Add definition for BURST INDICATION messages
(as a side effect data_ind is no longer the biggest message, so
need to update L3_MSG_SIZE)
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
-rw-r--r-- | include/l1ctl_proto.h | 15 | ||||
-rw-r--r-- | src/target/firmware/layer1/l23_api.c | 3 |
2 files changed, 16 insertions, 2 deletions
diff --git a/include/l1ctl_proto.h b/include/l1ctl_proto.h index 771bf1c3..ab80aa12 100644 --- a/include/l1ctl_proto.h +++ b/include/l1ctl_proto.h @@ -56,6 +56,7 @@ enum { L1CTL_TRAFFIC_REQ, L1CTL_TRAFFIC_CONF, L1CTL_TRAFFIC_IND, + L1CTL_BURST_IND, }; enum ccch_mode { @@ -139,6 +140,20 @@ struct l1ctl_traffic_ind { uint8_t data[TRAFFIC_DATA_LEN]; } __attribute__((packed)); +/* raw burst data. This is following the header */ +#define BI_FLG_DUMMY (1<<4) +#define BI_FLG_SACCH (1<<5) + +struct l1ctl_burst_ind { + uint32_t frame_nr; + uint16_t band_arfcn; /* ARFCN + band + ul indicator */ + uint8_t chan_nr; /* GSM 08.58 channel number (9.3.1) */ + uint8_t flags; /* BI_FLG_xxx + burst_id = 2LSBs */ + uint8_t rx_level; /* 0 .. 63 in typical GSM notation (dBm+110) */ + uint8_t snr; /* Reported SNR >> 8 (0-255) */ + uint8_t bits[15]; /* 114 bits + 2 steal bits. Filled MSB first */ +} __attribute__((packed)); + /* * uplink info */ diff --git a/src/target/firmware/layer1/l23_api.c b/src/target/firmware/layer1/l23_api.c index 311ca6a2..6ada2e4d 100644 --- a/src/target/firmware/layer1/l23_api.c +++ b/src/target/firmware/layer1/l23_api.c @@ -51,8 +51,7 @@ /* the size we will allocate struct msgb* for HDLC */ #define L3_MSG_HEAD 4 -#define L3_MSG_DATA 200 -#define L3_MSG_SIZE (L3_MSG_HEAD + sizeof(struct l1ctl_hdr) + L3_MSG_DATA) +#define L3_MSG_SIZE (sizeof(struct l1ctl_hdr)+sizeof(struct l1ctl_info_dl)+sizeof(struct l1ctl_burst_ind) + L3_MSG_HEAD) void (*l1a_l23_tx_cb)(struct msgb *msg) = NULL; |