-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cpu/esp*: add Kconfig #13135
cpu/esp*: add Kconfig #13135
Changes from 1 commit
1588fa9
5d40b07
57a29da
d64257b
9d51cb5
d51872e
3b1fb70
946ce9b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# Copyright (c) 2020 Gunar Schorcht | ||
# | ||
# 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. | ||
# | ||
|
||
menuconfig KCONFIG_MODULE_ESP_NOW | ||
bool "Configure ESP-NOW netdev" | ||
depends on MODULE_ESP_NOW | ||
help | ||
Configure ESP-NOW netdev when module esp_now is used. | ||
|
||
if KCONFIG_MODULE_ESP_NOW | ||
|
||
config ESP_NOW_CHANNEL | ||
int "WiFi channel" | ||
default 6 | ||
help | ||
The WiFi channel that is used as by all ESP-NOW nodes. | ||
|
||
config ESP_NOW_SCAN_PERIOD | ||
int "Scan period in microseconds" | ||
default 10000000 | ||
help | ||
Period in microseconds at which an ESP-NOW node scans for other | ||
ESP-NOW nodes in its range. | ||
|
||
config ESP_NOW_SOFT_AP_PASS | ||
string "SoftAP interface passphrase" | ||
default "ThisistheRIOTporttoESP" | ||
help | ||
Passphrase used for the SoftAP interface of all ESP-NOW nodes. | ||
|
||
ESP_NOW uses the WiFi interface in Station and SoftAP mode | ||
simultaneously to build a peer-to-peer network. A passphrase is | ||
required for the SoftAP mode. This passphrase is used by all ESP-NOW | ||
nodes to establish the connection between them in the peer-to-peer | ||
network. | ||
|
||
endif # KCONFIG_MODULE_ESP_NOW |
Original file line number | Diff line number | Diff line change | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -21,6 +21,64 @@ | |||||||||||||||||
|
||||||||||||||||||
#if defined(MODULE_ESP_NOW) || defined(DOXYGEN) | ||||||||||||||||||
|
||||||||||||||||||
/** | ||||||||||||||||||
* @name Legacy definitions of default configuration parameters | ||||||||||||||||||
* @{ | ||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe add the |
||||||||||||||||||
*/ | ||||||||||||||||||
|
||||||||||||||||||
/** | ||||||||||||||||||
* @brief Legacy definition for compatibility reasons. | ||||||||||||||||||
* #ESP_NOW_STACKSIZE is deprecated, please use #CONFIG_ESP_NOW_STACKSIZE | ||||||||||||||||||
* instead. | ||||||||||||||||||
*/ | ||||||||||||||||||
#ifndef ESP_NOW_STACKSIZE | ||||||||||||||||||
#define ESP_NOW_STACKSIZE (THREAD_STACKSIZE_DEFAULT) | ||||||||||||||||||
#endif | ||||||||||||||||||
|
||||||||||||||||||
/** | ||||||||||||||||||
* @brief Legacy definition for compatibility reasons. | ||||||||||||||||||
* #ESP_NOW_PRIO is deprecated, please use #CONFIG_ESP_NOW_PRIO instead. | ||||||||||||||||||
*/ | ||||||||||||||||||
#ifndef ESP_NOW_PRIO | ||||||||||||||||||
#define ESP_NOW_PRIO (GNRC_NETIF_PRIO) | ||||||||||||||||||
#endif | ||||||||||||||||||
|
||||||||||||||||||
/** | ||||||||||||||||||
* @brief Legacy definition for compatibility reasons. | ||||||||||||||||||
* #ESP_NOW_SCAN_PERIOD is deprecated, please use #CONFIG_ESP_NOW_SCAN_PERIOD | ||||||||||||||||||
* instead. | ||||||||||||||||||
*/ | ||||||||||||||||||
#ifndef ESP_NOW_SCAN_PERIOD | ||||||||||||||||||
#define ESP_NOW_SCAN_PERIOD (10000000UL) | ||||||||||||||||||
#endif | ||||||||||||||||||
|
||||||||||||||||||
/** | ||||||||||||||||||
* @brief Legacy definition for compatibility reasons. | ||||||||||||||||||
* #ESP_NOW_SOFT_AP_PASS is deprecated, please use #CONFIG_ESP_NOW_SOFT_AP_PASS | ||||||||||||||||||
* instead. | ||||||||||||||||||
*/ | ||||||||||||||||||
#ifndef ESP_NOW_SOFT_AP_PASS | ||||||||||||||||||
#define ESP_NOW_SOFT_AP_PASS "ThisistheRIOTporttoESP" | ||||||||||||||||||
#endif | ||||||||||||||||||
|
||||||||||||||||||
/** | ||||||||||||||||||
* @brief Legacy definition for compatibility reasons. | ||||||||||||||||||
* #ESP_NOW_CHANNEL is deprecated, please use #CONFIG_ESP_NOW_CHANNEL instead. | ||||||||||||||||||
*/ | ||||||||||||||||||
#ifndef ESP_NOW_CHANNEL | ||||||||||||||||||
#define ESP_NOW_CHANNEL (6) | ||||||||||||||||||
#endif | ||||||||||||||||||
|
||||||||||||||||||
/** | ||||||||||||||||||
* @brief Legacy definition for compatibility reasons. | ||||||||||||||||||
* #ESP_NOW_KEY is deprecated, please use #CONFIG_ESP_NOW_KEY instead. | ||||||||||||||||||
*/ | ||||||||||||||||||
#ifndef ESP_NOW_KEY | ||||||||||||||||||
#define ESP_NOW_KEY (NULL) | ||||||||||||||||||
#endif | ||||||||||||||||||
|
||||||||||||||||||
/** @} */ | ||||||||||||||||||
|
||||||||||||||||||
/** | ||||||||||||||||||
* @name Set default configuration parameters for the ESP-NOW netdev driver | ||||||||||||||||||
* @{ | ||||||||||||||||||
|
@@ -30,42 +88,42 @@ | |||||||||||||||||
* @brief The size of the stack used for the ESP-NOW netdev driver thread. | ||||||||||||||||||
* @ingroup cpu_esp_common_conf | ||||||||||||||||||
*/ | ||||||||||||||||||
#ifndef ESP_NOW_STACKSIZE | ||||||||||||||||||
#define ESP_NOW_STACKSIZE (THREAD_STACKSIZE_DEFAULT) | ||||||||||||||||||
#ifndef CONFIG_ESP_NOW_STACKSIZE | ||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This macro is not generated by Kconfig, I think it's better that we try to keep the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I decided to rename it for two reasons:
Therefore, I decided to name everything that is configurable by user also at command line in same way. |
||||||||||||||||||
#define CONFIG_ESP_NOW_STACKSIZE ESP_NOW_STACKSIZE | ||||||||||||||||||
#endif | ||||||||||||||||||
|
||||||||||||||||||
/** | ||||||||||||||||||
* @brief The priority of the ESP-NOW netdev driver thread. Should not be | ||||||||||||||||||
* changed. | ||||||||||||||||||
* @ingroup cpu_esp_common_conf | ||||||||||||||||||
*/ | ||||||||||||||||||
#ifndef ESP_NOW_PRIO | ||||||||||||||||||
#define ESP_NOW_PRIO (GNRC_NETIF_PRIO) | ||||||||||||||||||
#ifndef CONFIG_ESP_NOW_PRIO | ||||||||||||||||||
#define CONFIG_ESP_NOW_PRIO ESP_NOW_PRIO | ||||||||||||||||||
#endif | ||||||||||||||||||
|
||||||||||||||||||
/** | ||||||||||||||||||
* @brief Period in microseconds at which an ESP-NOW node scans for other | ||||||||||||||||||
* ESP-NOW nodes in its range. | ||||||||||||||||||
* @ingroup cpu_esp_common_conf | ||||||||||||||||||
*/ | ||||||||||||||||||
#ifndef ESP_NOW_SCAN_PERIOD | ||||||||||||||||||
#define ESP_NOW_SCAN_PERIOD (10000000UL) | ||||||||||||||||||
#ifndef CONFIG_ESP_NOW_SCAN_PERIOD | ||||||||||||||||||
#define CONFIG_ESP_NOW_SCAN_PERIOD ESP_NOW_SCAN_PERIOD | ||||||||||||||||||
#endif | ||||||||||||||||||
|
||||||||||||||||||
/** | ||||||||||||||||||
* @brief Passphrase used for the SoftAP interface of for all ESP-NOW nodes. | ||||||||||||||||||
* @ingroup cpu_esp_common_conf | ||||||||||||||||||
*/ | ||||||||||||||||||
#ifndef ESP_NOW_SOFT_AP_PASS | ||||||||||||||||||
#define ESP_NOW_SOFT_AP_PASS "ThisistheRIOTporttoESP" | ||||||||||||||||||
#ifndef CONFIG_ESP_NOW_SOFT_AP_PASS | ||||||||||||||||||
#define CONFIG_ESP_NOW_SOFT_AP_PASS ESP_NOW_SOFT_AP_PASS | ||||||||||||||||||
#endif | ||||||||||||||||||
|
||||||||||||||||||
/** | ||||||||||||||||||
* @brief Channel used as broadcast medium by all ESP-NOW nodes together | ||||||||||||||||||
* @ingroup cpu_esp_common_conf | ||||||||||||||||||
*/ | ||||||||||||||||||
#ifndef ESP_NOW_CHANNEL | ||||||||||||||||||
#define ESP_NOW_CHANNEL (6) | ||||||||||||||||||
#ifndef CONFIG_ESP_NOW_CHANNEL | ||||||||||||||||||
#define CONFIG_ESP_NOW_CHANNEL ESP_NOW_CHANNEL | ||||||||||||||||||
#endif | ||||||||||||||||||
|
||||||||||||||||||
/** | ||||||||||||||||||
|
@@ -81,8 +139,8 @@ | |||||||||||||||||
* communicate with each other, while in unencrypted mode, up to 20 nodes can | ||||||||||||||||||
* communicate. | ||||||||||||||||||
*/ | ||||||||||||||||||
#ifndef ESP_NOW_KEY | ||||||||||||||||||
#define ESP_NOW_KEY (NULL) | ||||||||||||||||||
#ifndef CONFIG_ESP_NOW_KEY | ||||||||||||||||||
#define CONFIG_ESP_NOW_KEY ESP_NOW_KEY | ||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same here There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The configuration of the key with Kconfig is a problem. The option would have to be either 0 or a 64 character array. I have no idea how to realize it with Kconfig. I renamed it to |
||||||||||||||||||
#endif | ||||||||||||||||||
|
||||||||||||||||||
/** @} */ | ||||||||||||||||||
|
@@ -91,10 +149,10 @@ | |||||||||||||||||
* @brief Initializer for default configuration parameters. | ||||||||||||||||||
*/ | ||||||||||||||||||
#ifndef ESP_NOW_PARAMS | ||||||||||||||||||
#define ESP_NOW_PARAMS { .key = ESP_NOW_KEY, \ | ||||||||||||||||||
.scan_period = ESP_NOW_SCAN_PERIOD, \ | ||||||||||||||||||
.softap_pass = ESP_NOW_SOFT_AP_PASS, \ | ||||||||||||||||||
.channel = ESP_NOW_CHANNEL \ | ||||||||||||||||||
#define ESP_NOW_PARAMS { .key = CONFIG_ESP_NOW_KEY, \ | ||||||||||||||||||
.scan_period = CONFIG_ESP_NOW_SCAN_PERIOD, \ | ||||||||||||||||||
.softap_pass = CONFIG_ESP_NOW_SOFT_AP_PASS, \ | ||||||||||||||||||
.channel = CONFIG_ESP_NOW_CHANNEL \ | ||||||||||||||||||
} | ||||||||||||||||||
#endif | ||||||||||||||||||
|
||||||||||||||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This only shows up when
esp_now
module is used, so there is no need to clarify that on the help string.