Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(BLE): BLE PHY-V2 for MAX32655 and MAX32690 #680

Closed
wants to merge 142 commits into from
Closed
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
40b0aaa
fix(CMSIS): Switch GCR BTLELDOCTRL LDOTX and LDORX fields
sihyung-maxim Jul 19, 2023
4a3a428
"Generate_Register_Files" bot updating requested register files.
sihyung-maxim Jul 19, 2023
8530ec0
fix(CMSIS): Flipped all RX/TX fields in GCR_BTLELDOCTRL register for …
sihyung-maxim Jul 21, 2023
b91592f
Merge branch 'fix/me18_gcr' of github.com:Analog-Devices-MSDK/msdk in…
sihyung-maxim Jul 21, 2023
7250f61
"Generate_Register_Files" bot updating requested register files.
sihyung-maxim Jul 21, 2023
fde23ea
fix(workflow): Delete generated register files after action completion
sihyung-maxim Jul 24, 2023
c1d77ed
Merge branch 'fix/me18_gcr' of github.com:Analog-Devices-MSDK/msdk in…
sihyung-maxim Jul 24, 2023
2f382d1
fix(CMSIS): Fix BLELDOCTRL TX/RX field positions for MAX32655
sihyung-maxim Jul 25, 2023
a3ab692
"Generate_Register_Files" bot updating requested register files.
sihyung-maxim Jul 25, 2023
0c55fe3
Revert "fix(CMSIS): Fix BLELDOCTRL TX/RX field positions for MAX32655"
sihyung-maxim Jul 25, 2023
60691c8
fix(CMSIS): Fix BLELDOCTRL TX/RX field positions for MAX32655
sihyung-maxim Jul 25, 2023
29cc569
Merge branch 'fix/me18_gcr' of github.com:Analog-Devices-MSDK/msdk in…
sihyung-maxim Jul 25, 2023
1ad5091
"Generate_Register_Files" bot updating requested register files.
sihyung-maxim Jul 25, 2023
579c373
updated BLE GCR and SIR
Aug 17, 2023
4d75bb4
Merge branch 'main' into fix/me18_gcr
sihyung-maxim Aug 17, 2023
bdbbe38
udpated gcr and sir for me14, me17, me18
EricB-ADI Aug 18, 2023
5bc4b74
"Generate_Register_Files" bot updating requested register files.
EricB-ADI Aug 18, 2023
15b20f3
gcr fix
EricB-ADI Aug 18, 2023
cb03c20
"Generate_Register_Files" bot updating requested register files.
EricB-ADI Aug 18, 2023
6087680
updated sys driver for BLE clocks
EricB-ADI Aug 18, 2023
e761e2e
fixed max32680 btle reference
Aug 21, 2023
dc12236
typecase around volatile
EricB-ADI Aug 21, 2023
761a63c
updated fcc for max32690
EricB-ADI Aug 21, 2023
304f65c
added references for AFE setup and done
EricB-ADI Aug 21, 2023
7282e7f
clang-format bot reformatting.
EricB-ADI Aug 21, 2023
ad85a57
updated 680 hart_uart
Aug 22, 2023
26d1501
restore libphy
Aug 22, 2023
64b2055
fixed bug for selection of tx powers
Aug 23, 2023
6f5605b
added api to get possible tx powers
Aug 23, 2023
f3fe2c4
clang-format bot reformatting.
EricB-ADI Aug 23, 2023
aeba3cf
Merge branch 'main' into fix/me18_gcr
sihyung-maxim Sep 6, 2023
7daa867
added versioning API
EricB-ADI Oct 11, 2023
619cee1
fix(CMSIS, PeriphDrivers): Fix "warning: _kill/_getpid is not impleme…
Jake-Carter Sep 6, 2023
136ab7b
feat(PeriphDrivers,CMSIS): Add support for multiple I2C target addres…
Jacob-Scheiffler Sep 8, 2023
48552b2
fix(BLE): Always stop atts service discovery idle timers to make sure…
khpeterson Sep 12, 2023
1f05924
feat(PeriphDrivers)!: Add support for configuring GPIO Drive Strength…
sihyung-maxim Sep 18, 2023
4907f9a
fix(Build): Fix ".elf has a LOAD segment with RWX permissions" Linker…
Jake-Carter Sep 18, 2023
0822a7b
fix(workflow): Add token secret to clang-format-run workflow to retri…
sihyung-maxim Sep 18, 2023
863da39
feat(Examples): Add generic I2C RX/TX DMA vector flexibility to I2C e…
sihyung-maxim Sep 19, 2023
d776995
feat(Build): Update VS Code Project Files for Native Make (#721)
Jake-Carter Sep 19, 2023
13f8deb
feat(Examples): Add CLI Library to MSDK (#679)
Suraj-Ajjampur Sep 21, 2023
2f91db2
fix(Examples): Removed dead submodule (#741)
EricB-ADI Sep 21, 2023
6a09801
fix(Examples): Fix 'this device cannot start COM port' error in MAX32…
karaanil Sep 21, 2023
cf16465
perf(Examples,PeriphDrivers): Reset USB block when operating in low p…
sihyung-maxim Sep 21, 2023
081e8f2
fix(SDHC)!: Fix SDHC Formats Card Size Incorrectly, Update FatFS to R…
Jake-Carter Sep 21, 2023
7ad58e7
fix(BLE): Fix PalFlashEraseSector, Decrement Erase by Sector Size (#726)
EdwinFairchild Sep 21, 2023
8a63216
feat(BLE, Examples): Add coded PHY long range demo on MAX32665 (#740)
yc-adi Sep 25, 2023
db4b83f
fix(Examples): Bug fix for MAX32670 SPI example (#739)
Jacob-Scheiffler Sep 25, 2023
fb3a57d
feat(PeriphDrivers): MSDK 1238: Add a way to remove clk and gpio init…
ozersa Sep 25, 2023
6e2950a
fix(SDHC): Fix SDHC Get Capacity and Implement Get Sectors functional…
karaanil Sep 26, 2023
1718d92
fix(workflow): Fix clang-format-run token access (#743)
sihyung-maxim Sep 26, 2023
3c326d9
feat(Build): Add Helper String to Build Output (#742)
Jake-Carter Sep 26, 2023
75625fe
fix(SDHC): Remove second definition of SDHC_CLK_FREQ in sdhc_lib.h to…
Jacob-Scheiffler Sep 28, 2023
3dad371
perf(Examples): Cats&Dogs model parameters updated for MAX78000 demos…
ermanok Sep 28, 2023
f9d77f5
feat(Examples,PeriphDrivers)!: Update SPI v2 Implementation and add T…
sihyung-maxim Oct 2, 2023
e8ab832
fix(MiscDrivers): Allow valid param `address + txlen <= W25_DEVICE_SI…
khpeterson Oct 2, 2023
e2ebddb
fix(ThirdParty,Examples): Add missing dependencies to LVGL makefiles …
lorne-maxim Oct 6, 2023
387f1ee
fix(Build): Add statement to MAX32680 linker description file placing…
lorne-maxim Oct 6, 2023
2760d1a
fix(Examples,PeriphDrivers): Fix SPI FIFO register access causing swa…
sihyung-maxim Oct 6, 2023
dcf22c5
fix(Examples): Decrease the delay in the MAX32680 Watchdog example to…
lorne-maxim Oct 6, 2023
1009e16
fix(Build): Load MSYS2 Before Native Windows Make (#757)
Jake-Carter Oct 6, 2023
94eaecb
fix(CMSIS, PeriphDrivers, Examples): Bug fixes for ME13, ME14 and ME1…
Jacob-Scheiffler Oct 6, 2023
5453ca1
fix(Examples): Fix RTC and RTC_Backup Example ERFO Initialization for…
Jake-Carter Oct 9, 2023
29c1a25
fix(workflow): Fix Documentation/build.py error When Directory Doesn'…
Jake-Carter Oct 11, 2023
85475bc
fix(PeriphDrivers): MSDK-1242: Fix false stop detection in I2C interr…
Jacob-Scheiffler Oct 12, 2023
1d63e32
fix(BLE): Remove Unused Tools (#768)
EricB-ADI Oct 12, 2023
af7866a
fix(BLE,Build): Fix default PAL_NVM_SIZE, add compiler checks for NVM…
EdwinFairchild Oct 24, 2023
52eda91
Merge branch 'main' into fix/me18_gcr
EricB-ADI Oct 30, 2023
fee0484
conn update bug
EricB-ADI Nov 21, 2023
9a6999b
got rid of redundant check
EricB-ADI Nov 22, 2023
24b1f3f
udate to add HCI commands and deleted uneccesary tools
EricB-ADI Nov 27, 2023
fc4d623
refactored libphy
EricB-ADI Jan 16, 2024
1c027f9
merge main
EricB-ADI Jan 16, 2024
441796f
got rid of warnings in build
EricB-ADI Jan 16, 2024
e59fb11
updated FCC examples
EricB-ADI Jan 16, 2024
b235d4a
updated usage string
EricB-ADI Jan 16, 2024
901d4cb
clang-format bot reformatting.
EricB-ADI Jan 16, 2024
451cb59
update libphy 690
EricB-ADI Jan 17, 2024
9ac243f
rebuild
EricB-ADI Jan 17, 2024
6784cbc
worked obw issue out for ME17
EricB-ADI Jan 26, 2024
5e747ea
obw fix preventing connections
EricB-ADI Jan 26, 2024
2f3b99f
fixed warning and deleted unlinked function
EricB-ADI Jan 30, 2024
bf0eec0
removed unused api and fixed restrict warning
EricB-ADI Jan 30, 2024
00d1bb0
cleaned up rf test code
EricB-ADI Jan 30, 2024
64955b7
cleanup
EricB-ADI Jan 30, 2024
40dd52f
reformatted help str
EricB-ADI Jan 30, 2024
1d5410d
fixed secure connection bug
EricB-ADI Feb 6, 2024
8ce47f2
bump
EricB-ADI Feb 6, 2024
a5c291b
fixed bug with spurious GPIO during initialization in dats
EricB-ADI Feb 6, 2024
ec19328
added tmr fix to other ble chips
EricB-ADI Feb 6, 2024
789b370
added trace message
EricB-ADI Feb 6, 2024
fd29a4f
clang-format bot reformatting.
EricB-ADI Feb 6, 2024
59f8756
added chip definitions to config.mk for cordio
EricB-ADI Feb 6, 2024
87f588e
fix fcc example for 665
EricB-ADI Feb 6, 2024
523a750
clang-format bot reformatting.
EricB-ADI Feb 6, 2024
ff7e9a6
removed tool from Bluetooth folder
EricB-ADI Feb 6, 2024
a891b9a
added missing header to pal flash
EricB-ADI Feb 6, 2024
cc87602
lint fix
EricB-ADI Feb 6, 2024
965bf0f
add newline at end of file'
EricB-ADI Feb 6, 2024
945b92b
clang needs update for eof add new line
EricB-ADI Feb 6, 2024
ec0ab3c
lint example
EricB-ADI Feb 6, 2024
a7e6bfd
Merge branch 'main' into fix/me18_gcr
EricB-ADI Feb 6, 2024
11e4c73
bump small change
EricB-ADI Feb 6, 2024
07fbc54
bump phy
EricB-ADI Feb 7, 2024
4a626b8
updated return check for rssi
EricB-ADI Feb 7, 2024
c83468b
fixed spurious interrupt bug upon initialization
EricB-ADI Feb 14, 2024
bc84516
fixed spurious interrupt bug with trimming
EricB-ADI Feb 27, 2024
9cc5982
DEBUG: Adding debug version of libphy.a
kevin-gillespie May 14, 2024
1d82a5e
Using the TIFS time definitions.
kevin-gillespie May 14, 2024
62e90e1
DEBUG: Removing debugging breakpoint.
kevin-gillespie May 14, 2024
dde4df5
Simplifying LED driver.
kevin-gillespie May 15, 2024
d95b34f
Making the CPU LED green.
kevin-gillespie May 15, 2024
45c20e0
Deconflicting Nordic LEDs.
kevin-gillespie May 17, 2024
1693a3c
Removing appCoded global.
kevin-gillespie May 17, 2024
c9df795
Adding package options definitions.
kevin-gillespie May 24, 2024
38d570c
Adding WLP_BLE_PERF board.
kevin-gillespie May 24, 2024
35eba80
readd fast led
EricB-ADI May 24, 2024
05e6f4a
fixed token error
EricB-ADI May 24, 2024
221814f
Adding commit to version information.
kevin-gillespie May 28, 2024
c12940f
Merge remote-tracking branch 'origin/fix/me18_gcr' into fix/me18_gcr
kevin-gillespie May 28, 2024
34b5d9d
added arena allocator and reworked dtm allocations
EricB-ADI May 29, 2024
48bd8aa
use arena allocator for dtm
EricB-ADI May 29, 2024
6fd5dec
updated pool size for a dtm pool
EricB-ADI May 29, 2024
ccadd37
fixed token error
EricB-ADI May 29, 2024
be22aef
added ref count with all bbstop
EricB-ADI May 29, 2024
398a191
remove xtra ref decrement
EricB-ADI May 29, 2024
1e5f367
remove xtra ref decrement
EricB-ADI May 29, 2024
e096d46
made cb volatile
EricB-ADI May 29, 2024
0a1479d
ref coun decrement in abort
EricB-ADI May 29, 2024
cb9a265
debug
EricB-ADI May 29, 2024
fb43f34
readd assert
EricB-ADI May 29, 2024
35c933c
added test over to abort
EricB-ADI May 29, 2024
0815d4d
moved arena allocato to own file
EricB-ADI May 29, 2024
1afb4c2
added arena source to freertos
EricB-ADI May 29, 2024
126dbfd
clean up debug
EricB-ADI May 29, 2024
c86c4b7
added arena header
EricB-ADI May 29, 2024
903c783
added hardfp phy
EricB-ADI Jun 28, 2024
f203f81
fix(BLE): Compiling PAL with interrupt handlers. (#1039)
kevin-gillespie Jul 10, 2024
4f4996c
merge main
EricB-ADI Jul 30, 2024
184cf49
updated readme for ble tools
EricB-ADI Jul 30, 2024
7efda1b
removed merge markers
EricB-ADI Aug 12, 2024
0aad6c9
added yml file
EricB-ADI Aug 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 22 additions & 1 deletion .github/workflows/Verify_Register_SVD.yml
Original file line number Diff line number Diff line change
Expand Up @@ -635,5 +635,26 @@ jobs:
fi
done
set -e


# Remove generated register files for next time a runner picks up the job.
# The register files generated in a previous instance will remain and won't
# be regenerated because the Wall-E doesn't refresh its workspace and this
# workflow only generates the register files for a specific part only once
# (to save time) by checking whether the generated register files exist or not.
cd ${{ env.MSDK-INTERNAL_DIR }}/SVD/Devices/

# Enter each directory and remove ./chip_test/
for file_dir in *
do
# Don't mess with files.
[[ -d $file_dir ]] || continue

if [[ ${DIE_TO_CHIP_NAMES[$file_dir]+_} ]]; then
rm -rf ./${file_dir}/chip_test/
fi
done

# Return to workspace
cd ../../../

exit $CHECK_FAIL
114 changes: 71 additions & 43 deletions Examples/MAX32655/BLE_fcc/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
/*************************************************************************************************/

#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include "ll_init_api.h"
#include "chci_tr.h"
Expand All @@ -37,8 +38,8 @@
#include "bb_ble_sniffer_api.h"
#include "pal_bb.h"
#include "pal_cfg.h"
#include "pal_radio.h"
#include "tmr.h"

/**************************************************************************************************
Definitions
**************************************************************************************************/
Expand All @@ -47,7 +48,12 @@
#define PLATFORM_UART_TERMINAL_BUFFER_SIZE 2048U

#define FREQ_HOP_PERIOD_US 20000
typedef enum {
PAL_BB_CW,
PAL_BB_PRBS9,
PAL_BB_PRBS15,

} PalBbDbbPrbsType_t;
/**************************************************************************************************
Global Variables
**************************************************************************************************/
Expand All @@ -62,16 +68,20 @@ static uint8_t phy = LL_PHY_LE_1M;
static uint8_t phy_str[16];
static uint8_t txFreqHopCh;

static uint32_t numTxPowers;
static int8_t *txPowersAvailable;
/**************************************************************************************************
Functions
**************************************************************************************************/

/*! \brief Physical layer functions. */
extern void llc_api_set_txpower(int8_t power);
extern void dbb_seq_select_rf_channel(uint32_t rf_channel);
extern void llc_api_tx_ldo_setup(void);
extern void dbb_seq_tx_enable(void);
extern void dbb_seq_tx_disable(void);

extern bool_t PalBbAfeSetTxPower(int8_t txPower);
extern void PalBbAfeSetChannelTx(uint8_t rfChannel);
extern void PalBbDbbEnablePatternGen(PalBbDbbPrbsType_t prbsType);
extern void PalBbDbbDisablePatternGen(void);
extern bool_t PalBbAfeTxSetup(void);
extern bool_t PalBbAfeTxDone(void);

/*************************************************************************************************/
/*!
Expand Down Expand Up @@ -135,6 +145,24 @@ void TMR2_IRQHandler(void)
MXC_TMR_EnableInt(MXC_TMR2);
}

/*************************************************************************************************/
/*!

* \brief Print all available TX Powers the radio is capable of.
*
* \param None.
*
* \return None.
*/
/*************************************************************************************************/
static void printAvailablePowers(void)
{
uint8_t top = numTxPowers > 9 ? 9 : numTxPowers;

for (uint32_t i = 0; i < top; i++) {
APP_TRACE_INFO2("%u: %d", i, txPowersAvailable[i]);
}
}
/*************************************************************************************************/
/*!
* \fn Usage statement
Expand Down Expand Up @@ -193,7 +221,7 @@ static void processConsoleRX(uint8_t rxByte)

APP_TRACE_INFO1("Transmit RF channel 0, 255 bytes/pkt, 0xAA, %s, forever ..",
getPhyStr(phy));
res = LlEnhancedTxTest(0, 255, LL_TEST_PKT_TYPE_AA, phy, 0);
res = LlEnhancedTxTest(0, 255, LL_TEST_PKT_TYPE_PRBS9, phy, 0);
APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
cmd = 0;
break;
Expand All @@ -202,7 +230,7 @@ static void processConsoleRX(uint8_t rxByte)

APP_TRACE_INFO1("Transmit RF channel 19, 255 bytes/pkt, 0xAA, %s, forever ..",
getPhyStr(phy));
res = LlEnhancedTxTest(19, 255, LL_TEST_PKT_TYPE_AA, phy, 0);
res = LlEnhancedTxTest(19, 255, LL_TEST_PKT_TYPE_PRBS9, phy, 0);
APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
cmd = 0;
break;
Expand All @@ -211,7 +239,7 @@ static void processConsoleRX(uint8_t rxByte)

APP_TRACE_INFO1("Transmit RF channel 39, 255 bytes/pkt, 0xAA, %s, forever ..",
getPhyStr(phy));
res = LlEnhancedTxTest(39, 255, LL_TEST_PKT_TYPE_AA, phy, 0);
res = LlEnhancedTxTest(39, 255, LL_TEST_PKT_TYPE_PRBS9, phy, 0);
APP_TRACE_INFO2("res = %u %s", res, res == LL_SUCCESS ? "(SUCCESS)" : "(FAIL)");
cmd = 0;
break;
Expand All @@ -225,40 +253,26 @@ static void processConsoleRX(uint8_t rxByte)
break;

case '4':
PalBbEnable();

if (param == 0) {
APP_TRACE_INFO0("Select transmit power");
APP_TRACE_INFO0(" 0: -10 dBm");
APP_TRACE_INFO0(" 1: 0 dBm");
APP_TRACE_INFO0(" 2: 4.5 dBm");
printAvailablePowers();
break;
}
} else if (param >= '0' && param <= '0' + numTxPowers) {
PalBbAfeSetTxPower(txPowersAvailable[param - '0']);
LlSetAdvTxPower(txPowersAvailable[param - '0']);
APP_TRACE_INFO1("Power set to %d dBm", txPowersAvailable[param - '0']);

switch (param) {
case '0':
llc_api_set_txpower(-10);
LlSetAdvTxPower(-10);
APP_TRACE_INFO0("Power set to -10 dBm");
break;
case '1':
llc_api_set_txpower(0);
LlSetAdvTxPower(0);
APP_TRACE_INFO0("Power set to 0 dBm");
break;
case '2':
llc_api_set_txpower(4);
LlSetAdvTxPower(4);
APP_TRACE_INFO0("Power set to 4.5 dBm");
break;
default:
} else if (param < '0' || param > '9') {
APP_TRACE_INFO0("Invalid selection");
break;
}

cmd = 0;
param = 0;
break;

case '5':
PalBbEnable();
if (param == 0) {
APP_TRACE_INFO0("Select transmit channel");
APP_TRACE_INFO0(" 0: 0");
Expand All @@ -269,15 +283,15 @@ static void processConsoleRX(uint8_t rxByte)

switch (param) {
case '0':
dbb_seq_select_rf_channel(0);
PalBbAfeSetChannelTx(0);
APP_TRACE_INFO0("Channel set to 0");
break;
case '1':
dbb_seq_select_rf_channel(19);
PalBbAfeSetChannelTx(19);
APP_TRACE_INFO0("Channel set to 19");
break;
case '2':
dbb_seq_select_rf_channel(39);
PalBbAfeSetChannelTx(39);
APP_TRACE_INFO0("Channel set to 39");
break;
default:
Expand All @@ -287,12 +301,9 @@ static void processConsoleRX(uint8_t rxByte)

APP_TRACE_INFO0("Starting TX");

PalBbEnable();

llc_api_tx_ldo_setup();

/* Enable constant TX */
dbb_seq_tx_enable();
PalBbAfeTxSetup();
PalBbDbbEnablePatternGen(PAL_BB_CW);

cmd = 0;
param = 0;
Expand All @@ -302,8 +313,9 @@ static void processConsoleRX(uint8_t rxByte)
APP_TRACE_INFO0("Disabling TX");

/* Disable constant TX */
dbb_seq_tx_disable();

PalBbAfeTxDone();
PalBbDbbDisablePatternGen();
PalBbDisable();

cmd = 0;
Expand Down Expand Up @@ -353,7 +365,6 @@ static void processConsoleRX(uint8_t rxByte)
MXC_TMR_EnableInt(MXC_TMR2);
cmd = 0;
break;

case 'E':
case 'e':

Expand Down Expand Up @@ -388,7 +399,6 @@ static void mainLoadConfiguration(void)
LlGetDefaultRunTimeCfg(&mainLlRtCfg);
PalCfgLoadData(PAL_CFG_ID_LL_PARAM, &mainLlRtCfg.maxAdvSets, sizeof(LlRtCfg_t) - 9);
PalCfgLoadData(PAL_CFG_ID_BLE_PHY, &mainLlRtCfg.phy2mSup, 4);

/* Set 5.1 requirements. */
mainLlRtCfg.btVer = LL_VER_BT_CORE_SPEC_5_0;

Expand All @@ -404,6 +414,23 @@ static void mainLoadConfiguration(void)
*/
mainBbRtCfg.clkPpm = 20;
}
/*************************************************************************************************/
/*!
* \brief Initialize Tx Powers Available for use
*/
/*************************************************************************************************/
static void mainInitTxPowers(void)
{
numTxPowers = PalRadioGetNumAvailableTxPowers();
txPowersAvailable = malloc(numTxPowers * sizeof(int8_t));

if (txPowersAvailable == NULL) {
APP_TRACE_ERR0("Failed to get number of available TX powers.");
APP_TRACE_ERR0("Malloc returned NULL");
}

numTxPowers = PalRadioGetAvailableTxPowers(txPowersAvailable, numTxPowers);
}

/*************************************************************************************************/
/*!
Expand Down Expand Up @@ -492,6 +519,7 @@ int main(void)

mainLoadConfiguration();
mainWsfInit();
mainInitTxPowers();

#if (WSF_TRACE_ENABLED == TRUE)
WsfCsEnter();
Expand Down
Loading
Loading