Closed FoujanetG closed 7 years ago
Hi,
FSK Fifo is 64 byte length. With fifolevel interrupt, SX1272 driver can begin read fifo before it is full using DIO1. This allows transmit frame over 64 bit.
First check if your are using the last driver version ( v4.1 released 3 days ago ). This version fix this bug.
Then, check REG_FIFOTHRESH value in your init, and check if DIO1 is correctly handled.
Thomas
Hi,
thanks for you response. Yes I use the new release, and DIO1 is configure as DIO0. But the register REG_FIFOTHRESH is apparently not used for the configuration in the sx1276.c file. Have you tried the ping pong example in FSK Mode and a bugger longer than 64 bytes?
thanks a lot, Guillaume
Actually we have forgot to add the following line to the SX1276 driver. The SX1272 driver has it.
memcpy1( RxTxBuffer, buffer, size );
The function to be modified is the follwoing
void SX1276Send( uint8_t *buffer, uint8_t size )
{
uint32_t txTimeout = 0;
switch( SX1276.Settings.Modem )
{
case MODEM_FSK:
{
SX1276.Settings.FskPacketHandler.NbBytes = 0;
SX1276.Settings.FskPacketHandler.Size = size;
if( SX1276.Settings.Fsk.FixLen == false )
{
SX1276WriteFifo( ( uint8_t* )&size, 1 );
}
else
{
SX1276Write( REG_PAYLOADLENGTH, size );
}
if( ( size > 0 ) && ( size <= 64 ) )
{
SX1276.Settings.FskPacketHandler.ChunkSize = size;
}
else
{
memcpy1( RxTxBuffer, buffer, size );
SX1276.Settings.FskPacketHandler.ChunkSize = 32;
}
// Write payload buffer
SX1276WriteFifo( buffer, SX1276.Settings.FskPacketHandler.ChunkSize );
SX1276.Settings.FskPacketHandler.NbBytes += SX1276.Settings.FskPacketHandler.ChunkSize;
txTimeout = SX1276.Settings.Fsk.TxTimeout;
}
break;
We will apply this patch to the develop branch as soon as possible.
Thank you, it's working.
Guillaume.
the patch works. "We will apply this patch to the develop branch as soon as possible."
sorry, I re-open the comment.
The patch work with a size buffer = 120; But it doesn't work with a buffer size = 250.
What is the maximum buffer size I can use? I thought that it was 256.
thanks, guillaume
Can we close this issue?
how to use sx1278 in gmsk mode?
I need to receive data from a radio ( http://pacificcrest.com/library/DS_ADL_Vantage35.pdf ) with the Sx1278 using teensy.
@mwruschel I would suggest opening a new issue instead of commenting on this closed one.
Hi,
I am trying the FSK mode with the Ping Pong Example. With a buffer size = 64, it's working well.
Then I try with a buffer longer(size = 200).( All bytes are filled) The radio transfer works, 32 first bytes are ok, but bytes 33 to 199 are egual to zero.
Are you already checked the FSK mode with the radio driver and a frame longer than 64 bytes?
Thanks, Guillaume.