{
gint curr_bit_offset;
proto_item *item;
- guint8 rep_quant;
+ guint8 rep_quant, rep_thresh;
curr_bit_offset = bit_offset;
if (gsm_rr_csn_flag(tvb, tree, curr_bit_offset++, hf_gsm_a_rr_eutran_fdd_reporting_threshold_2_present))
{
item = proto_tree_add_bits_item(tree, hf_gsm_a_rr_eutran_fdd_reporting_threshold_2, tvb, curr_bit_offset, 6, ENC_BIG_ENDIAN);
+ rep_thresh = tvb_get_bits8(tvb,curr_bit_offset, 6);
if (rep_quant == 0)
{
- proto_item_append_text(item, " (%.1f dB)", (gfloat)tvb_get_bits8(tvb,curr_bit_offset,6)/2 - 19.5);
+ proto_item_append_text(item, " (%.1f dB)", (gfloat)rep_thresh/2 - 19.5);
}
else
{
- proto_item_append_text(item, " (%d dBm)", tvb_get_bits8(tvb,curr_bit_offset,6) - 140);
+ proto_item_append_text(item, " (%d dBm)", rep_thresh - 140);
}
curr_bit_offset += 6;
}
if (gsm_rr_csn_flag(tvb, tree, curr_bit_offset++, hf_gsm_a_rr_eutran_tdd_reporting_threshold_2_present))
{
item = proto_tree_add_bits_item(tree, hf_gsm_a_rr_eutran_tdd_reporting_threshold_2, tvb, curr_bit_offset, 6, ENC_BIG_ENDIAN);
+ rep_thresh = tvb_get_bits8(tvb,curr_bit_offset, 6);
if (rep_quant == 0)
{
- proto_item_append_text(item, " (%.1f dB)", (gfloat)tvb_get_bits8(tvb,curr_bit_offset,6)/2 - 19.5);
+ proto_item_append_text(item, " (%.1f dB)", (gfloat)rep_thresh/2 - 19.5);
}
else
{
- proto_item_append_text(item, " (%d dBm)", tvb_get_bits8(tvb,curr_bit_offset,6) - 140);
+ proto_item_append_text(item, " (%d dBm)", rep_thresh - 140);
}
curr_bit_offset += 6;
}
if (gsm_rr_csn_flag(tvb, tree, curr_bit_offset++, hf_gsm_a_rr_eutran_fdd_reporting_threshold))
{
item = proto_tree_add_bits_item(tree, hf_gsm_a_rr_eutran_fdd_measurement_report_offset, tvb, curr_bit_offset, 6, ENC_BIG_ENDIAN);
+ rep_thresh = tvb_get_bits8(tvb,curr_bit_offset, 6);
if (rep_quant == 0)
{
- proto_item_append_text(item, " (%d dBm)", tvb_get_bits8(tvb,curr_bit_offset,6) - 140);
+ proto_item_append_text(item, " (%d dBm)", rep_thresh - 140);
}
else
{
- proto_item_append_text(item, " (%.1f dB)", (gfloat)tvb_get_bits8(tvb,curr_bit_offset,6)/2 - 19.5);
+ proto_item_append_text(item, " (%.1f dB)", (gfloat)rep_thresh/2 - 19.5);
}
curr_bit_offset += 6;
if (gsm_rr_csn_flag(tvb, tree, curr_bit_offset++, hf_gsm_a_rr_eutran_fdd_reporting_threshold_2_present))
{
item = proto_tree_add_bits_item(tree, hf_gsm_a_rr_eutran_fdd_reporting_threshold_2, tvb, curr_bit_offset, 6, ENC_BIG_ENDIAN);
+ rep_thresh = tvb_get_bits8(tvb,curr_bit_offset, 6);
if (rep_quant == 0)
{
- proto_item_append_text(item, " (%.1f dB)", (gfloat)tvb_get_bits8(tvb,curr_bit_offset,6)/2 - 19.5);
+ proto_item_append_text(item, " (%.1f dB)", (gfloat)rep_thresh/2 - 19.5);
}
else
{
- proto_item_append_text(item, " (%d dBm)", tvb_get_bits8(tvb,curr_bit_offset,6) - 140);
+ proto_item_append_text(item, " (%d dBm)", rep_thresh - 140);
}
curr_bit_offset += 6;
}
if (gsm_rr_csn_flag(tvb, tree, curr_bit_offset++, hf_gsm_a_rr_eutran_tdd_measurement_report_offset_present))
{
item = proto_tree_add_bits_item(tree, hf_gsm_a_rr_eutran_tdd_measurement_report_offset, tvb, curr_bit_offset, 6, ENC_BIG_ENDIAN);
+ rep_thresh = tvb_get_bits8(tvb,curr_bit_offset, 6);
if (rep_quant == 0)
{
- proto_item_append_text(item, " (%d dBm)", tvb_get_bits8(tvb,curr_bit_offset,6) - 140);
+ proto_item_append_text(item, " (%d dBm)", rep_thresh - 140);
}
else
{
- proto_item_append_text(item, " (%.1f dB)", (gfloat)tvb_get_bits8(tvb,curr_bit_offset,6)/2 - 19.5);
+ proto_item_append_text(item, " (%.1f dB)", (gfloat)rep_thresh/2 - 19.5);
}
curr_bit_offset += 6;
if (gsm_rr_csn_flag(tvb, tree, curr_bit_offset++, hf_gsm_a_rr_eutran_tdd_reporting_threshold_2_present))
{
item = proto_tree_add_bits_item(tree, hf_gsm_a_rr_eutran_tdd_reporting_threshold_2, tvb, curr_bit_offset, 6, ENC_BIG_ENDIAN);
+ rep_thresh = tvb_get_bits8(tvb,curr_bit_offset, 6);
if (rep_quant == 0)
{
- proto_item_append_text(item, " (%.1f dB)", (gfloat)tvb_get_bits8(tvb,curr_bit_offset,6)/2 - 19.5);
+ proto_item_append_text(item, " (%.1f dB)", (gfloat)rep_thresh/2 - 19.5);
}
else
{
- proto_item_append_text(item, " (%d dBm)", tvb_get_bits8(tvb,curr_bit_offset,6) - 140);
+ proto_item_append_text(item, " (%d dBm)", rep_thresh - 140);
}
curr_bit_offset += 6;
}
proto_tree *subtree;
proto_item *item;
gint curr_bit_offset;
- guint8 rep_quant = 0;
+ guint8 rep_quant = 0, rep_thresh = 0;
curr_bit_offset = bit_offset;
subtree = proto_tree_add_subtree(tree, tvb, curr_bit_offset>>3, -1, ett_gsm_rr_rest_octets_elem[DE_RR_REST_OCTETS_EUTRAN_PARAM_DESC], &item,
if (gsm_rr_csn_flag(tvb, subtree, curr_bit_offset++, hf_gsm_a_rr_eutran_fdd_reporting_threshold_2_present))
{
item = proto_tree_add_bits_item(tree, hf_gsm_a_rr_eutran_fdd_reporting_threshold_2, tvb, curr_bit_offset, 6, ENC_BIG_ENDIAN);
+ rep_thresh = tvb_get_bits8(tvb,curr_bit_offset, 6);
if (rep_quant == 0)
{
- proto_item_append_text(item, " (%.1f dB)", (gfloat)tvb_get_bits8(tvb,curr_bit_offset,6)/2 - 19.5);
+ proto_item_append_text(item, " (%.1f dB)", (gfloat)rep_thresh/2 - 19.5);
}
else
{
- proto_item_append_text(item, " (%d dBm)", tvb_get_bits8(tvb,curr_bit_offset,6) - 140);
+ proto_item_append_text(item, " (%d dBm)", rep_thresh - 140);
}
curr_bit_offset += 6;
}
if (gsm_rr_csn_flag(tvb, subtree, curr_bit_offset++, hf_gsm_a_rr_eutran_tdd_reporting_threshold_2_present))
{
item = proto_tree_add_bits_item(tree, hf_gsm_a_rr_eutran_tdd_reporting_threshold_2, tvb, curr_bit_offset, 6, ENC_BIG_ENDIAN);
+ rep_thresh = tvb_get_bits8(tvb,curr_bit_offset, 6);
if (rep_quant == 0)
{
- proto_item_append_text(item, " (%.1f dB)", (gfloat)tvb_get_bits8(tvb,curr_bit_offset,6)/2 - 19.5);
+ proto_item_append_text(item, " (%.1f dB)", (gfloat)rep_thresh/2 - 19.5);
}
else
{
- proto_item_append_text(item, " (%d dBm)", tvb_get_bits8(tvb,curr_bit_offset,6) - 140);
+ proto_item_append_text(item, " (%d dBm)", rep_thresh - 140);
}
curr_bit_offset += 6;
}