summaryrefslogtreecommitdiff
path: root/hal/phy/maximus/test
diff options
context:
space:
mode:
Diffstat (limited to 'hal/phy/maximus/test')
-rw-r--r--hal/phy/maximus/test/src/test_phy_ctrl.c135
1 files changed, 114 insertions, 21 deletions
diff --git a/hal/phy/maximus/test/src/test_phy_ctrl.c b/hal/phy/maximus/test/src/test_phy_ctrl.c
index 607b66af1c..f8e69e4e1a 100644
--- a/hal/phy/maximus/test/src/test_phy_ctrl.c
+++ b/hal/phy/maximus/test/src/test_phy_ctrl.c
@@ -759,32 +759,68 @@ void phy_tx_fc10_test_case(test_t t)
void phy_tx_param_test_case(test_t t)
{
+ phy_fc_mode_t fc_mode = PHY_FC_MODE_HYBRID_1;
+ bool short_ppdu = false;
+ phy_mod_t mod;
+ phy_fecrate_t fecrate = PHY_FEC_RATE_16_21;
+ phy_pb_size_t pb_size = PHY_PB_SIZE_136;
+ phy_gil_t gil = PHY_GIL_417;
+ uint tonemap_index = 3;
+
printf("tx param\n");
test_case_begin(t, "tx param");
-
- test_begin(t, "tx param")
+
+ test_begin(t, "tx param with TM modulation")
{
- phy_fc_mode_t fc_mode = PHY_FC_MODE_HYBRID_1;
- bool short_ppdu = false;
- phy_mod_t mod = PHY_MOD_TM;
- phy_fecrate_t fecrate = PHY_FEC_RATE_1_2;
- phy_pb_size_t pb_size = PHY_PB_SIZE_136;
- phy_gil_t gil = PHY_GIL_417;
- uint tonemap_index = 3;
-
+ mod = PHY_MOD_TM;
+
phy_tx_param (ctx, fc_mode, short_ppdu,
mod, fecrate, pb_size,
gil, tonemap_index);
- test_fail_unless((fc_mode == ctx->control.next_tx_param.fc_mode)
+ test_fail_unless((EINVAL != errno)
+ && (fc_mode == ctx->control.next_tx_param.fc_mode)
&& (short_ppdu == ctx->control.next_tx_param.short_ppdu)
&& (mod == ctx->control.next_tx_param.mod)
&& (fecrate == ctx->control.next_tx_param.fecrate)
&& (pb_size == ctx->control.next_tx_param.pb_size)
&& (gil == ctx->control.next_tx_param.gil)
&& (tonemap_index == ctx->control.next_tx_param.tonemap_index));
-
} test_end;
-
+
+ test_begin(t, "tx param with HS ROBO modulation")
+ {
+ mod = PHY_MOD_HS_ROBO;
+
+ phy_tx_param (ctx, fc_mode, short_ppdu,
+ mod, fecrate, pb_size,
+ gil, tonemap_index);
+ test_fail_unless((EINVAL != errno)
+ && (fc_mode == ctx->control.next_tx_param.fc_mode)
+ && (short_ppdu == ctx->control.next_tx_param.short_ppdu)
+ && (mod == ctx->control.next_tx_param.mod)
+ && (PHY_FEC_RATE_1_2 == ctx->control.next_tx_param.fecrate)
+ && (PHY_PB_SIZE_520 == ctx->control.next_tx_param.pb_size)
+ && (PHY_GIL_417 == ctx->control.next_tx_param.gil)
+ && (0 == ctx->control.next_tx_param.tonemap_index));
+ } test_end;
+
+ test_begin(t, "tx param with MINI ROBO modulation")
+ {
+ mod = PHY_MOD_MINI_ROBO;
+
+ phy_tx_param (ctx, fc_mode, short_ppdu,
+ mod, fecrate, pb_size,
+ gil, tonemap_index);
+ test_fail_unless((EINVAL != errno)
+ && (fc_mode == ctx->control.next_tx_param.fc_mode)
+ && (short_ppdu == ctx->control.next_tx_param.short_ppdu)
+ && (mod == ctx->control.next_tx_param.mod)
+ && (PHY_FEC_RATE_1_2 == ctx->control.next_tx_param.fecrate)
+ && (PHY_PB_SIZE_136 == ctx->control.next_tx_param.pb_size)
+ && (PHY_GIL_567 == ctx->control.next_tx_param.gil)
+ && (0 == ctx->control.next_tx_param.tonemap_index));
+ } test_end;
+
return;
}
@@ -844,6 +880,7 @@ void phy_tx_frame_test_case(test_t t)
ctx->control.next_tx_param.pb_size = PHY_PB_SIZE_520;
ctx->pbdma.nb_total = 3;
ctx->control.next_tx_param.short_ppdu = false;
+ ctx->control.next_tx_param.tonemap_index = tonemap_index;
test_begin(t, "tx frame")
{
@@ -1806,18 +1843,20 @@ void phy_rx_activate_test_case(test_t t)
void phy_rx_prepare_test_case(test_t t)
{
+ bool short_ppdu = false;
+ phy_mod_t mod;
+ phy_fecrate_t fecrate = PHY_FEC_RATE_1_2;
+ phy_pb_size_t pb_size = PHY_PB_SIZE_136;
+ phy_gil_t gil = PHY_GIL_417;
+ uint tonemap_index = 3;
+ uint symbol_nb = 0;
+
printf("rx prepare\n");
test_case_begin(t, "rx prepare");
- test_begin(t, "rx prepare")
+ test_begin(t, "rx prepare with TM modulation")
{
- bool short_ppdu = false;
- phy_mod_t mod = PHY_MOD_NONE;
- phy_fecrate_t fecrate = PHY_FEC_RATE_NONE;
- phy_pb_size_t pb_size = PHY_PB_SIZE_136;
- phy_gil_t gil = PHY_GIL_417;
- uint tonemap_index = 1234567890;
- uint symbol_nb = 0;
+ mod = PHY_MOD_TM;
phy_rx_prepare (ctx,
short_ppdu,
@@ -1842,6 +1881,60 @@ void phy_rx_prepare_test_case(test_t t)
&& (!ctx->pbdma.pb_crc_error));
} test_end;
+ test_begin(t, "rx prepare with ROBO modulation")
+ {
+ mod = PHY_MOD_ROBO;
+
+ phy_rx_prepare (ctx,
+ short_ppdu,
+ mod,
+ fecrate,
+ pb_size,
+ gil,
+ tonemap_index,
+ symbol_nb);
+ test_fail_unless ((EINVAL != errno)
+ && (NULL != ctx)
+ && (short_ppdu == ctx->control.rx_param.short_ppdu)
+ && (mod == ctx->control.rx_param.mod)
+ && (PHY_FEC_RATE_1_2 == ctx->control.rx_param.fecrate)
+ && (PHY_PB_SIZE_520 == ctx->control.rx_param.pb_size)
+ && (PHY_GIL_417 == ctx->control.rx_param.gil)
+ && (0 == ctx->control.rx_param.tonemap_index)
+ && (symbol_nb == ctx->control.rx_param.symbol_nb)
+ && ctx->control.rx_tx_mode
+ && (0 == ctx->pbdma.index_current_pb)
+ && (ctx->pbdma.current_pb == &ctx->pbdma.first_pb->pb_rx)
+ && (!ctx->pbdma.pb_crc_error));
+ } test_end;
+
+ test_begin(t, "rx prepare with MINI ROBO modulation")
+ {
+ mod = PHY_MOD_MINI_ROBO;
+
+ phy_rx_prepare (ctx,
+ short_ppdu,
+ mod,
+ fecrate,
+ pb_size,
+ gil,
+ tonemap_index,
+ symbol_nb);
+ test_fail_unless ((EINVAL != errno)
+ && (NULL != ctx)
+ && (short_ppdu == ctx->control.rx_param.short_ppdu)
+ && (mod == ctx->control.rx_param.mod)
+ && (PHY_FEC_RATE_1_2 == ctx->control.rx_param.fecrate)
+ && (PHY_PB_SIZE_136 == ctx->control.rx_param.pb_size)
+ && (PHY_GIL_567 == ctx->control.rx_param.gil)
+ && (0 == ctx->control.rx_param.tonemap_index)
+ && (symbol_nb == ctx->control.rx_param.symbol_nb)
+ && ctx->control.rx_tx_mode
+ && (0 == ctx->pbdma.index_current_pb)
+ && (ctx->pbdma.current_pb == &ctx->pbdma.first_pb->pb_rx)
+ && (!ctx->pbdma.pb_crc_error));
+ } test_end;
+
return;
}