* Add NVRAM support This is an EEPROM replacement based on MCU's internal Flash memory. The NVRAM class is designed to be stateless. Each operation is written to flash immediately. The last 16k(nRF51)/32k(nRF52) of Flash memory are managed by the VirtualPage class. This class allows writing a single emulated 4k page up 40,000 times. The NVRAM class is a log based byte-wise storage allowing up to 40,000,000 writes depending on the number of used addresses. Each four allocated addresses from the beginning of the NVRAM reduce the write log by one. When first 256 bytes of the emulated storage are used, there is an average writing capacity of 145,000 cycles per byte. When the write log is full, the NVRAM is compressed into a new flash page. After a new page is ready, the old page is released. This process can take up to 4500 ms and cannot be interrupted. The NVRAM functionality can easily be ported to ESP8266 or SAMD by providing a Flash interface. * Add NRF5 platform support This is the support of the Nordic Semiconductor NRF51 (nrf51822, nrf51422) and NRF52 (nrf52832) platform. Based on arduino-nRF5 (https://github.com/sandeepmistry/arduino-nRF5). The included radio driver is compatible with the NRF24 devices. Using a SoftDevice (BLE)is not supported and must be removed before flashing MySensors with a "mass_erase" operation.
200 lines
5.1 KiB
Plaintext
200 lines
5.1 KiB
Plaintext
#######################################
|
|
# Datatypes (KEYWORD1)
|
|
#######################################
|
|
MyMessage KEYWORD1
|
|
|
|
#######################################
|
|
# Methods and Functions (KEYWORD2)
|
|
#######################################
|
|
present KEYWORD2
|
|
send KEYWORD2
|
|
sendSketchInfo KEYWORD2
|
|
sendBatteryLevel KEYWORD2
|
|
sendHeartbeat KEYWORD2
|
|
getNodeId KEYWORD2
|
|
request KEYWORD2
|
|
requestTime KEYWORD2
|
|
saveState KEYWORD2
|
|
loadState KEYWORD2
|
|
wait KEYWORD2
|
|
receive KEYWORD2
|
|
receiveTime KEYWORD2
|
|
loop KEYWORD2
|
|
before KEYWORD2
|
|
setup KEYWORD2
|
|
presentation KEYWORD2
|
|
sleep KEYWORD2
|
|
smartSleep KEYWORD2
|
|
|
|
######################################
|
|
# Constants (LITERAL1)
|
|
#######################################
|
|
# General
|
|
MY_CORE_ONLY LITERAL1
|
|
MY_DISABLE_REMOTE_RESET LITERAL1
|
|
MY_SMART_SLEEP_WAIT_DURATION LITERAL1
|
|
MY_BAUD_RATE LITERAL1
|
|
MY_CRITICAL_SECTION LITERAL1
|
|
MY_RX_MESSAGE_BUFFER_SIZE LITERAL1
|
|
MY_RX_MESSAGE_BUFFER_FEATURE LITERAL1
|
|
|
|
# transport
|
|
AUTO LITERAL1
|
|
MY_NODE_ID LITERAL1
|
|
MY_DEBUG_VERBOSE_TRANSPORT LITERAL1
|
|
MY_PARENT_NODE_ID LITERAL1
|
|
MY_PARENT_NODE_IS_STATIC LITERAL1
|
|
MY_REGISTRATION_FEATURE LITERAL1
|
|
MY_REGISTRATION_DEFAULT LITERAL1
|
|
MY_REGISTRATION_CONTROLLER LITERAL1
|
|
MY_CORE_COMPATIBILITY_CHECK LITERAL1
|
|
MY_TRANSPORT_SANITY_CHECK LITERAL1
|
|
MY_TRANSPORT_SANITY_CHECK_INTERVAL LITERAL1
|
|
MY_TRANSPORT_WAIT_READY_MS LITERAL1
|
|
MY_REPEATER_FEATURE LITERAL1
|
|
MY_PASSIVE_NODE LITERAL1
|
|
|
|
# debug
|
|
MY_DEBUG LITERAL1
|
|
MY_SPECIAL_DEBUG LITERAL1
|
|
|
|
# OTA
|
|
MY_OTA_FIRMWARE_FEATURE LITERAL1
|
|
MY_OTA_FLASH_SS LITERAL1
|
|
MY_OTA_FLASH_JDECID LITERAL1
|
|
MY_SPIFLASH_SST25TYPE LITERAL1
|
|
MY_DEBUG_VERBOSE_OTA_UPDATE LITERAL1
|
|
MY_WITH_LEDS_BLINKING_INVERSE LITERAL1
|
|
MY_DEFAULT_LED_BLINK_PERIOD LITERAL1
|
|
MY_WITH_LEDS_BLINKING_INVERSE LITERAL1
|
|
MY_DEFAULT_RX_LED_PIN LITERAL1
|
|
MY_DEFAULT_TX_LED_PIN LITERAL1
|
|
MY_DEFAULT_ERR_LED_PIN LITERAL1
|
|
MY_INCLUSION_MODE_FEATURE LITERAL1
|
|
MY_INCLUSION_BUTTON_FEATURE LITERAL1
|
|
MY_INCLUSION_MODE_BUTTON_PIN LITERAL1
|
|
MY_INCLUSION_MODE_DURATION LITERAL1
|
|
|
|
# Signing
|
|
MY_DEBUG_VERBOSE_SIGNING LITERAL1
|
|
MY_SIGNING_ATSHA204 LITERAL1
|
|
MY_SIGNING_SOFT LITERAL1
|
|
MY_VERIFICATION_TIMEOUT_MS LITERAL1
|
|
MY_SIGNING_NODE_WHITELISTING LITERAL1
|
|
MY_SIGNING_ATSHA204_PIN LITERAL1
|
|
MY_SIGNING_SOFT_RANDOMSEED_PIN LITERAL1
|
|
MY_SIGNING_REQUEST_SIGNATURES LITERAL1
|
|
MY_SIGNING_GW_REQUEST_SIGNATURES_FROM_ALL LITERAL1
|
|
MY_NODE_LOCK_FEATURE LITERAL1
|
|
MY_NODE_UNLOCK_PIN LITERAL1
|
|
MY_NODE_LOCK_COUNTER_MAX LITERAL1
|
|
|
|
# SoftSPI
|
|
MY_SOFTSPI LITERAL1
|
|
MY_SOFT_SPI_SCK_PIN LITERAL1
|
|
MY_SOFT_SPI_MISO_PIN LITERAL1
|
|
MY_SOFT_SPI_MOSI_PIN LITERAL1
|
|
|
|
# RF24
|
|
MY_RADIO_RF24 LITERAL1
|
|
MY_DEBUG_VERBOSE_RF24 LITERAL1
|
|
MY_RF24_ENABLE_ENCRYPTION LITERAL1
|
|
MY_RF24_SPI_SPEED LITERAL1
|
|
MY_RF24_CE_PIN LITERAL1
|
|
MY_RF24_CS_PIN LITERAL1
|
|
MY_RF24_IRQ_PIN LITERAL1
|
|
MY_RF24_PA_LEVEL LITERAL1
|
|
MY_RF24_CHANNEL LITERAL1
|
|
MY_RF24_DATARATE LITERAL1
|
|
MY_RF24_BASE_RADIO_ID LITERAL1
|
|
|
|
# NRF5
|
|
MY_RADIO_NRF5_ESB LITERAL1
|
|
MY_DEBUG_VERBOSE_NRF5_ESB LITERAL1
|
|
MY_NRF5_ESB_ADDR_WIDTH LITERAL1
|
|
MY_NRF5_ESB_BASE_RADIO_ID LITERAL1
|
|
MY_NRF5_ESB_CHANNEL LITERAL1
|
|
MY_NRF5_ESB_ENABLE_ENCRYPTION LITERAL1
|
|
MY_NRF5_ESB_MODE LITERAL1
|
|
MY_NRF5_ESB_PA_LEVEL LITERAL1
|
|
MY_NRF5_ESB_RX_BUFFER_SIZE LITERAL1
|
|
|
|
# RFM95
|
|
MY_RADIO_RFM95 LITERAL1
|
|
MY_DEBUG_VERBOSE_RFM95 LITERAL1
|
|
MY_RFM95_MODEM_CONFIGRUATION LITERAL1
|
|
MY_RFM95_FREQUENCY LITERAL1
|
|
MY_RFM95_TX_POWER LITERAL1
|
|
MY_RFM95_CS_PIN LITERAL1
|
|
MY_RFM95_RST_PIN LITERAL1
|
|
MY_RFM95_SPI_SPEED LITERAL1
|
|
MY_RFM95_IRQ_PIN LITERAL1
|
|
MY_RFM95_ATC_TARGET_RSSI LITERAL1
|
|
MY_RFM95_ATC_MODE_DISABLED LITERAL1
|
|
MY_RFM95_ATC_TARGET_RSSI_DBM LITERAL1
|
|
MY_RFM95_MAX_POWER_LEVEL_DBM LITERAL1
|
|
|
|
# RFM69
|
|
MY_RADIO_RFM69 LITERAL1
|
|
MY_DEBUG_VERBOSE_RFM69 LITERAL1
|
|
MY_DEBUG_VERBOSE_RFM69_REGISTERS LITERAL1
|
|
MY_RFM69_FREQUENCY LITERAL1
|
|
MY_IS_RFM69HW LITERAL1
|
|
MY_RFM69_NEW_DRIVER LITERAL1
|
|
MY_RFM69_TX_POWER_DBM LITERAL1
|
|
MY_RFM69_ATC_TARGET_RSSI_DBM LITERAL1
|
|
MY_RFM69_ATC_MODE_DISABLED LITERAL1
|
|
MY_RFM69_MAX_POWER_LEVEL_DBM LITERAL1
|
|
MY_RFM69_NETWORKID LITERAL1
|
|
MY_RFM69_RST_PIN LITERAL1
|
|
MY_RFM69_IRQ_PIN LITERAL1
|
|
MY_RFM69_CS_PIN LITERAL1
|
|
MY_RFM69_ENABLE_ENCRYPTION LITERAL1
|
|
MY_RFM69_ENABLE_LISTENMODE LITERAL1
|
|
MY_RFM69_DEFAULT_LISTEN_RX_US LITERAL1
|
|
MY_RFM69_DEFAULT_LISTEN_IDLE_US LITERAL1
|
|
MY_RFM69_SPI_SPEED LITERAL1
|
|
MY_RFM69_BITRATE_MSB LITERAL1
|
|
MY_RFM69_BITRATE_LSB LITERAL1
|
|
MY_RFM69_CSMA_ADD_DELAY_BASE LITERAL1
|
|
MY_RFM69_CSMA_ADD_DELAY_COUNT LITERAL1
|
|
|
|
# RS485
|
|
MY_RS485 LITERAL1
|
|
MY_RS485_BAUD_RATE LITERAL1
|
|
MY_RS485_MAX_MESSAGE_LENGTH LITERAL1
|
|
MY_RS485_HWSERIAL LITERAL1
|
|
MY_RS485_DE_PIN LITERAL1
|
|
|
|
# Gateway / MQTT
|
|
MY_GATEWAY_SERIAL LITERAL1
|
|
MY_GATEWAY_W5100 LITERAL1
|
|
MY_W5100_SPI_EN LITERAL1
|
|
MY_GATEWAY_ENC28J60 LITERAL1
|
|
MY_GATEWAY_ESP8266 LITERAL1
|
|
MY_INCLUSION_BUTTON_EXTERNAL_PULLUP LITERAL1
|
|
MY_MQTT_SUBSCRIBE_TOPIC_PREFIX LITERAL1
|
|
MY_MQTT_PUBLISH_TOPIC_PREFIX LITERAL1
|
|
MY_MQTT_CLIENT_ID LITERAL1
|
|
MY_GATEWAY_MQTT_CLIENT LITERAL1
|
|
|
|
# Ethernet
|
|
MY_PORT LITERAL1
|
|
MY_IP_ADDRESS LITERAL1
|
|
MY_USE_UDP LITERAL1
|
|
MY_IP_RENEWAL_INTERVAL LITERAL1
|
|
MY_MAC_ADDRESS LITERAL1
|
|
MY_CONTROLLER_IP_ADDRESS LITERAL1
|
|
MY_CONTROLLER_URL_ADDRESS LITERAL1
|
|
MY_GATEWAY_MAX_CLIENTS LITERAL1
|
|
MY_GATEWAY_MAX_SEND_LENGTH LITERAL1
|
|
MY_GATEWAY_MAX_RECEIVE_LENGTH LITERAL1
|
|
MY_IP_GATEWAY_ADDRESS LITERAL1
|
|
MY_IP_SUBNET_ADDRESS LITERAL1
|
|
|
|
# ESP8266
|
|
MY_ESP8266_SSID LITERAL1
|
|
MY_ESP8266_PASSWORD LITERAL1
|
|
MY_ESP8266_HOSTNAME LITERAL1
|
|
MY_ESP8266_SERIAL_MODE LITERAL1
|