summaryrefslogtreecommitdiff
path: root/cesar/ce/rx/bitloading/test/src/test_intervals.c
diff options
context:
space:
mode:
authorJérôme Jutteau2011-09-22 16:41:58 +0200
committerCyril Jourdan2013-01-18 11:27:19 +0100
commit427dad6c72553f741bd6f31c78b036da1af5132d (patch)
treebf265319f0c15fd6f2ab8ff26a83353ad363979b /cesar/ce/rx/bitloading/test/src/test_intervals.c
parent68cb21802a6f3ee3c8ddba8133c41167189f2d32 (diff)
cesar/ce/rx/bl: use bsu_aclf for interval construction, refs #2366
Diffstat (limited to 'cesar/ce/rx/bitloading/test/src/test_intervals.c')
-rw-r--r--cesar/ce/rx/bitloading/test/src/test_intervals.c44
1 files changed, 36 insertions, 8 deletions
diff --git a/cesar/ce/rx/bitloading/test/src/test_intervals.c b/cesar/ce/rx/bitloading/test/src/test_intervals.c
index de72ce7eda..5bb8050fde 100644
--- a/cesar/ce/rx/bitloading/test/src/test_intervals.c
+++ b/cesar/ce/rx/bitloading/test/src/test_intervals.c
@@ -408,23 +408,20 @@ test_suite_ce_rx_bl_intervals_update_tmi (test_t t)
{
test_case_begin (t, "Update TMI of intervals.");
- test_begin (t, "simple test")
+ test_begin (t, "Check TMIs are correctly set")
{
int i;
sta_t sta;
sta_init (&sta, 42);
- mac_interval_clear (sta.rx_tonemaps);
- mac_interval_append (sta.rx_tonemaps, 1000, 42);
- mac_interval_commit_changes (sta.rx_tonemaps);
-
sta.intervals = ce_rx_bl_intervals_alloc (0);
for (i = 0; i < mac_interval_fsm_count_; i++)
sta.intervals->tmi[i] = i;
-
- ce_rx_bl_intervals_update_tmi (&sta);
-
+ ce_rx_bl_intervals_update_tmi (&sta, BSU_ACLF_BP_50HZ_TCK);
tonemap_intervals_t *ints = sta.rx_tonemaps->intervals;
+ test_fail_if (ints->intervals_nb != mac_interval_fsm_count_
+ * mac_interval_repetition_count_);
+
for (i = 0; i < ints->intervals_nb; i++)
test_fail_unless
(i % mac_interval_fsm_count_ == ints->interval[i].tmi);
@@ -432,6 +429,37 @@ test_suite_ce_rx_bl_intervals_update_tmi (test_t t)
sta.intervals = NULL;
sta_uninit (&sta);
} test_end;
+
+ test_begin (t, "Check end offset of intervals")
+ {
+ int i;
+ uint j;
+ sta_t sta;
+ sta_init (&sta, 42);
+
+ sta.intervals = ce_rx_bl_intervals_alloc (0);
+
+ bsu_aclf_bp_t bp_th_tck[3] = {BSU_ACLF_BP_50HZ_TCK,
+ BSU_ACLF_BP_55HZ_TCK,
+ BSU_ACLF_BP_60HZ_TCK};
+
+ for (j = 0; j < COUNT (bp_th_tck); j++)
+ {
+ tonemap_intervals_t *ints = sta.rx_tonemaps->intervals;
+ u16 bp_atu = MAC_TCK_TO_ATU (bp_th_tck[j]
+ + HPAV_BEACON_BTO_MAX_TCK);
+
+ ce_rx_bl_intervals_update_tmi (&sta, bp_th_tck[j]);
+
+ for (i = 0; i < ints->intervals_nb; i++)
+ test_fail_unless (bp_atu * (i + 1) / ints->intervals_nb ==
+ ints->interval[i].end_offset_atu);
+ }
+
+ ce_rx_bl_intervals_free (sta.intervals);
+ sta.intervals = NULL;
+ sta_uninit (&sta);
+ } test_end;
}
void