FORUM

SX1280 Ranging timeout

Hi,

I am testing the SX1280 ranging, the LoRa sending between two board is OK.
But the ranging, the TX will report error, and RX will not receiving anything.
I don’t know where is the configuration error? I just attach the code and logs…

void initRaning(){
SX1280SetStandby( STDBY_XOSC );
SX1280SetRegulatorMode( USE_DCDC );
SX1280SetPacketType(PACKET_TYPE_RANGING);

modulationParamsx.PacketType =PACKET_TYPE_RANGING;
modulationParamsx.Params.LoRa.SpreadingFactor = LORA_SF6;
modulationParamsx.Params.LoRa.Bandwidth       = LORA_BW_1600;
modulationParamsx.Params.LoRa.CodingRate      = LORA_CR_4_5;

SX1280SetModulationParams(&modulationParamsx);

packetParamsx.PacketType     = PACKET_TYPE_RANGING;
packetParamsx.Params.LoRa.PreambleLength = 12u;
packetParamsx.Params.LoRa.HeaderType     = LORA_PACKET_VARIABLE_LENGTH;
packetParamsx.Params.LoRa.CrcMode        = LORA_CRC_ON;
packetParamsx.Params.LoRa.InvertIQ       = LORA_IQ_NORMAL;
packetParamsx.Params.LoRa.PayloadLength  = 10;

SX1280SetPacketParams(&packetParamsx);

uint8_t addrArray[] = {0x1e };
SX1280HalWriteRegisters( 0x925, addrArray, 1 );
SX1280SetRfFrequency(2400000000);
SX1280SetTxParams(DemoSettings.TxPower,RADIO_RAMP_20_US);

SX1280SetBufferBaseAddresses( 0x00u, 0x00u );
SX1280HalWriteRegister( REG_LNA_REGIME, SX1280HalReadRegister( REG_LNA_REGIME ) & ~MASK_LNA_REGIME );

DemoSettings.RngAddress = 0x1232eeff;

}

void setRangingMaster(){

initRaning();
SX1280SetRangingRequestAddress(DemoSettings.RngAddress);

//master
SX1280SetDioIrqParams( IRQ_RADIO_ALL,
                       IRQ_RADIO_ALL,
                       IRQ_RADIO_NONE, IRQ_RADIO_NONE);

SX1280SetRangingCalibration( DemoSettings.RngCalib );
SX1280SetRangingRole(1); //Master
SX1280SetTx( ( TickTime_t ){ RADIO_TICK_SIZE_0015_US, 0xFFFF });

}

void setRangingSlave(){

initRaning();
SX1280SetDeviceRangingAddress(DemoSettings.RngAddress);
SX1280SetDeviceRangingAddressFilter(0);

SX1280SetDioIrqParams( IRQ_RADIO_ALL,
                       IRQ_RADIO_ALL,
                       IRQ_RADIO_NONE, IRQ_RADIO_NONE);
SX1280SetRangingCalibration( DemoSettings.RngCalib );
SX1280SetRangingRole(0); //Slave
SX1280SetRx( ( TickTime_t ){ RADIO_TICK_SIZE_0015_US, 0xFFFF });

}

Here is the log of master

set ranging parameters
set radio parameters
SX1280GetFirmwareVersion
19 01 53 00 00
ff 57 57 00 00
data = 00
19 01 54 00 00
55 57 57 57 b7
data = b7
Ranging Demo as Master , firmware 183

SX1280SetStandby =01
80 01

SX1280SetRegulatorMode 1
96 01

SX1280SetPacketType 2
8a 02

SX1280SetModulationParams 02
8b 60 0a 01

SX1280SetPacketParams 02
8c 0c 00 0a 20 40 00 00

SX1280HalWriteRegisters address 925 buffersize=1
18 09 25 1e

SX1280SetRfFrequency -1794967296
86 c0 4e c4

SX1280SetTxParams 13
8e 1f e0

SX1280SetBufferBaseAddresses 00 00
8f 00 00

lora_2_4g_read_reg_values 19 size=5
19 08 91 00 00
65 67 67 67 25
data = 25

SX1280HalWriteRegisters address 891 buffersize=1
18 08 91 25

SX1280SetRangingRequestAddress 1232eeff
SX1280HalWriteRegisters address 912 buffersize=4
18 09 12 12 32 ee ff

SX1280SetDioIrqParams
8d ff ff ff ff 00 00 00 00

SX1280SetRangingCalibration 00
SX1280HalWriteRegisters address 92c buffersize=1
18 09 2c 00

SX1280HalWriteRegisters address 92d buffersize=1
18 09 2d 00

SX1280SetRangingRole 01
a3 01

SX1280SetTx timeout=65535 type=0
SX1280ClearIrqStatus
97 ff ff

#######################ERROR#IRQ_RANGING_MASTER_RESULT_TIMEOUT############################
c0 00 00
45 40 43
SX1280GetStatus =43
status =43

#################SX1280ProcessIrqs pollingMode 0 ##########
clear Irq
SX1280GetIrqStatus
15 00 00 00
41 43 04 00

SX1280ClearIrqStatus
97 ff ff

packetType RANGING
#####irq IRQ_RANGING_MASTER_RESULT_TIMEOUT
OnRangingDone to 2

SX1280GetPacketStatus
1d 00 00 00 00 00 00
45 47 00 00 00 00 00
PacketType: 2
RssiPkt: 0
SnrPkt: 0
SyncError: 0
LengthError: 0
CrcError: 0
AbortError: 0
HeaderReceived: 0
PacketReceived: 0
PacketControlerBusy: 0
RxNoAck: 0
PacketSent: 0
SyncAddrStatus: 0