Hi
BER test between 2 Wilink devices unable to calculate. We followed the below steps and could not validate the BER from the trace log.
What is the Opcode for HCI_VS_DRP_Read_BER_Meter_Status?
Send_HCI_VS_DRP_Read_BER_Meter_Status 0xFD5B
Send_HCI_VS_DRP_Read_BER_Meter_Status 0xFD13
Vendor specific command Opcode is different compared with script from the Wiki page.
Attached the command executed for TX and RX
Trace log: 7762.HCITester Trace Log.htm
TX:
#Send_HCI_Read_BD_ADDR #BD Address 74:E1:82:2B:52:CE converted to MSB~LSB 0xCE522B82E174 #Send_HCI_VS_Write_BD_ADDR 0xFC06, BD_ADDR #Wait_HCI_Command_Complete_VS_Write_BD_ADDR_Event 5000, any, HCI_VS_Write_BD_ADDR, 0x00 Send_HCI_VS_DRPb_Enable_RF_Calibration_Enhanced 0xFDFB, 1, 0xFF, 0x00000000, 0x01 Wait_HCI_Command_Complete_VS_DRPb_Enable_RF_Calibration_Enhanced_Event 5000, any, HCI_VS_DRPb_Enable_RF_Calibration_Enhanced, 0x00 sleep 1000 # Sent Tx Packets Send_HCI_VS_DRPb_Tester_Packet_TX_RX 0xFDCC, 0x5, 3, 2402, 0xFFFF, 5, 0, 339, 5, 1, 0x01FF Wait_HCI_Command_Complete_VS_DRPb_Tester_Packet_TX_RX_Event 5000, any, HCI_VS_DRPb_Tester_Packet_TX_RX, 0x00
$l10
count = 0
#Subtitute the BD_ADDR of Transmitter 0xCE522B82E174
#DH5, 339 packet size x 8 bits x 590 packets = 1.6Mbits
#BD address = that of the TX board
Send_HCI_VS_DRPb_BER_Meter_Start 0xFD8B, 0, 0, 0xCE522B82E174, 1, 0x5, 339, 590, 0x1FF, 0x1
Wait_HCI_Command_Complete_VS_DRPb_BER_Meter_Start_Event 5000, any, HCI_VS_DRPb_BER_Meter_Start, 0x00
#
$l11
Sleep 100
count++
Send_HCI_VS_DRP_Read_BER_Meter_Status 0xFD5B
Wait_HCI_Command_Complete_VS_DRP_Read_BER_Meter_Status_Event 5000, any, HCI_VS_DRP_Read_BER_Meter_Status, 0x00, &synched, &finished, any, &total_bits, &bit_errors, &packets
if finished== 0 then
if synched == 0 then
log"not synced yet %d count",count
#Fail "no SYNC"
else
log"not finished yet %d packets, coutn %d",packets,count
endif
goto $l11
else
BER = 1000000*bit_errors/total_bits
log"BER is %d e-6 (%d bits out of %d)",1000000*bit_errors/total_bits,bit_errors,total_bits
if BER > 100 then
Fail "BER is too high"
else
pause "Finished"
endif
endif
#pause""
goto $l10
