kopia lustrzana https://github.com/mikaelnousiainen/RS41ng
move to big FIFO buffer. Had to implement a recommendation from the errata
rodzic
1ec1fc623f
commit
22abb5857b
|
@ -591,6 +591,7 @@ void si4063_configure()
|
|||
0x03, // 0x03 = GLOBAL_CONFIG
|
||||
0x40 | // 0x40 = Reserved, needs to be set to 1
|
||||
0x20 | // 0x20 = Fast sequencer mode
|
||||
0x10 | // 129-byte FIFO
|
||||
0x00 // High-performance mode
|
||||
};
|
||||
|
||||
|
@ -657,6 +658,31 @@ void si4063_configure()
|
|||
|
||||
si4063_send_command(SI4063_COMMAND_SET_PROPERTY, sizeof(data), data);
|
||||
}
|
||||
|
||||
{
|
||||
/*
|
||||
2. Detailed Errata Descriptions
|
||||
2.1 If Configured to Skip Sync and Preamble on Transmit, the TX Data from the FIFO is Corrupted
|
||||
Description of Errata
|
||||
If preamble and sync word are excluded from the transmitted data (PREMABLE_TX_LENGTH = 0 and SYNC_CONFIG: SKIP_TX = 1), data from the FIFO is not transmitted correctly.
|
||||
Affected Conditions / Impacts
|
||||
Some number of missed bytes will occur at the beginning of the packet and some number of repeated bytes at the end of the packet.
|
||||
Workaround
|
||||
Set PKT_FIELD_1_CRC_CONFIG: CRC_START to 1. This will trigger the packet handler and result in transmitting the correct data,
|
||||
while still not sending a CRC unless enabled in a FIELD configuration. A fix has been identified and will be included in a future release
|
||||
*/
|
||||
|
||||
// In other words, without this, the FIFO buffer gets corrupted while TXing, because we're not using
|
||||
// the preamble/sync word stuff
|
||||
// To be clear - we're not doing any CRC stuff! This is just the recommended workaround
|
||||
uint8_t data[] = {
|
||||
0x12, // Group
|
||||
0x01, // Set 1 property
|
||||
0x10, // PKT_FIELD_1_CRC_CONFIG
|
||||
0x80, // CRC_START
|
||||
};
|
||||
si4063_send_command(SI4063_COMMAND_SET_PROPERTY, sizeof(data), data);
|
||||
}
|
||||
}
|
||||
|
||||
// Not used yet, for future use
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#include "log.h"
|
||||
|
||||
#define CATS_PREAMBLE_BYTE 0x55
|
||||
#define CATS_PREAMBLE_LENGTH 40
|
||||
#define CATS_PREAMBLE_LENGTH 4
|
||||
#define CATS_SYNC_WORD 0xABCDEF12
|
||||
#define CATS_SYNC_WORD_LENGTH 4
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue