mirror of https://gerrit.osmocom.org/osmo-tetra
Reformatting to prevent linter warnings
Change-Id: I0dc35e7d536900b4beed19042183838857b7dac7
This commit is contained in:
parent
75c33d9d7e
commit
c80aff0a25
|
@ -59,7 +59,7 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
crc = ~crc16_itut_bits(0xffff, input2, 60);
|
crc = ~crc16_itut_bits(0xffff, input2, 60);
|
||||||
printf("The CRC is now: %d/0x%x\n", crc, crc);
|
printf("The CRC is now: %d/0x%x\n", crc, crc);
|
||||||
|
|
||||||
/* swap the bytes */
|
/* swap the bytes */
|
||||||
crc = (crc << 8) | (crc >> 8);
|
crc = (crc << 8) | (crc >> 8);
|
||||||
osmo_pbit2ubit(&input2[60], (uint8_t *)&crc, 16);
|
osmo_pbit2ubit(&input2[60], (uint8_t *)&crc, 16);
|
||||||
|
|
|
@ -54,7 +54,7 @@ void testpdu_init()
|
||||||
bitvec_set_uint(&bv, 262, 10); /* MCC */
|
bitvec_set_uint(&bv, 262, 10); /* MCC */
|
||||||
bitvec_set_uint(&bv, 42, 14); /* MNC */
|
bitvec_set_uint(&bv, 42, 14); /* MNC */
|
||||||
bitvec_set_uint(&bv, 0, 2); /* Neighbor cell boradcast: not supported */
|
bitvec_set_uint(&bv, 0, 2); /* Neighbor cell boradcast: not supported */
|
||||||
bitvec_set_uint(&bv, 0, 2); /* Cell service level: unknown */
|
bitvec_set_uint(&bv, 0, 2); /* Cell service level: unknown */
|
||||||
bitvec_set_bit(&bv, 0); /* Late entry information */
|
bitvec_set_bit(&bv, 0); /* Late entry information */
|
||||||
printf("SYNC PDU: %s\n", osmo_hexdump(pdu_sync, sizeof(pdu_sync)));
|
printf("SYNC PDU: %s\n", osmo_hexdump(pdu_sync, sizeof(pdu_sync)));
|
||||||
|
|
||||||
|
|
|
@ -24,23 +24,23 @@
|
||||||
#include "tetra_cmce_pdu.h"
|
#include "tetra_cmce_pdu.h"
|
||||||
|
|
||||||
static const struct value_string cmce_pdut_d_names[] = {
|
static const struct value_string cmce_pdut_d_names[] = {
|
||||||
{ TCMCE_PDU_T_D_ALERT, "D-ALERT" },
|
{ TCMCE_PDU_T_D_ALERT, "D-ALERT" },
|
||||||
{ TCMCE_PDU_T_D_CALL_PROCEEDING,"D-CALL PROCEEDING" },
|
{ TCMCE_PDU_T_D_CALL_PROCEEDING, "D-CALL PROCEEDING" },
|
||||||
{ TCMCE_PDU_T_D_CONNECT, "D-CONNECT" },
|
{ TCMCE_PDU_T_D_CONNECT, "D-CONNECT" },
|
||||||
{ TCMCE_PDU_T_D_CONNECT_ACK, "D-CONNECT ACK" },
|
{ TCMCE_PDU_T_D_CONNECT_ACK, "D-CONNECT ACK" },
|
||||||
{ TCMCE_PDU_T_D_DISCONNECT, "D-DISCONNECT" },
|
{ TCMCE_PDU_T_D_DISCONNECT, "D-DISCONNECT" },
|
||||||
{ TCMCE_PDU_T_D_INFO, "D-INFO" },
|
{ TCMCE_PDU_T_D_INFO, "D-INFO" },
|
||||||
{ TCMCE_PDU_T_D_RELEASE, "D-RELEASE" },
|
{ TCMCE_PDU_T_D_RELEASE, "D-RELEASE" },
|
||||||
{ TCMCE_PDU_T_D_SETUP, "D-SETUP" },
|
{ TCMCE_PDU_T_D_SETUP, "D-SETUP" },
|
||||||
{ TCMCE_PDU_T_D_STATUS, "D-STATUS" },
|
{ TCMCE_PDU_T_D_STATUS, "D-STATUS" },
|
||||||
{ TCMCE_PDU_T_D_TX_CEASED, "D-TX CEASED" },
|
{ TCMCE_PDU_T_D_TX_CEASED, "D-TX CEASED" },
|
||||||
{ TCMCE_PDU_T_D_TX_CONTINUE, "D-TX CONTINUE" },
|
{ TCMCE_PDU_T_D_TX_CONTINUE, "D-TX CONTINUE" },
|
||||||
{ TCMCE_PDU_T_D_TX_GRANTED, "D-TX GRANTED" },
|
{ TCMCE_PDU_T_D_TX_GRANTED, "D-TX GRANTED" },
|
||||||
{ TCMCE_PDU_T_D_TX_WAIT, "D-TX WAIT" },
|
{ TCMCE_PDU_T_D_TX_WAIT, "D-TX WAIT" },
|
||||||
{ TCMCE_PDU_T_D_TX_INTERRUPT, "D-TX INTERRUPT" },
|
{ TCMCE_PDU_T_D_TX_INTERRUPT, "D-TX INTERRUPT" },
|
||||||
{ TCMCE_PDU_T_D_CALL_RESTORE, "D-TX CALL RESTORE" },
|
{ TCMCE_PDU_T_D_CALL_RESTORE, "D-TX CALL RESTORE" },
|
||||||
{ TCMCE_PDU_T_D_SDS_DATA, "D-SDS DATA" },
|
{ TCMCE_PDU_T_D_SDS_DATA, "D-SDS DATA" },
|
||||||
{ TCMCE_PDU_T_D_FACILITY, "D-FACILITY" },
|
{ TCMCE_PDU_T_D_FACILITY, "D-FACILITY" },
|
||||||
{ 0, NULL }
|
{ 0, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ static const int16_t tetra_carrier_offset[4] = {
|
||||||
[0] = 0,
|
[0] = 0,
|
||||||
[1] = 6250,
|
[1] = 6250,
|
||||||
[2] = -6250,
|
[2] = -6250,
|
||||||
[3] = +12500,
|
[3] = 12500,
|
||||||
};
|
};
|
||||||
|
|
||||||
uint32_t tetra_dl_carrier_hz(uint8_t band, uint16_t carrier, uint8_t offset)
|
uint32_t tetra_dl_carrier_hz(uint8_t band, uint16_t carrier, uint8_t offset)
|
||||||
|
@ -78,14 +78,14 @@ uint32_t tetra_ul_carrier_hz(uint8_t band, uint16_t carrier, uint8_t offset,
|
||||||
uint32_t duplex_spacing = tetra_duplex_spacing[duplex & 7][band & 15];
|
uint32_t duplex_spacing = tetra_duplex_spacing[duplex & 7][band & 15];
|
||||||
|
|
||||||
if (duplex_spacing < 0) /* reserved for future standardization */
|
if (duplex_spacing < 0) /* reserved for future standardization */
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
duplex_spacing *= 1000; // make Hz
|
duplex_spacing *= 1000; // make Hz
|
||||||
|
|
||||||
if (reverse)
|
if (reverse)
|
||||||
freq += duplex_spacing;
|
freq += duplex_spacing;
|
||||||
else
|
else
|
||||||
freq -= duplex_spacing;
|
freq -= duplex_spacing;
|
||||||
|
|
||||||
return freq;
|
return freq;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#define DEBUGP(x, args...) printf(x, ## args)
|
#define DEBUGP(x, args...) printf(x, ## args)
|
||||||
#else
|
#else
|
||||||
#define DEBUGP(x, args...) do { } while(0)
|
#define DEBUGP(x, args...) do { } while (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define TETRA_SYM_PER_TS 255
|
#define TETRA_SYM_PER_TS 255
|
||||||
|
|
|
@ -61,20 +61,19 @@ void macpdu_decode_sysinfo(struct tetra_si_decoded *sid, const uint8_t *si_bits)
|
||||||
sid->cck_id = bits_to_uint(cur, 16);
|
sid->cck_id = bits_to_uint(cur, 16);
|
||||||
else
|
else
|
||||||
sid->hyperframe_number = bits_to_uint(cur, 16);
|
sid->hyperframe_number = bits_to_uint(cur, 16);
|
||||||
|
|
||||||
sid->option_field = bits_to_uint(cur, 2); cur += 2;
|
sid->option_field = bits_to_uint(cur, 2); cur += 2;
|
||||||
switch(sid->option_field)
|
|
||||||
{
|
switch (sid->option_field) {
|
||||||
case TETRA_MAC_OPT_FIELD_EVEN_MULTIFRAME: // Even multiframe definition for TS mode
|
case TETRA_MAC_OPT_FIELD_EVEN_MULTIFRAME: // Even multiframe definition for TS mode
|
||||||
case TETRA_MAC_OPT_FIELD_ODD_MULTIFRAME: // Odd multiframe definition for TS mode
|
case TETRA_MAC_OPT_FIELD_ODD_MULTIFRAME: // Odd multiframe definition for TS mode
|
||||||
sid->frame_bitmap = bits_to_uint(cur, 20); cur += 20;
|
sid->frame_bitmap = bits_to_uint(cur, 20); cur += 20;
|
||||||
break;
|
break;
|
||||||
case TETRA_MAC_OPT_FIELD_ACCESS_CODE: // Default definition for access code A
|
case TETRA_MAC_OPT_FIELD_ACCESS_CODE: // Default definition for access code A
|
||||||
sid->access_code = bits_to_uint(cur, 20); cur += 20;
|
sid->access_code = bits_to_uint(cur, 20); cur += 20;
|
||||||
break;
|
break;
|
||||||
case TETRA_MAC_OPT_FIELD_EXT_SERVICES: // Extended services broadcast
|
case TETRA_MAC_OPT_FIELD_EXT_SERVICES: // Extended services broadcast
|
||||||
sid->ext_service = bits_to_uint(cur, 20); cur += 20;
|
sid->ext_service = bits_to_uint(cur, 20); cur += 20;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
decode_d_mle_sysinfo(&sid->mle_si, si_bits + 124-42); // could be also cur due to previous fixes
|
decode_d_mle_sysinfo(&sid->mle_si, si_bits + 124-42); // could be also cur due to previous fixes
|
||||||
|
@ -95,12 +94,12 @@ int macpdu_decode_chan_alloc(struct tetra_chan_alloc_decoded *cad, const uint8_t
|
||||||
{
|
{
|
||||||
const uint8_t *cur = bits;
|
const uint8_t *cur = bits;
|
||||||
|
|
||||||
cad->type = bits_to_uint(cur, 2); cur += 2;
|
cad->type = bits_to_uint(cur, 2); cur += 2;
|
||||||
cad->timeslot = bits_to_uint(cur, 4); cur += 4;
|
cad->timeslot = bits_to_uint(cur, 4); cur += 4;
|
||||||
cad->ul_dl = bits_to_uint(cur, 2); cur += 2;
|
cad->ul_dl = bits_to_uint(cur, 2); cur += 2;
|
||||||
cad->clch_perm = *cur++;
|
cad->clch_perm = *cur++;
|
||||||
cad->cell_chg_f = *cur++;
|
cad->cell_chg_f = *cur++;
|
||||||
cad->carrier_nr = bits_to_uint(cur, 12); cur += 12;
|
cad->carrier_nr = bits_to_uint(cur, 12); cur += 12;
|
||||||
|
|
||||||
cad->ext_carr_pres = *cur++;
|
cad->ext_carr_pres = *cur++;
|
||||||
if (cad->ext_carr_pres) {
|
if (cad->ext_carr_pres) {
|
||||||
|
@ -115,15 +114,15 @@ int macpdu_decode_chan_alloc(struct tetra_chan_alloc_decoded *cad, const uint8_t
|
||||||
cur += 2;
|
cur += 2;
|
||||||
}
|
}
|
||||||
if (cad->ul_dl == 0) {
|
if (cad->ul_dl == 0) {
|
||||||
cad->aug.ul_dl_ass = bits_to_uint(cur, 2); cur += 2;
|
cad->aug.ul_dl_ass = bits_to_uint(cur, 2); cur += 2;
|
||||||
cad->aug.bandwidth = bits_to_uint(cur, 3); cur += 3;
|
cad->aug.bandwidth = bits_to_uint(cur, 3); cur += 3;
|
||||||
cad->aug.modulation = bits_to_uint(cur, 3); cur += 3;
|
cad->aug.modulation = bits_to_uint(cur, 3); cur += 3;
|
||||||
cad->aug.max_ul_qam = bits_to_uint(cur, 3); cur += 3;
|
cad->aug.max_ul_qam = bits_to_uint(cur, 3); cur += 3;
|
||||||
cur += 3; /* reserved */
|
cur += 3; /* reserved */
|
||||||
cad->aug.conf_chan_stat=bits_to_uint(cur, 3); cur += 3;
|
cad->aug.conf_chan_stat = bits_to_uint(cur, 3); cur += 3;
|
||||||
cad->aug.bs_imbalance = bits_to_uint(cur, 4); cur += 4;
|
cad->aug.bs_imbalance = bits_to_uint(cur, 4); cur += 4;
|
||||||
cad->aug.bs_tx_rel = bits_to_uint(cur, 5); cur += 5;
|
cad->aug.bs_tx_rel = bits_to_uint(cur, 5); cur += 5;
|
||||||
cad->aug.napping_sts = bits_to_uint(cur, 2); cur += 2;
|
cad->aug.napping_sts = bits_to_uint(cur, 2); cur += 2;
|
||||||
if (cad->aug.napping_sts == 1)
|
if (cad->aug.napping_sts == 1)
|
||||||
cur += 11; /* napping info 21.5.2c */
|
cur += 11; /* napping info 21.5.2c */
|
||||||
cur += 4; /* reserved */
|
cur += 4; /* reserved */
|
||||||
|
@ -385,14 +384,14 @@ const char *tetra_get_ul_usage_name(uint8_t num)
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct value_string addr_type_names[] = {
|
static const struct value_string addr_type_names[] = {
|
||||||
{ ADDR_TYPE_NULL, "Null PDU" },
|
{ ADDR_TYPE_NULL, "Null PDU" },
|
||||||
{ ADDR_TYPE_SSI, "SSI" },
|
{ ADDR_TYPE_SSI, "SSI" },
|
||||||
{ ADDR_TYPE_EVENT_LABEL,"Event Label" },
|
{ ADDR_TYPE_EVENT_LABEL, "Event Label" },
|
||||||
{ ADDR_TYPE_USSI, "USSI (migrading MS un-exchanged)" },
|
{ ADDR_TYPE_USSI, "USSI (migrading MS un-exchanged)" },
|
||||||
{ ADDR_TYPE_SMI, "SMI (management)" },
|
{ ADDR_TYPE_SMI, "SMI (management)" },
|
||||||
{ ADDR_TYPE_SSI_EVENT, "SSI + Event Label" },
|
{ ADDR_TYPE_SSI_EVENT, "SSI + Event Label" },
|
||||||
{ ADDR_TYPE_SSI_USAGE, "SSI + Usage Marker" },
|
{ ADDR_TYPE_SSI_USAGE, "SSI + Usage Marker" },
|
||||||
{ ADDR_TYPE_SMI_EVENT, "SMI + Event Label" },
|
{ ADDR_TYPE_SMI_EVENT, "SMI + Event Label" },
|
||||||
{ 0, NULL }
|
{ 0, NULL }
|
||||||
};
|
};
|
||||||
const char *tetra_get_addr_t_name(uint8_t addrt)
|
const char *tetra_get_addr_t_name(uint8_t addrt)
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include "tetra_mm_pdu.h"
|
#include "tetra_mm_pdu.h"
|
||||||
|
|
||||||
static const struct value_string mm_pdut_d_names[] = {
|
static const struct value_string mm_pdut_d_names[] = {
|
||||||
{ TMM_PDU_T_D_OTAR, "D-OTAR" },
|
{ TMM_PDU_T_D_OTAR, "D-OTAR" },
|
||||||
{ TMM_PDU_T_D_AUTH, "D-AUTHENTICATION" },
|
{ TMM_PDU_T_D_AUTH, "D-AUTHENTICATION" },
|
||||||
{ TMM_PDU_T_D_CK_CHG_DEM, "D-CK CHANGE DEMAND" },
|
{ TMM_PDU_T_D_CK_CHG_DEM, "D-CK CHANGE DEMAND" },
|
||||||
{ TMM_PDU_T_D_DISABLE, "D-DISABLE" },
|
{ TMM_PDU_T_D_DISABLE, "D-DISABLE" },
|
||||||
|
|
|
@ -3,14 +3,14 @@
|
||||||
|
|
||||||
/* 16.10.39 PDU Type */
|
/* 16.10.39 PDU Type */
|
||||||
enum tetra_mm_pdu_type_d {
|
enum tetra_mm_pdu_type_d {
|
||||||
TMM_PDU_T_D_OTAR = 0x0,
|
TMM_PDU_T_D_OTAR = 0x0,
|
||||||
TMM_PDU_T_D_AUTH = 0x1,
|
TMM_PDU_T_D_AUTH = 0x1,
|
||||||
TMM_PDU_T_D_CK_CHG_DEM = 0x2,
|
TMM_PDU_T_D_CK_CHG_DEM = 0x2,
|
||||||
TMM_PDU_T_D_DISABLE = 0x3,
|
TMM_PDU_T_D_DISABLE = 0x3,
|
||||||
TMM_PDU_T_D_ENABLE = 0x4,
|
TMM_PDU_T_D_ENABLE = 0x4,
|
||||||
TMM_PDU_T_D_LOC_UPD_ACC = 0x5,
|
TMM_PDU_T_D_LOC_UPD_ACC = 0x5,
|
||||||
TMM_PDU_T_D_LOC_UPD_CMD = 0x6,
|
TMM_PDU_T_D_LOC_UPD_CMD = 0x6,
|
||||||
TMM_PDU_T_D_LOC_UPD_REJ = 0x7,
|
TMM_PDU_T_D_LOC_UPD_REJ = 0x7,
|
||||||
/* RES */
|
/* RES */
|
||||||
TMM_PDU_T_D_LOC_UPD_PROC = 0x9,
|
TMM_PDU_T_D_LOC_UPD_PROC = 0x9,
|
||||||
TMM_PDU_T_D_ATT_DET_GRP = 0xa,
|
TMM_PDU_T_D_ATT_DET_GRP = 0xa,
|
||||||
|
|
Loading…
Reference in New Issue