2020-04-17 08:34:33 +02:00
|
|
|
|
# Copyright (c) 2020 Freie Universitaet Berlin
|
2022-03-09 09:11:27 +01:00
|
|
|
|
# 2022 HAW Hamburg
|
2020-04-17 08:34:33 +02:00
|
|
|
|
#
|
|
|
|
|
# This file is subject to the terms and conditions of the GNU Lesser
|
|
|
|
|
# General Public License v2.1. See the file LICENSE in the top level
|
|
|
|
|
# directory for more details.
|
|
|
|
|
#
|
2020-09-07 23:37:06 +02:00
|
|
|
|
|
2024-03-26 10:41:15 +01:00
|
|
|
|
if USEMODULE_AT86RF215
|
2020-09-07 01:03:39 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
menu "Modulations"
|
2020-04-17 08:34:33 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
menuconfig AT86RF215_OQPSK
|
|
|
|
|
bool "O-QPSK support"
|
|
|
|
|
default y
|
2020-06-11 15:05:21 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
if AT86RF215_OQPSK
|
2020-06-11 15:05:21 +02:00
|
|
|
|
|
2020-06-08 23:04:50 +02:00
|
|
|
|
choice
|
2022-03-09 09:11:27 +01:00
|
|
|
|
bool "Default (legacy) O-QPSK rate mode"
|
|
|
|
|
default AT86RF215_OQPSK_RATE_LOW
|
2020-06-08 23:04:50 +02:00
|
|
|
|
help
|
2022-03-09 09:11:27 +01:00
|
|
|
|
The at86rf215 supports proprietary high data rates that are compatible
|
|
|
|
|
with the at86rf2xx parts.
|
|
|
|
|
If unsure, select low rate.
|
2020-06-08 23:04:50 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
config AT86RF215_OQPSK_RATE_LOW
|
|
|
|
|
bool "Low rate mode (compatible)"
|
2020-06-08 23:04:50 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
config AT86RF215_OQPSK_RATE_HIGH
|
|
|
|
|
bool "High rate mode (proprietary)"
|
2020-06-13 18:03:32 +02:00
|
|
|
|
|
2020-06-08 23:04:50 +02:00
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_OQPSK_RATE
|
2022-03-09 09:11:27 +01:00
|
|
|
|
int
|
|
|
|
|
default 0 if AT86RF215_OQPSK_RATE_LOW
|
|
|
|
|
default 1 if AT86RF215_OQPSK_RATE_HIGH
|
|
|
|
|
|
|
|
|
|
endif # AT86RF215_OQPSK
|
2020-06-08 23:04:50 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
menuconfig AT86RF215_MR_OQPSK
|
|
|
|
|
bool "MR-O-QPSK support"
|
|
|
|
|
default y
|
2020-06-08 23:04:50 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
if AT86RF215_MR_OQPSK
|
2020-06-08 23:04:50 +02:00
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_MR_OQPSK_RATE
|
|
|
|
|
int "Default MR-O-QPSK rate mode"
|
|
|
|
|
range 0 3
|
|
|
|
|
default 2
|
|
|
|
|
help
|
2022-03-09 09:11:27 +01:00
|
|
|
|
Default Rate Mode of the MR-O-QPSK PHY. Each increment doubles the PSDU
|
|
|
|
|
data rate.
|
2020-06-08 23:04:50 +02:00
|
|
|
|
|
|
|
|
|
choice
|
|
|
|
|
prompt "Default MR-O-QPSK Chip Rate"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_MR_OQPSK_CHIPS_100
|
|
|
|
|
bool "100 kchip/s"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_MR_OQPSK_CHIPS_200
|
|
|
|
|
bool "200 kchip/s"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_MR_OQPSK_CHIPS_1000
|
|
|
|
|
bool "1000 kchip/s"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_MR_OQPSK_CHIPS_2000
|
|
|
|
|
bool "2000 kchip/s"
|
|
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
endif # AT86RF215_MR_OQPSK
|
|
|
|
|
|
|
|
|
|
menuconfig AT86RF215_MR_OFDM
|
|
|
|
|
bool "MR-OFDM support"
|
|
|
|
|
default y
|
2020-06-08 23:04:50 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
if AT86RF215_MR_OFDM
|
2020-06-08 23:04:50 +02:00
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_MR_OFDM_OPT
|
|
|
|
|
int "Default MR-OFDM option"
|
|
|
|
|
range 1 4
|
|
|
|
|
default 2
|
|
|
|
|
help
|
|
|
|
|
Default Option of the MR-OFDM PHY
|
|
|
|
|
Each increment halves the PSDU data rate.
|
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
choice
|
|
|
|
|
bool "Default MR-OFDM Modulation & Coding Scheme"
|
|
|
|
|
default AT86RF215_MR_OFDM_MCS_QPSK_R12_FR2
|
2020-06-08 23:04:50 +02:00
|
|
|
|
help
|
|
|
|
|
Default Modulation & Coding Scheme of the MR-OFDM PHY.
|
|
|
|
|
Higher schemes correspond to higher data rates and lower range.
|
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
config AT86RF215_MR_OFDM_MCS_BPSK_R12_FR4
|
|
|
|
|
bool "BPSK, rate 1⁄2, 4 x frequency repetition"
|
2020-06-08 23:04:50 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
config AT86RF215_MR_OFDM_MCS_BPSK_R12_FR2
|
|
|
|
|
bool "BPSK, rate 1⁄2, 2 x frequency repetition"
|
2020-06-08 23:04:50 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
config AT86RF215_MR_OFDM_MCS_QPSK_R12_FR2
|
|
|
|
|
bool "QPSK, rate 1⁄2, 2 x frequency repetition"
|
2020-06-13 18:03:32 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
config AT86RF215_MR_OFDM_MCS_QPSK_R12_FR0
|
|
|
|
|
bool "QPSK, rate 1⁄2"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MR_OFDM_MCS_QPSK_R34_FR0
|
|
|
|
|
bool "QPSK, rate 3⁄4"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MR_OFDM_MCS_16QAM_R12_FR0
|
|
|
|
|
bool "16-QAM, rate 1⁄2"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MR_OFDM_MCS_16QAM_R34_FR0
|
|
|
|
|
bool "16-QAM, rate 3⁄4"
|
|
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_MR_OFDM_MCS
|
|
|
|
|
int
|
|
|
|
|
default 0 if AT86RF215_MR_OFDM_MCS_BPSK_R12_FR4
|
|
|
|
|
default 1 if AT86RF215_MR_OFDM_MCS_BPSK_R12_FR2
|
|
|
|
|
default 2 if AT86RF215_MR_OFDM_MCS_QPSK_R12_FR2
|
|
|
|
|
default 3 if AT86RF215_MR_OFDM_MCS_QPSK_R12_FR0
|
|
|
|
|
default 4 if AT86RF215_MR_OFDM_MCS_QPSK_R34_FR0
|
|
|
|
|
default 5 if AT86RF215_MR_OFDM_MCS_16QAM_R12_FR0
|
|
|
|
|
default 6 if AT86RF215_MR_OFDM_MCS_16QAM_R34_FR0
|
|
|
|
|
|
|
|
|
|
endif # AT86RF215_MR_OFDM
|
|
|
|
|
|
|
|
|
|
menuconfig AT86RF215_MR_FSK
|
|
|
|
|
bool "MR-FSK support"
|
|
|
|
|
default y
|
|
|
|
|
|
|
|
|
|
if AT86RF215_MR_FSK
|
|
|
|
|
|
|
|
|
|
choice
|
|
|
|
|
bool "Default MR-FSK Symbol Rate"
|
|
|
|
|
default AT86RF215_MR_FSK_SRATE_200K
|
2020-06-13 18:03:32 +02:00
|
|
|
|
help
|
2022-03-09 09:11:27 +01:00
|
|
|
|
Default Symbol Rate of the MR-FSK PHY.
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MR_FSK_SRATE_50K
|
|
|
|
|
bool "50 KHz"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MR_FSK_SRATE_100K
|
|
|
|
|
bool "100 KHz"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MR_FSK_SRATE_150K
|
|
|
|
|
bool "150 KHz"
|
2020-06-13 18:03:32 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
config AT86RF215_MR_FSK_SRATE_200K
|
|
|
|
|
bool "200 KHz"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MR_FSK_SRATE_300K
|
|
|
|
|
bool "300 KHz"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MR_FSK_SRATE_400K
|
|
|
|
|
bool "400 KHz"
|
|
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_MR_FSK_SRATE
|
|
|
|
|
int
|
|
|
|
|
default 0 if AT86RF215_MR_FSK_SRATE_50K
|
|
|
|
|
default 1 if AT86RF215_MR_FSK_SRATE_100K
|
|
|
|
|
default 2 if AT86RF215_MR_FSK_SRATE_150K
|
|
|
|
|
default 3 if AT86RF215_MR_FSK_SRATE_200K
|
|
|
|
|
default 4 if AT86RF215_MR_FSK_SRATE_300K
|
|
|
|
|
default 5 if AT86RF215_MR_FSK_SRATE_400K
|
2020-06-13 18:03:32 +02:00
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_MR_FSK_MOD_IDX
|
|
|
|
|
int "Default MR-FSK Modulation Index"
|
|
|
|
|
range 0 128
|
|
|
|
|
default 64
|
|
|
|
|
help
|
|
|
|
|
Default Modulation Index of the MR-FSK PHY as a fraction of 64.
|
|
|
|
|
(32/64 = 0.5; 64/64 = 1 …)
|
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
choice
|
|
|
|
|
bool "Default MR-FSK Modulation Order"
|
|
|
|
|
default AT86RF215_MR_FSK_MORD_4
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MR_FSK_MORD_4
|
|
|
|
|
bool "2-FSK"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MR_FSK_MORD_4
|
|
|
|
|
bool "4-FSK"
|
|
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
2020-06-13 18:03:32 +02:00
|
|
|
|
config AT86RF215_DEFAULT_MR_FSK_MORD
|
2022-03-09 09:11:27 +01:00
|
|
|
|
int
|
|
|
|
|
default 0 if AT86RF215_MR_FSK_MORD_4
|
|
|
|
|
default 1 if AT86RF215_MR_FSK_MORD_4
|
2020-06-13 18:03:32 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
choice
|
|
|
|
|
bool "Default MR-FSK Forward Error Correction Scheme"
|
|
|
|
|
default AT86RF215_MR_FSK_FEC_NONE
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MR_FSK_FEC_NONE
|
|
|
|
|
bool "No forward error correction"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MR_FSK_FEC_NRNS
|
|
|
|
|
bool "Non-recursive and non-systematic code"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MR_FSK_FEC_RS
|
|
|
|
|
bool "Recursive and systematic code"
|
|
|
|
|
|
|
|
|
|
endchoice
|
2020-06-13 18:03:32 +02:00
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_MR_FSK_FEC
|
2022-03-09 09:11:27 +01:00
|
|
|
|
int
|
|
|
|
|
default 0 if AT86RF215_MR_FSK_FEC_NONE
|
|
|
|
|
default 1 if AT86RF215_MR_FSK_FEC_NRNS
|
|
|
|
|
default 2 if AT86RF215_MR_FSK_FEC_RS
|
|
|
|
|
|
|
|
|
|
endif # AT86RF215_MR_FSK
|
|
|
|
|
|
|
|
|
|
choice
|
|
|
|
|
prompt "Default Modulation"
|
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_LEGACY_OQPSK
|
|
|
|
|
bool "legacy O-QPSK"
|
|
|
|
|
depends on AT86RF215_OQPSK
|
|
|
|
|
help
|
|
|
|
|
O-QPSK compatible with IEEE 802.15.4-2003 devices
|
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_MR_OQPSK
|
|
|
|
|
bool "MR-O-QPSK"
|
|
|
|
|
depends on AT86RF215_MR_OQPSK
|
|
|
|
|
help
|
|
|
|
|
MR-O-QPSK according to IEEE 802.15.4g
|
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_MR_OFDM
|
|
|
|
|
bool "MR-OFDM"
|
|
|
|
|
depends on AT86RF215_MR_OFDM
|
|
|
|
|
help
|
|
|
|
|
MR-O-OFDM according to IEEE 802.15.4g
|
|
|
|
|
|
|
|
|
|
config AT86RF215_DEFAULT_MR_FSK
|
|
|
|
|
bool "MR-FSK"
|
|
|
|
|
depends on AT86RF215_MR_FSK
|
|
|
|
|
help
|
|
|
|
|
MR-FSK according to IEEE 802.15.4g
|
|
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
|
|
endmenu # Modulations
|
|
|
|
|
|
|
|
|
|
config AT86RF215_BATMON_THRESHOLD
|
|
|
|
|
int "Treshold voltage (in mV) of the battery monitor"
|
|
|
|
|
range 1700 3675
|
|
|
|
|
default 1800
|
2024-03-26 10:41:15 +01:00
|
|
|
|
depends on USEMODULE_AT86RF215_BATMON
|
2022-03-09 09:11:27 +01:00
|
|
|
|
help
|
|
|
|
|
If the supply voltage falls below the configured threshold
|
|
|
|
|
a SYS_BUS_POWER_EVENT_LOW_VOLTAGE event is generated on the
|
|
|
|
|
SYS_BUS_POWER bus.
|
|
|
|
|
|
|
|
|
|
Battery Monitoring is disabled when the device is in Deep Sleep.
|
|
|
|
|
|
|
|
|
|
config AT86RF215_USE_CLOCK_OUTPUT
|
|
|
|
|
bool "Enable clock output"
|
|
|
|
|
help
|
|
|
|
|
Enable this to enable the clock output pin of the AT86RF215 chip.
|
|
|
|
|
This way it can be used as a clock source in place of a separate crystal.
|
|
|
|
|
You also have to enable this if you want to measure the clock frequency
|
|
|
|
|
for trimming. After proper trim value is applied this may be disabled
|
|
|
|
|
if not used otherwise.
|
|
|
|
|
By Default it is turned off to save energy.
|
|
|
|
|
|
|
|
|
|
menuconfig AT86RF215_TRIM_VAL_EN
|
|
|
|
|
bool "Enable crystal oscillator trimming"
|
|
|
|
|
help
|
|
|
|
|
Enable crystal oscillator trimming.
|
|
|
|
|
|
|
|
|
|
config AT86RF215_TRIM_VAL
|
|
|
|
|
int "Trim value for the crystal oscillator"
|
|
|
|
|
range 0 15
|
2020-06-13 18:03:32 +02:00
|
|
|
|
default 0
|
2022-03-09 09:11:27 +01:00
|
|
|
|
depends on AT86RF215_TRIM_VAL_EN
|
2020-06-13 18:03:32 +02:00
|
|
|
|
help
|
2022-03-09 09:11:27 +01:00
|
|
|
|
Each increment adds 300nF capacitance between the crystal oscillator pins
|
|
|
|
|
TCXO and XTAL2.Tweak the value until the measured clock output matches
|
|
|
|
|
26 MHz the best.
|
|
|
|
|
For more information Refer Table 6-25 TRIM in Datasheet
|
2020-06-13 18:03:32 +02:00
|
|
|
|
|
2022-03-09 09:11:27 +01:00
|
|
|
|
config AT86RF215_RPC_EN
|
|
|
|
|
bool "Enable Reduced Power Consumption"
|
|
|
|
|
help
|
|
|
|
|
Reduce Power Consumption in RX IDLE by duty-cycling the RF circuitry.
|
|
|
|
|
|
|
|
|
|
config AT86RF215_MULTIMODE
|
|
|
|
|
bool "Allow multiple physical layer modes"
|
|
|
|
|
default y
|
|
|
|
|
|
|
|
|
|
config AT86RF215_RESET_PULSE_WIDTH_US
|
|
|
|
|
int "Width of the reset pulse (µs)"
|
|
|
|
|
range 16 1000
|
|
|
|
|
default 16
|
|
|
|
|
help
|
|
|
|
|
If your board design includes a filtering capacitor on the reset line, this raises
|
|
|
|
|
the rise time of the reset pulse.
|
|
|
|
|
To accommodate for this, select a larger reset pulse width here.
|
|
|
|
|
|
|
|
|
|
If unsure, leave this at the default value of 16 µs.
|
|
|
|
|
|
2024-03-26 10:41:15 +01:00
|
|
|
|
endif # USEMODULE_AT86RF215
|