summaryrefslogtreecommitdiff
path: root/cesar/ce
diff options
context:
space:
mode:
authordufour2009-09-09 09:53:19 +0000
committerdufour2009-09-09 09:53:19 +0000
commitc770ff5454102b8cfad9821a94478d7d50d97f40 (patch)
treef1c4c77502b5e6a38ae8873f622ffe09859ed2ab /cesar/ce
parentc707ca39989bcce45a4a4c8999b734f1810f66b8 (diff)
* ce/rx/cp:
- set refresh counter to prevent tone map expiration, - force the usage of the CM_CHAN_EST.IND MME when sending a refresh MME to prevent tone map expiration, - correct tests to use the public function and check refresh counter. git-svn-id: svn+ssh://pessac/svn/cesar/trunk@5464 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cesar/ce')
-rw-r--r--cesar/ce/rx/cp/src/mme.c15
-rw-r--r--cesar/ce/rx/cp/test/src/test_mme.c31
2 files changed, 34 insertions, 12 deletions
diff --git a/cesar/ce/rx/cp/src/mme.c b/cesar/ce/rx/cp/src/mme.c
index d7b4b356dd..af3b14365f 100644
--- a/cesar/ce/rx/cp/src/mme.c
+++ b/cesar/ce/rx/cp/src/mme.c
@@ -21,6 +21,7 @@
#include "ce/common/mme.h"
#include "ce/rx/cp/mme.h"
#include "ce/rx/cp/inc/mme.h"
+#include "ce/rx/cp/inc/cp.h"
u16
ce_rx_cp_mme_tone_map_size_with_rle (tonemap_t *tm, tonemask_info_t *tonemask)
@@ -355,6 +356,11 @@ ce_rx_cp_mme_send_tone_map (cp_t *ctx, cp_sta_t *sta, u32 tmi_list,
int_list);
}
}
+ /* Set refresh counter when there is some TMI enabled. */
+ if (tmi_list)
+ tms->refresh_counter_s = CE_RX_REFRESH_TONE_MAP_S;
+ else
+ tms->refresh_counter_s = 0;
}
void
@@ -363,6 +369,11 @@ ce_rx_mme_refresh_tone_map_list (cp_t *ctx, cp_sta_t *sta, u32 tmi_list, u8
tonemaps_t *tms)
{
/* FIXME: use CM_TM_UPDATE.IND is better. */
- ce_rx_cp_mme_send_tone_map (ctx, sta, tmi_list, default_tmi, int_list,
- 0, 0, tms, 0);
+ ce_rx_mme_send_cm_chan_est_ind (ctx, sta, tms, false, 0, default_tmi,
+ tmi_list, int_list);
+ /* Set refresh counter when there is some TMI enabled. */
+ if (tmi_list)
+ tms->refresh_counter_s = CE_RX_REFRESH_TONE_MAP_S;
+ else
+ tms->refresh_counter_s = 0;
}
diff --git a/cesar/ce/rx/cp/test/src/test_mme.c b/cesar/ce/rx/cp/test/src/test_mme.c
index 79dc1fdc42..4b531ed5df 100644
--- a/cesar/ce/rx/cp/test/src/test_mme.c
+++ b/cesar/ce/rx/cp/test/src/test_mme.c
@@ -15,8 +15,10 @@
#include "lib/test.h"
#include "cp/inc/context.h"
#include "ce/rx/cp/inc/mme.h"
+#include "ce/rx/cp/mme.h"
#include "mac/common/timings.h"
#include "lib/rnd.h"
+#include "ce/rx/cp/inc/cp.h"
#include <cyg/kernel/kapi.h>
@@ -255,8 +257,9 @@ mme_test_suite (test_t t)
/* No interval. */
tonemap_intervals_t int_list;
int_list.intervals_nb = 0;
- ce_rx_mme_send_cm_chan_est_ind (&cp, &sta, tms, false, 0, 1, 0,
- &int_list);
+ ce_rx_mme_refresh_tone_map_list (&cp, &sta, 0, 1, &int_list, tms);
+ /* No need to refresh when there is an empty TMI list. */
+ test_fail_if (tms->refresh_counter_s != 0);
} test_end;
test_begin (t, "CM_CHAN_EST.IND: refresh TMI list: not empty list")
@@ -270,8 +273,10 @@ mme_test_suite (test_t t)
(&cp, tms, 1, default_tmi, tmi_list, &int_list,
0);
mme_test_generate_end_cm_chan_est_ind (&cp);
- ce_rx_mme_send_cm_chan_est_ind
- (&cp, &sta, tms, false, 0, default_tmi, tmi_list, &int_list);
+ ce_rx_mme_refresh_tone_map_list (&cp, &sta, tmi_list, default_tmi,
+ &int_list, tms);
+ /* Refresh should be set. */
+ test_fail_if (tms->refresh_counter_s != CE_RX_REFRESH_TONE_MAP_S);
} test_end;
test_begin (t, "CM_CHAN_EST.IND: refresh TMI list: with intervals")
@@ -288,8 +293,10 @@ mme_test_suite (test_t t)
(&cp, tms, 1, default_tmi, tmi_list, &int_list,
0);
mme_test_generate_end_cm_chan_est_ind (&cp);
- ce_rx_mme_send_cm_chan_est_ind
- (&cp, &sta, tms, false, 0, default_tmi, tmi_list, &int_list);
+ ce_rx_cp_mme_send_tone_map
+ (&cp, &sta, tmi_list, default_tmi, &int_list, 0, 0, tms, false);
+ /* Refresh should be set. */
+ test_fail_if (tms->refresh_counter_s != CE_RX_REFRESH_TONE_MAP_S);
} test_end;
test_begin (t, "CM_CHAN_EST.IND: new tone map: same tones (0)")
@@ -351,8 +358,10 @@ mme_test_suite (test_t t)
mme_test_generate_end_cm_chan_est_ind (&cp);
/* Send and test MME. */
- ce_rx_mme_send_cm_chan_est_ind
- (&cp, &sta, tms, false, 5, default_tmi, tmi_list, &int_list);
+ ce_rx_cp_mme_send_tone_map
+ (&cp, &sta, tmi_list, default_tmi, &int_list, 5, 0, tms, false);
+ /* Refresh should be set. */
+ test_fail_if (tms->refresh_counter_s != CE_RX_REFRESH_TONE_MAP_S);
/* Clean. */
tms->tm[default_tmi] = 0;
} test_end;
@@ -427,8 +436,10 @@ mme_test_suite (test_t t)
mme_test_generate_end_cm_chan_est_ind (&cp);
/* Send and test MME. */
- ce_rx_mme_send_cm_chan_est_ind
- (&cp, &sta, tms, false, 5, default_tmi, tmi_list, &int_list);
+ ce_rx_cp_mme_send_tone_map
+ (&cp, &sta, tmi_list, default_tmi, &int_list, 5, 0, tms, false);
+ /* Refresh should be set. */
+ test_fail_if (tms->refresh_counter_s != CE_RX_REFRESH_TONE_MAP_S);
/* Clean. */
tms->tm[default_tmi] = 0;
} test_end;