<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[A kitchen-sink options header]]></title><description><![CDATA[<p dir="auto">I'm creating a number of sketches for MySensors, and since I will be publishing them I want them all to have a nice, solid header that contains interesting settings.</p>
<p dir="auto">This is what I got so far:</p>
<pre><code>
//
// SETTINGS
// Add or remove the two slashes at the beginning a line to enable or disable it.
//

// MySensors: enable and select the attached radio type
#define MY_RADIO_NRF24                              // This is a common and simple radio used with MySensors. Downside is that it uses the same frequency space as WiFi.
//#define MY_RADIO_NRF5_ESB                         // This is a new type of device that is arduino and radio all in one. Currently not suitable for beginners yet.
//#define MY_RADIO_RFM69                            // This is an open source radio on the 433mhz frequency. Great range and built-in encryption, but more expensive and little more difficult to connect.
//#define MY_RADIO_RFM95                            // This is a LoRaWan radio, which can have a range of 10km.

// MySensors: choose your desired radio power level. Only choose one.
//#define MY_RF24_PA_LEVEL RF24_PA_MIN              // Low power also means low range.
#define MY_RF24_PA_LEVEL RF24_PA_LOW                // This is a good middle of the road setting.
//#define MY_RF24_PA_LEVEL RF24_PA_HIGH             // High power can cause issues on cheap Chinese NRF24 radios
//#define MY_RF24_PA_LEVEL RF24_PA_MAX              // Offers the most range, but high power can cause issues on cheap Chinese NRF24 radios

// Mysensors: security
//#define MY_SECURITY_SIMPLE_PASSWD "changeme"      // Be aware that longer passwords use slightly more memory.
//#define MY_SIGNING_SOFT_RANDOMSEED_PIN A7         // Setting a pin to pickup random electromagnetic noise helps make encryption more secure.

// Mysensors: advanced settings
#define MY_TRANSPORT_WAIT_READY_MS 10000            // Try connecting for 10 seconds. Otherwise just continue.
//#define MY_RF24_CHANNEL 100                       // In EU the default channel 76 overlaps with wifi, so you could try using channel 100. You will have to select the same setting on every device in the network (including the gateway).
//#define MY_RF24_DATARATE RF24_250KBPS             // Slower datarate, increases wireless range. Does not work on all hardware.
//#define MY_RF24_DATARATE RF24_1MBPS               // Medium, safe setting.
//#define MY_RF24_DATARATE RF24_2MBPS               // Fastest datarate, at the cost of less range. Does not work on all hardware.

//#define MY_NODE_ID 10                             // Giving a node a manual ID can in rare cases fix connection issues.
//#define MY_PARENT_NODE_ID 0                       // Fixating the ID of the gateway node can in rare cases fix connection issues.
//#define MY_PARENT_NODE_IS_STATIC                  // Used together with setting the parent node ID. Daking the controller ID static can in rare cases fix connection issues.
#define MY_SPLASH_SCREEN_DISABLED                   // Saves a little memory.
//#define MY_DISABLE_RAM_ROUTING_TABLE_FEATURE      // Saves a little memory. On simple Arduino's this is already disabled by default.
#define MY_DISABLE_SIGNAL_REPORT                    // Saves 1kb of space

// MySensors: enable debug output to the serial monitor?
//#define MY_DEBUG                                  // This can help check if the radio is working ok.

// MySensors: do you want this node to also be a repeater? 
#define MY_REPEATER_FEATURE                         // The devices can form a mesh network by passing along messages for each other. The only reason to disable this is if the device runs on battery power.


</code></pre>
<p dir="auto">Are there interesting settings that I am missing?</p>
]]></description><link>https://forum.mysensors.org/topic/9564/a-kitchen-sink-options-header</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 04:56:48 GMT</lastBuildDate><atom:link href="https://forum.mysensors.org/topic/9564.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 04 Aug 2018 20:45:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to A kitchen-sink options header on Fri, 08 Mar 2019 11:16:40 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/waspie" aria-label="Profile: waspie">@<bdi>waspie</bdi></a>: done :-)</p>
<p dir="auto">Doe anyone have any idea about the retries? I'd like my nodes to keep trying to reconnect as long as they have power.</p>
<p dir="auto">Another question:</p>
<p dir="auto">I've read different things about</p>
<pre><code>#define MY_DISABLE_SIGNAL_REPORT
</code></pre>
<p dir="auto">Some recently said this saves memory, but I've found an older post that states it's already disabled by default.</p>
]]></description><link>https://forum.mysensors.org/post/97878</link><guid isPermaLink="true">https://forum.mysensors.org/post/97878</guid><dc:creator><![CDATA[alowhum]]></dc:creator><pubDate>Fri, 08 Mar 2019 11:16:40 GMT</pubDate></item><item><title><![CDATA[Reply to A kitchen-sink options header on Thu, 07 Mar 2019 12:43:26 GMT]]></title><description><![CDATA[<p dir="auto">get rid of all your apostrophes. Those words are pluralized, not possessive (as long as you're trying to clean it up and make it look nice you might as well fix the punctuation).</p>
]]></description><link>https://forum.mysensors.org/post/97845</link><guid isPermaLink="true">https://forum.mysensors.org/post/97845</guid><dc:creator><![CDATA[waspie]]></dc:creator><pubDate>Thu, 07 Mar 2019 12:43:26 GMT</pubDate></item><item><title><![CDATA[Reply to A kitchen-sink options header on Thu, 07 Mar 2019 12:02:02 GMT]]></title><description><![CDATA[<p dir="auto">Learning a little more today:</p>
<p dir="auto">Apparently..</p>
<pre><code>#define MY_DISABLE_RAM_ROUTING_TABLE_FEATURE
</code></pre>
<p dir="auto">..is not required for Arduino Nano boards. Because they have little RAM, MySensors disables it automatically. Nice!</p>
<p dir="auto">I also want my nodes to always keep trying to reconnect to the network. I thought that would be standard, but apparently it's not? Is my understanding correct? The code below would set it to try and reconnect later:</p>
<pre><code>#define MY_TRANSPORT_WAIT_READY_MS (10*1000ul) // On boot-up, stop trying to connect to the gateway after 10 seconds
#define MY_TRANSPORT_TIMEOUT_EXT_FAILURE_STATE (15*60*1000ul) // If connection is down, try to reconnect to the gateway every 15 minutes.
</code></pre>
<p dir="auto">In the documentation I also noticed "MY_TRANSPORT_TIMEOUT_FAILURE_STATE_MS" which is set to ten seconds. I guess this happens:</p>
<ul>
<li>If the radio is OK, every 10 seconds, for a maximum of 7 times, the node will try to connect to the gateway.</li>
<li>If it fails after 7 retries, it will wait much longer before retrying?</li>
</ul>
<p dir="auto">Does it eventually give up?</p>
]]></description><link>https://forum.mysensors.org/post/97842</link><guid isPermaLink="true">https://forum.mysensors.org/post/97842</guid><dc:creator><![CDATA[alowhum]]></dc:creator><pubDate>Thu, 07 Mar 2019 12:02:02 GMT</pubDate></item><item><title><![CDATA[Reply to A kitchen-sink options header on Sun, 05 Aug 2018 10:24:59 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/alowhum" aria-label="Profile: alowhum">@<bdi>alowhum</bdi></a> no, but I don't use 90% of what's already on your list either ;-)</p>
]]></description><link>https://forum.mysensors.org/post/92218</link><guid isPermaLink="true">https://forum.mysensors.org/post/92218</guid><dc:creator><![CDATA[mfalkvidd]]></dc:creator><pubDate>Sun, 05 Aug 2018 10:24:59 GMT</pubDate></item><item><title><![CDATA[Reply to A kitchen-sink options header on Sun, 05 Aug 2018 10:05:25 GMT]]></title><description><![CDATA[<p dir="auto">Thanks for that.</p>
<p dir="auto">I'm curious though: are there any on that list that you often/sometimes use in sketches that I didn't list?</p>
]]></description><link>https://forum.mysensors.org/post/92217</link><guid isPermaLink="true">https://forum.mysensors.org/post/92217</guid><dc:creator><![CDATA[alowhum]]></dc:creator><pubDate>Sun, 05 Aug 2018 10:05:25 GMT</pubDate></item><item><title><![CDATA[Reply to A kitchen-sink options header on Sat, 04 Aug 2018 20:49:30 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/alowhum" aria-label="Profile: alowhum">@<bdi>alowhum</bdi></a> note sure which are interesting, but this should be the full list:</p>
<pre><code>MY_BAUD_RATE
MY_CORE_ONLY
MY_CORE_MIN_VERSION
MY_CORE_VERSION
MY_CRITICAL_SECTION
MY_DISABLE_RAM_ROUTING_TABLE_FEATURE
MY_DISABLE_REMOTE_RESET
MY_DISABLED_SERIAL
MY_INDICATION_HANDLER
MY_RX_MESSAGE_BUFFER_SIZE
MY_RX_MESSAGE_BUFFER_FEATURE
MY_SERIAL_OUTPUT_SIZE
MY_SLEEP_NOT_POSSIBLE
MY_SMART_SLEEP_WAIT_DURATION
MY_SPLASH_SCREEN_DISABLED
MY_WAKE_UP_BY_TIMER
MY_CORE_COMPATIBILITY_CHECK
MY_DEBUG_VERBOSE_TRANSPORT
MY_NODE_ID
MY_PARENT_NODE_ID
MY_PARENT_NODE_IS_STATIC
MY_PASSIVE_NODE
MY_RAM_ROUTING_TABLE_FEATURE
MY_REGISTRATION_CONTROLLER
MY_REGISTRATION_DEFAULT
MY_REGISTRATION_FEATURE
MY_REGISTRATION_RETRIES
MY_REPEATER_FEATURE
MY_ROUTING_TABLE_SAVE_INTERVAL_MS
MY_SIGNAL_REPORT_ENABLED
MY_SLEEP_TRANSPORT_RECONNECT_TIMEOUT_MS
MY_SMART_SLEEP_WAIT_DURATION_MS
MY_TRANSPORT_CHKUPL_INTERVAL_MS
MY_TRANSPORT_DISCOVERY_INTERVAL_MS
MY_TRANSPORT_MAX_TSM_FAILURES
MY_TRANSPORT_MAX_TX_FAILURES
MY_TRANSPORT_SANITY_CHECK
MY_TRANSPORT_SANITY_CHECK_INTERVAL
MY_TRANSPORT_SANITY_CHECK_INTERVAL_MS
MY_TRANSPORT_STATE_RETRIES
MY_TRANSPORT_STATE_TIMEOUT_MS
MY_TRANSPORT_TIMEOUT_EXT_FAILURE_STATE_MS
MY_TRANSPORT_TIMEOUT_FAILURE_STATE_MS
MY_TRANSPORT_UPLINK_CHECK_DISABLED
MY_TRANSPORT_WAIT_READY_MS
MY_DEBUG
MY_DEBUGDEVICE
MY_DEBUG_VERBOSE_GATEWAY
MY_SPECIAL_DEBUG
MY_DEBUG_OTA
MY_DEBUG_OTA_DISABLE_ACK
MY_DEBUG_VERBOSE_OTA_UPDATE
MY_DEFAULT_ERR_LED_PIN
MY_DEFAULT_LED_BLINK_PERIOD
MY_DEFAULT_RX_LED_PIN
MY_DEFAULT_TX_LED_PIN
MY_INCLUSION_MODE_FEATURE
MY_INCLUSION_BUTTON_FEATURE
MY_INCLUSION_MODE_BUTTON_PIN
MY_INCLUSION_MODE_DURATION
MY_INCLUSION_LED_PIN
MY_OTA_FIRMWARE_FEATURE
MY_OTA_FLASH_SS
MY_OTA_FLASH_JDECID
MY_OTA_LOG_RECEIVER_FEATURE
MY_OTA_LOG_SENDER_FEATURE
MY_OTA_USE_I2C_EEPROM
MY_SPIFLASH_SST25TYPE
MY_WITH_LEDS_BLINKING_INVERSE
MY_DEBUG_VERBOSE_SIGNING
MY_ENCRYPTION_SIMPLE_PASSWD
MY_NODE_LOCK_FEATURE
MY_NODE_UNLOCK_PIN
MY_NODE_LOCK_COUNTER_MAX
MY_SECURITY_SIMPLE_PASSWD
MY_SIGNING_ATSHA204
MY_SIGNING_ATSHA204_PIN
MY_SIGNING_NODE_WHITELISTING
MY_SIGNING_SIMPLE_PASSWD
MY_SIGNING_SOFT
MY_SIGNING_SOFT_RANDOMSEED_PIN
MY_SIGNING_REQUEST_SIGNATURES
MY_SIGNING_WEAK_SECURITY
MY_VERIFICATION_TIMEOUT_MS
MY_HW_HAS_GETENTROPY
MY_GATEWAY_TINYGSM
MY_GSM_APN
MY_GSM_BAUDRATE
MY_GSM_PIN
MY_GSM_PSW
MY_GSM_RX
MY_GSM_SSID
MY_GSM_TX
MY_GSM_USR
MY_SOFTSPI
MY_SOFT_SPI_MISO_PIN
MY_SOFT_SPI_MOSI_PIN
MY_SOFT_SPI_SCK_PIN
MY_DEBUG_VERBOSE_RF24
MY_RADIO_RF24
MY_RF24_ADDR_WIDTH
MY_RF24_BASE_RADIO_ID
MY_RF24_ENABLE_ENCRYPTION
MY_RF24_CE_PIN
MY_RF24_CHANNEL
MY_RF24_CS_PIN
MY_RF24_DATARATE
MY_RF24_IRQ_PIN
MY_RF24_PA_LEVEL
MY_RF24_POWER_PIN
MY_RF24_SPI_SPEED
MY_DEBUG_VERBOSE_NRF5_ESB
MY_NRF5_ESB_ADDR_WIDTH
MY_NRF5_ESB_BASE_RADIO_ID
MY_NRF5_ESB_CHANNEL
MY_NRF5_ESB_ENABLE_ENCRYPTION
MY_NRF5_ESB_MODE
MY_NRF5_ESB_PA_LEVEL
MY_NRF5_ESB_RX_BUFFER_SIZE
MY_NRF5_ESB_REVERSE_ACK_RX
MY_NRF5_ESB_REVERSE_ACK_TX
MY_RADIO_NRF5_ESB
MY_DEBUG_VERBOSE_RFM95
MY_RADIO_RFM95
MY_RFM95_ATC_MODE_DISABLED
MY_RFM95_ATC_TARGET_RSSI
MY_RFM95_ATC_TARGET_RSSI_DBM
MY_RFM95_CS_PIN
MY_RFM95_FREQUENCY
MY_RFM95_IRQ_NUM
MY_RFM95_IRQ_PIN
MY_RFM95_MAX_POWER_LEVEL_DBM
MY_RFM95_MODEM_CONFIGRUATION
MY_RFM95_POWER_PIN
MY_RFM95_RST_PIN
MY_RFM95_SPI_SPEED
MY_RFM95_TCXO
MY_RFM95_TX_POWER
MY_RFM95_TX_POWER_DBM
MY_RFM95_TX_TIMEOUT_MS
MY_RFM95_ENABLE_ENCRYPTION
MY_DEBUG_VERBOSE_RFM69
MY_DEBUG_VERBOSE_RFM69_REGISTERS
MY_IS_RFM69HW
MY_RADIO_RFM69
MY_RFM69_ATC_MODE_DISABLED
MY_RFM69_ATC_TARGET_RSSI_DBM
MY_RFM69_BITRATE_LSB
MY_RFM69_BITRATE_MSB
MY_RFM69_CS_PIN
MY_RFM69_CSMA_ADD_DELAY_BASE
MY_RFM69_CSMA_ADD_DELAY_COUNT
MY_RFM69_CSMA_LIMIT_DBM
MY_RFM69_CSMA_TIMEOUT_MS
MY_RFM69_DEFAULT_LISTEN_IDLE_US
MY_RFM69_DEFAULT_LISTEN_RX_US
MY_RFM69_ENABLE_ENCRYPTION
MY_RFM69_ENABLE_LISTENMODE
MY_RFM69_FREQUENCY
MY_RFM69_IRQ_NUM
MY_RFM69_IRQ_PIN
MY_RFM69_MAX_POWER_LEVEL_DBM
MY_RFM69_MODEM_CONFIGURATION
MY_RFM69_NETWORKID
MY_RFM69_NEW_DRIVER
MY_RFM69_POWER_PIN
MY_RFM69_RST_PIN
MY_RFM69_SPI_SPEED
MY_RFM69_TX_TIMEOUT_MS
MY_RFM69_TX_POWER_DBM
MY_RS485
MY_RS485_BAUD_RATE
MY_RS485_DE_PIN
MY_RS485_HWSERIAL
MY_RS485_MAX_MESSAGE_LENGTH
MY_RS485_SOH_COUNT
MY_GATEWAY_CLIENT_MODE
MY_GATEWAY_ENC28J60
MY_GATEWAY_ESP32
MY_GATEWAY_ESP8266
MY_GATEWAY_MQTT_CLIENT
MY_GATEWAY_SERIAL
MY_GATEWAY_W5100
MY_HOSTNAME
MY_INCLUSION_BUTTON_EXTERNAL_PULLUP
MY_MQTT_CLIENT_ID
MY_MQTT_CLIENT_PUBLISH_RETAIN
MY_MQTT_PASSWORD
MY_MQTT_PUBLISH_TOPIC_PREFIX
MY_MQTT_SUBSCRIBE_TOPIC_PREFIX
MY_MQTT_USER
MY_W5100_SPI_EN
MY_WIFI_SSID
MY_WIFI_BSSID
MY_WIFI_PASSWORD
MY_CONTROLLER_IP_ADDRESS
MY_CONTROLLER_URL_ADDRESS
MY_GATEWAY_MAX_CLIENTS
MY_GATEWAY_MAX_RECEIVE_LENGTH
MY_GATEWAY_MAX_SEND_LENGTH
MY_IP_ADDRESS
MY_IP_GATEWAY_ADDRESS
MY_IP_RENEWAL_INTERVAL
MY_IP_RENEWAL_INTERVAL_MS
MY_IP_SUBNET_ADDRESS
MY_MAC_ADDRESS
MY_PORT
MY_USE_UDP
MY_ESP8266_SERIAL_MODE
</code></pre>
]]></description><link>https://forum.mysensors.org/post/92209</link><guid isPermaLink="true">https://forum.mysensors.org/post/92209</guid><dc:creator><![CDATA[mfalkvidd]]></dc:creator><pubDate>Sat, 04 Aug 2018 20:49:30 GMT</pubDate></item></channel></rss>