Transport update (#722)

* Major transport rework

* Adjust signal report calculations

* Minor driver optimizations

* Implement sanity check in legacy RFM69 driver

* Additional RFM69 rework

* RFM95 encryption

* Polishing
This commit is contained in:
Olivier
2017-03-28 20:31:08 +02:00
committed by Henrik Ekblad
parent 63b8d935c8
commit b132a8a81e
37 changed files with 5986 additions and 1063 deletions
+101 -62
View File
@@ -29,17 +29,21 @@ smartSleep KEYWORD2
######################################
# Constants (LITERAL1)
#######################################
AUTO LITERAL1
MY_DEBUG LITERAL1
MY_SPECIAL_DEBUG LITERAL1
# General
MY_CORE_ONLY LITERAL1
MY_DEBUG_VERBOSE LITERAL1
MY_DEBUG_VERBOSE_RF24 LITERAL1
MY_DEBUG_VERBOSE_SIGNING LITERAL1
MY_REPEATER_FEATURE LITERAL1
MY_RADIO_NRF24 LITERAL1
MY_RADIO_RFM69 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
@@ -47,12 +51,19 @@ MY_CORE_COMPATIBILITY_CHECK LITERAL1
MY_TRANSPORT_SANITY_CHECK LITERAL1
MY_TRANSPORT_SANITY_CHECK_INTERVAL LITERAL1
MY_TRANSPORT_WAIT_READY_MS LITERAL1
MY_NODE_ID LITERAL1
MY_PARENT_NODE_ID LITERAL1
MY_PARENT_NODE_IS_STATIC 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
@@ -63,83 +74,111 @@ 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_RF24_ENABLE_ENCRYPTION LITERAL1
MY_RF24_SPI_MAX_SPEED LITERAL1
MY_RF24_CE_PIN LITERAL1
MY_RF24_CS_PIN LITERAL1
MY_RF24_IRQ_PIN LITERAL1
MY_RX_MESSAGE_BUFFER_FEATURE LITERAL1
MY_RF24_PA_LEVEL LITERAL1
MY_RF24_CHANNEL LITERAL1
MY_RF24_DATARATE LITERAL1
MY_RF24_BASE_RADIO_ID LITERAL1
MY_RADIO_RFM95 LITERAL1
MY_RFM95_MODEM_CONFIGRUATION LITERAL1
MY_RFM95_FREQUENCY LITERAL1
MY_RFM95_TX_POWER LITERAL1
MY_RFM95_SPI_CS LITERAL1
MY_RFM95_IRQ_PIN LITERAL1
MY_DEBUG_VERBOSE_RFM95 LITERAL1
MY_RFM95_ATC_TARGET_RSSI LITERAL1
MY_RFM95_ATC_MODE_DISABLED 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
MY_RFM69_FREQUENCY 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
# 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_SPI_SPEED LITERAL1
MY_RFM95_IRQ_PIN LITERAL1
MY_RFM95_ATC_TARGET_RSSI LITERAL1
MY_RFM95_ATC_MODE_DISABLED 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_NETWORKID LITERAL1
MY_RF69_IRQ_PIN LITERAL1
MY_RF69_SPI_CS LITERAL1
MY_RF69_IRQ_NUM 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_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
MY_IP_GATEWAY_ADDRESS LITERAL1
MY_IP_SUBNET_ADDRESS LITERAL1
MY_W5100_SPI_EN LITERAL1
MY_RS485 LITERAL1
MY_RS485_BAUD_RATE LITERAL1
MY_RS485_MAX_MESSAGE_LENGTH LITERAL1
MY_RS485_HWSERIAL LITERAL1
MY_INCLUSION_BUTTON_EXTERNAL_PULLUP LITERAL1
MY_W5100_SPI_EN LITERAL1
MY_MQTT_SUBSCRIBE_TOPIC_PREFIX LITERAL1
MY_MQTT_PUBLISH_TOPIC_PREFIX LITERAL1
MY_MQTT_CLIENT_ID LITERAL1
MY_MQTT_CLIENT_PUBLISH_RETAIN LITERAL1
MY_GATEWAY_MQTT_CLIENT LITERAL1
MY_DISABLE_REMOTE_RESET LITERAL1
MY_RS485_DE_PIN LITERAL1
MY_SIGNING_REQUEST_SIGNATURES LITERAL1
MY_SIGNING_GW_REQUEST_SIGNATURES_FROM_ALL LITERAL1
MY_SMART_SLEEP_WAIT_DURATION LITERAL1
MY_NODE_LOCK_FEATURE LITERAL1
MY_NODE_UNLOCK_PIN LITERAL1
MY_NODE_LOCK_COUNTER_MAX LITERAL1
MY_SPIFLASH_SST25TYPE LITERAL1
MY_CRITICAL_SECTION LITERAL1
MY_RX_MESSAGE_BUFFER_SIZE LITERAL1
MY_ESP8266_SERIAL_MODE LITERAL1