From 427dad6c72553f741bd6f31c78b036da1af5132d Mon Sep 17 00:00:00 2001 From: Jérôme Jutteau Date: Thu, 22 Sep 2011 16:41:58 +0200 Subject: cesar/ce/rx/bl: use bsu_aclf for interval construction, refs #2366 --- cesar/ce/rx/bitloading/test/src/test_intervals.c | 44 +++++++++++++++++++----- 1 file changed, 36 insertions(+), 8 deletions(-) (limited to 'cesar/ce/rx/bitloading/test') 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 -- cgit v1.2.3