Merge pull request #3068 from esphome/bump-2022.1.0b4

2022.1.0b4
This commit is contained in:
Jesse Hills 2022-01-19 07:40:37 +13:00 committed by GitHub
commit 5dc776e55f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 17 additions and 10 deletions

View File

@ -1,6 +1,7 @@
#include "api_frame_helper.h" #include "api_frame_helper.h"
#include "esphome/core/log.h" #include "esphome/core/log.h"
#include "esphome/core/hal.h"
#include "esphome/core/helpers.h" #include "esphome/core/helpers.h"
#include "proto.h" #include "proto.h"
#include <cstring> #include <cstring>
@ -721,7 +722,12 @@ APIError APINoiseFrameHelper::shutdown(int how) {
} }
extern "C" { extern "C" {
// declare how noise generates random bytes (here with a good HWRNG based on the RF system) // declare how noise generates random bytes (here with a good HWRNG based on the RF system)
void noise_rand_bytes(void *output, size_t len) { esphome::random_bytes(reinterpret_cast<uint8_t *>(output), len); } void noise_rand_bytes(void *output, size_t len) {
if (!esphome::random_bytes(reinterpret_cast<uint8_t *>(output), len)) {
ESP_LOGE(TAG, "Failed to acquire random bytes, rebooting!");
arch_restart();
}
}
} }
#endif // USE_API_NOISE #endif // USE_API_NOISE

View File

@ -18,6 +18,7 @@ from ..const import (
CONF_FORCE_NEW_RANGE, CONF_FORCE_NEW_RANGE,
CONF_MODBUS_CONTROLLER_ID, CONF_MODBUS_CONTROLLER_ID,
CONF_REGISTER_TYPE, CONF_REGISTER_TYPE,
CONF_SKIP_UPDATES,
CONF_USE_WRITE_MULTIPLE, CONF_USE_WRITE_MULTIPLE,
CONF_WRITE_LAMBDA, CONF_WRITE_LAMBDA,
) )
@ -53,6 +54,7 @@ async def to_code(config):
config[CONF_ADDRESS], config[CONF_ADDRESS],
byte_offset, byte_offset,
config[CONF_BITMASK], config[CONF_BITMASK],
config[CONF_SKIP_UPDATES],
config[CONF_FORCE_NEW_RANGE], config[CONF_FORCE_NEW_RANGE],
) )
await cg.register_component(var, config) await cg.register_component(var, config)

View File

@ -10,14 +10,14 @@ namespace modbus_controller {
class ModbusSwitch : public Component, public switch_::Switch, public SensorItem { class ModbusSwitch : public Component, public switch_::Switch, public SensorItem {
public: public:
ModbusSwitch(ModbusRegisterType register_type, uint16_t start_address, uint8_t offset, uint32_t bitmask, ModbusSwitch(ModbusRegisterType register_type, uint16_t start_address, uint8_t offset, uint32_t bitmask,
bool force_new_range) uint8_t skip_updates, bool force_new_range)
: Component(), switch_::Switch() { : Component(), switch_::Switch() {
this->register_type = register_type; this->register_type = register_type;
this->start_address = start_address; this->start_address = start_address;
this->offset = offset; this->offset = offset;
this->bitmask = bitmask; this->bitmask = bitmask;
this->sensor_value_type = SensorValueType::BIT; this->sensor_value_type = SensorValueType::BIT;
this->skip_updates = 0; this->skip_updates = skip_updates;
this->register_count = 1; this->register_count = 1;
if (register_type == ModbusRegisterType::HOLDING || register_type == ModbusRegisterType::COIL) { if (register_type == ModbusRegisterType::HOLDING || register_type == ModbusRegisterType::COIL) {
this->start_address += offset; this->start_address += offset;

View File

@ -1,6 +1,6 @@
"""Constants used by esphome.""" """Constants used by esphome."""
__version__ = "2022.1.0b3" __version__ = "2022.1.0b4"
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_" ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"

View File

@ -287,13 +287,12 @@ uint32_t random_uint32() {
#endif #endif
} }
float random_float() { return static_cast<float>(random_uint32()) / static_cast<float>(UINT32_MAX); } float random_float() { return static_cast<float>(random_uint32()) / static_cast<float>(UINT32_MAX); }
void random_bytes(uint8_t *data, size_t len) { bool random_bytes(uint8_t *data, size_t len) {
#ifdef USE_ESP32 #ifdef USE_ESP32
esp_fill_random(data, len); esp_fill_random(data, len);
return true;
#elif defined(USE_ESP8266) #elif defined(USE_ESP8266)
if (os_get_random(data, len) != 0) { return os_get_random(data, len) == 0;
ESP_LOGE(TAG, "Failed to generate random bytes!");
}
#else #else
#error "No random source available for this configuration." #error "No random source available for this configuration."
#endif #endif

View File

@ -311,7 +311,7 @@ uint32_t random_uint32();
/// Return a random float between 0 and 1. /// Return a random float between 0 and 1.
float random_float(); float random_float();
/// Generate \p len number of random bytes. /// Generate \p len number of random bytes.
void random_bytes(uint8_t *data, size_t len); bool random_bytes(uint8_t *data, size_t len);
///@} ///@}

View File

@ -9,7 +9,7 @@ pyserial==3.5
platformio==5.2.4 # When updating platformio, also update Dockerfile platformio==5.2.4 # When updating platformio, also update Dockerfile
esptool==3.2 esptool==3.2
click==8.0.3 click==8.0.3
esphome-dashboard==20220113.2 esphome-dashboard==20220116.0
aioesphomeapi==10.6.0 aioesphomeapi==10.6.0
zeroconf==0.37.0 zeroconf==0.37.0