Skip to content

Commit 41b25d5

Browse files
author
Jarkko Paso
committed
S2-LP: Preamble configuration to follow Wi-SUN FAN specification
1 parent a183033 commit 41b25d5

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

components/802.15.4_RF/stm-s2lp-rf-driver/source/NanostackRfPhys2lp.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,19 @@ static void rf_set_channel_configuration_registers(void)
543543
rf_channel_multiplier++;
544544
}
545545
rf_write_register(CHSPACE, ch_space);
546+
/* Preamble is set for S2-LP as repetitions of 01 or 10 pair
547+
*
548+
* For datarate < 150kbps, using phyFskPreambleLength = 8 repetitions of 01010101
549+
* For datarate >= 150kbps and datarate < 300kbps, using phyFskPreambleLength = 12 repetitions of 01010101
550+
* For datarate >= 300kbps, using phyFskPreambleLength = 24 repetitions of 01010101
551+
*/
552+
uint8_t preamble_len = 24 * 4;
553+
if (phy_subghz.datarate < 150000) {
554+
preamble_len = 8 * 4;
555+
} else if (phy_subghz.datarate < 300000) {
556+
preamble_len = 12 * 4;
557+
}
558+
rf_write_register(PCKTCTRL5, preamble_len);
546559
}
547560

548561
static void rf_init_registers(void)
@@ -557,7 +570,6 @@ static void rf_init_registers(void)
557570
rf_write_register_field(PCKTCTRL2, PCKT_FCS_TYPE_FIELD, PCKT_FCS_TYPE_4_OCTET);
558571
rf_write_register_field(PCKTCTRL3, PCKT_RXMODE_FIELD, PCKT_RXMODE_NORMAL);
559572
rf_write_register_field(PCKTCTRL3, PCKT_BYTE_SWAP_FIELD, PCKT_BYTE_SWAP_LSB);
560-
rf_write_register(PCKTCTRL5, PCKT_PREAMBLE_LEN);
561573
rf_write_register_field(PCKTCTRL6, PCKT_SYNCLEN_FIELD, PCKT_SYNCLEN);
562574
rf_write_register_field(QI, PQI_TH_FIELD, PQI_TH);
563575
rf_write_register_field(QI, SQI_EN_FIELD, SQI_EN);

0 commit comments

Comments
 (0)