Merge branch 'development' into pre-release-10.0.0

This commit is contained in:
Theo Arends 2021-10-17 17:54:24 +02:00
commit 388db0e795
6 changed files with 71 additions and 64 deletions

View File

@ -15,7 +15,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Push I2CDevices.md to https://github.com/Tasmota/docs - name: Push I2CDevices.md to https://github.com/Tasmota/docs
uses: dmnemec/copy_file_to_another_repo_action@main uses: Jason2866/copy_file_to_another_repo_action@main
env: env:
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
with: with:
@ -27,7 +27,7 @@ jobs:
user_name: 'github-actions' user_name: 'github-actions'
commit_message: 'I2CDevices.md changed' commit_message: 'I2CDevices.md changed'
- name: Push Builds.md to https://github.com/Tasmota/docs - name: Push Builds.md to https://github.com/Tasmota/docs
uses: dmnemec/copy_file_to_another_repo_action@main uses: Jason2866/copy_file_to_another_repo_action@main
env: env:
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }} API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
with: with:

View File

@ -579,11 +579,14 @@ static int m_init(bvm *vm)
if (hex_in) { if (hex_in) {
size_arg = strlen(hex_in) / 2; /* allocate headroom */ size_arg = strlen(hex_in) / 2; /* allocate headroom */
} }
}
/* check if fixed size that we have the right size */ /* check if fixed size that we have the right size */
if (attr.fixed && size_arg > attr.size) { if (size_arg > attr.size) {
if (attr.fixed) {
be_raise(vm, BYTES_RESIZE_ERROR, BYTES_RESIZE_MESSAGE); be_raise(vm, BYTES_RESIZE_ERROR, BYTES_RESIZE_MESSAGE);
} else {
attr.size = size_arg;
}
}
} }
/* allocate */ /* allocate */

View File

@ -7,6 +7,8 @@ b=bytes(0)
assert(str(b) == "bytes('')") assert(str(b) == "bytes('')")
b=bytes(1) b=bytes(1)
assert(str(b) == "bytes('')") assert(str(b) == "bytes('')")
b=bytes(-1)
assert(str(b) == "bytes('')")
assert(b.size() == 0) assert(b.size() == 0)
b=bytes("a") b=bytes("a")
@ -164,3 +166,5 @@ b=bytes()
b.fromstring("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.") b.fromstring("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")
assert(str(b) =="bytes('4C6F72656D20697073756D20646F6C6F722073697420616D65742C20636F6E73...')") assert(str(b) =="bytes('4C6F72656D20697073756D20646F6C6F722073697420616D65742C20636F6E73...')")
assert(b.tostring(0) =="bytes('4C6F72656D20697073756D20646F6C6F722073697420616D65742C20636F6E73656374657475722061646970697363696E6720656C69742C2073656420646F20656975736D6F642074656D706F7220696E6369646964756E74207574206C61626F726520657420646F6C6F7265206D61676E6120616C697175612E')") assert(b.tostring(0) =="bytes('4C6F72656D20697073756D20646F6C6F722073697420616D65742C20636F6E73656374657475722061646970697363696E6720656C69742C2073656420646F20656975736D6F642074656D706F7220696E6369646964756E74207574206C61626F726520657420646F6C6F7265206D61676E6120616C697175612E')")
assert(size(bytes('4C6F72656D20697073756D20646F6C6F722073697420616D65742C20636F6E73656374657475722061646970697363696E6720656C69742C2073656420646F20656975736D6F642074656D706F7220696E6369646964756E74207574206C61626F726520657420646F6C6F7265206D61676E6120616C697175612E')) == 123)

View File

@ -1064,17 +1064,17 @@
#define D_NEOPOOL_RELAY_CD "Bomba de Salmuera" #define D_NEOPOOL_RELAY_CD "Bomba de Salmuera"
#define D_NEOPOOL_TIME "Tiempo" #define D_NEOPOOL_TIME "Tiempo"
#define D_NEOPOOL_FILT_MODE "Filtrado" #define D_NEOPOOL_FILT_MODE "Filtrado"
#define D_NEOPOOL_CELL_RUNTIME "Cell runtime" #define D_NEOPOOL_CELL_RUNTIME "Tiempo de actividad"
#define D_NEOPOOL_POLARIZATION "Pol" // Sensor status #define D_NEOPOOL_POLARIZATION "Pol" // Sensor status
#define D_NEOPOOL_PR_OFF "PrOff" #define D_NEOPOOL_PR_OFF "PrOff"
#define D_NEOPOOL_SETPOINT_OK "Ok" #define D_NEOPOOL_SETPOINT_OK "Ok"
#define D_NEOPOOL_COVER "Cover" #define D_NEOPOOL_COVER "Cover"
#define D_NEOPOOL_SHOCK "Golpe" #define D_NEOPOOL_SHOCK "Golpe"
#define D_NEOPOOL_STATUS_ON "ON" #define D_NEOPOOL_STATUS_ON "Encendido"
#define D_NEOPOOL_STATUS_OFF "OFF" #define D_NEOPOOL_STATUS_OFF "Apagado"
#define D_NEOPOOL_STATUS_WAIT "WAIT" #define D_NEOPOOL_STATUS_WAIT "Espera"
#define D_NEOPOOL_STATUS_TANK "TANK" #define D_NEOPOOL_STATUS_TANK "Tanque"
#define D_NEOPOOL_STATUS_FLOW "Flow" #define D_NEOPOOL_STATUS_FLOW "Flujo"
#define D_NEOPOOL_LOW "Bajo" #define D_NEOPOOL_LOW "Bajo"
#define D_NEOPOOL_FLOW1 "FL1" #define D_NEOPOOL_FLOW1 "FL1"
#define D_NEOPOOL_FLOW2 "FL2" #define D_NEOPOOL_FLOW2 "FL2"

View File

@ -1027,13 +1027,13 @@
// xsns_83_neopool.ino // xsns_83_neopool.ino
#define D_NEOPOOL_MACH_NONE "NeoPool" // Machine names #define D_NEOPOOL_MACH_NONE "NeoPool" // Machine names
#define D_NEOPOOL_MACH_HIDROLIFE "Hidrolife (yellow)" #define D_NEOPOOL_MACH_HIDROLIFE "Hidrolife (amarelo)"
#define D_NEOPOOL_MACH_AQUASCENIC "Aquascenic (blue)" #define D_NEOPOOL_MACH_AQUASCENIC "Aquascenic (azul)"
#define D_NEOPOOL_MACH_OXILIFE "Oxilife (green)" #define D_NEOPOOL_MACH_OXILIFE "Oxilife (verde)"
#define D_NEOPOOL_MACH_BIONET "Bionet (light blue)" #define D_NEOPOOL_MACH_BIONET "Bionet (azul claro)"
#define D_NEOPOOL_MACH_HIDRONISER "Hidroniser (red)" #define D_NEOPOOL_MACH_HIDRONISER "Hidroniser (vermelho)"
#define D_NEOPOOL_MACH_UVSCENIC "UVScenic (lilac)" #define D_NEOPOOL_MACH_UVSCENIC "UVScenic (lilás)"
#define D_NEOPOOL_MACH_STATION "Station (orange)" #define D_NEOPOOL_MACH_STATION "Station (laranja)"
#define D_NEOPOOL_MACH_BRILIX "Brilix" #define D_NEOPOOL_MACH_BRILIX "Brilix"
#define D_NEOPOOL_MACH_GENERIC "Genérico" #define D_NEOPOOL_MACH_GENERIC "Genérico"
#define D_NEOPOOL_MACH_BAYROL "Bayrol" #define D_NEOPOOL_MACH_BAYROL "Bayrol"
@ -1057,19 +1057,19 @@
#define D_NEOPOOL_RELAY "Relé" #define D_NEOPOOL_RELAY "Relé"
#define D_NEOPOOL_RELAY_FILTRATION "Filtragem" #define D_NEOPOOL_RELAY_FILTRATION "Filtragem"
#define D_NEOPOOL_RELAY_LIGHT "Luz" #define D_NEOPOOL_RELAY_LIGHT "Luz"
#define D_NEOPOOL_RELAY_PH_ACID "bomba de ácidos" #define D_NEOPOOL_RELAY_PH_ACID "Bomba de ácidos"
#define D_NEOPOOL_RELAY_PH_BASE "bomba de bases" #define D_NEOPOOL_RELAY_PH_BASE "Bomba de bases"
#define D_NEOPOOL_RELAY_RX "Nível de Redox" #define D_NEOPOOL_RELAY_RX "Nível de Redox"
#define D_NEOPOOL_RELAY_CL "Bomba de cloro" #define D_NEOPOOL_RELAY_CL "Bomba de cloro"
#define D_NEOPOOL_RELAY_CD "Bomba de salmora" #define D_NEOPOOL_RELAY_CD "Bomba de salmora"
#define D_NEOPOOL_TIME "Time" #define D_NEOPOOL_TIME "Tempo"
#define D_NEOPOOL_FILT_MODE "Filtragem" #define D_NEOPOOL_FILT_MODE "Filtragem"
#define D_NEOPOOL_CELL_RUNTIME "Cell runtime" #define D_NEOPOOL_CELL_RUNTIME "Tempo de atividade"
#define D_NEOPOOL_POLARIZATION "Pol" // Sensor status #define D_NEOPOOL_POLARIZATION "Pol" // Sensor status
#define D_NEOPOOL_PR_OFF "PrOff" #define D_NEOPOOL_PR_OFF "PrOff"
#define D_NEOPOOL_SETPOINT_OK "Ok" #define D_NEOPOOL_SETPOINT_OK "Ok"
#define D_NEOPOOL_COVER "Cover" #define D_NEOPOOL_COVER "Cobrir"
#define D_NEOPOOL_SHOCK "Boost" #define D_NEOPOOL_SHOCK "Impulsionar"
#define D_NEOPOOL_STATUS_ON "LIGADO" #define D_NEOPOOL_STATUS_ON "LIGADO"
#define D_NEOPOOL_STATUS_OFF "DESLIGADO" #define D_NEOPOOL_STATUS_OFF "DESLIGADO"
#define D_NEOPOOL_STATUS_WAIT "AGUARDE" #define D_NEOPOOL_STATUS_WAIT "AGUARDE"

View File

@ -1027,15 +1027,15 @@
// xsns_83_neopool.ino // xsns_83_neopool.ino
#define D_NEOPOOL_MACH_NONE "NeoPool" // Machine names #define D_NEOPOOL_MACH_NONE "NeoPool" // Machine names
#define D_NEOPOOL_MACH_HIDROLIFE "Hidrolife (yellow)" #define D_NEOPOOL_MACH_HIDROLIFE "Hidrolife (amarelo)"
#define D_NEOPOOL_MACH_AQUASCENIC "Aquascenic (blue)" #define D_NEOPOOL_MACH_AQUASCENIC "Aquascenic (azul)"
#define D_NEOPOOL_MACH_OXILIFE "Oxilife (green)" #define D_NEOPOOL_MACH_OXILIFE "Oxilife (verde)"
#define D_NEOPOOL_MACH_BIONET "Bionet (light blue)" #define D_NEOPOOL_MACH_BIONET "Bionet (azul claro)"
#define D_NEOPOOL_MACH_HIDRONISER "Hidroniser (red)" #define D_NEOPOOL_MACH_HIDRONISER "Hidroniser (vermelho)"
#define D_NEOPOOL_MACH_UVSCENIC "UVScenic (lilac)" #define D_NEOPOOL_MACH_UVSCENIC "UVScenic (lilás)"
#define D_NEOPOOL_MACH_STATION "Station (orange)" #define D_NEOPOOL_MACH_STATION "Station (laranja)"
#define D_NEOPOOL_MACH_BRILIX "Brilix" #define D_NEOPOOL_MACH_BRILIX "Brilix"
#define D_NEOPOOL_MACH_GENERIC "Generic" #define D_NEOPOOL_MACH_GENERIC "Genérico"
#define D_NEOPOOL_MACH_BAYROL "Bayrol" #define D_NEOPOOL_MACH_BAYROL "Bayrol"
#define D_NEOPOOL_MACH_HAY "Hay" #define D_NEOPOOL_MACH_HAY "Hay"
#define D_NEOPOOL_FILTRATION_MANUAL "Manual" // Filtration modes #define D_NEOPOOL_FILTRATION_MANUAL "Manual" // Filtration modes
@ -1045,41 +1045,41 @@
#define D_NEOPOOL_FILTRATION_INTELLIGENT "Intelligent" #define D_NEOPOOL_FILTRATION_INTELLIGENT "Intelligent"
#define D_NEOPOOL_FILTRATION_BACKWASH "Backwash" #define D_NEOPOOL_FILTRATION_BACKWASH "Backwash"
#define D_NEOPOOL_FILTRATION_NONE "" // Filtration speed level #define D_NEOPOOL_FILTRATION_NONE "" // Filtration speed level
#define D_NEOPOOL_FILTRATION_SLOW "slow" #define D_NEOPOOL_FILTRATION_SLOW "lento"
#define D_NEOPOOL_FILTRATION_MEDIUM "medium" #define D_NEOPOOL_FILTRATION_MEDIUM "médio"
#define D_NEOPOOL_FILTRATION_FAST "fast" #define D_NEOPOOL_FILTRATION_FAST "rápido"
#define D_NEOPOOL_TYPE "Type" // Sensor & relais names #define D_NEOPOOL_TYPE "Tipo" // Sensor & relais names
#define D_NEOPOOL_REDOX "Redox" #define D_NEOPOOL_REDOX "Redox"
#define D_NEOPOOL_CHLORINE "Chlorine" #define D_NEOPOOL_CHLORINE "Cloro"
#define D_NEOPOOL_CONDUCTIVITY "Conductivity" #define D_NEOPOOL_CONDUCTIVITY "Condutividade"
#define D_NEOPOOL_IONIZATION "Ionization" #define D_NEOPOOL_IONIZATION "Ionização"
#define D_NEOPOOL_HYDROLYSIS "Hydrolysis" #define D_NEOPOOL_HYDROLYSIS "Hidrólise"
#define D_NEOPOOL_RELAY "Relay" #define D_NEOPOOL_RELAY "Relé"
#define D_NEOPOOL_RELAY_FILTRATION "Filtration" #define D_NEOPOOL_RELAY_FILTRATION "Filtragem"
#define D_NEOPOOL_RELAY_LIGHT "Light" #define D_NEOPOOL_RELAY_LIGHT "Luz"
#define D_NEOPOOL_RELAY_PH_ACID "Acid pump" #define D_NEOPOOL_RELAY_PH_ACID "Bomba de ácidos"
#define D_NEOPOOL_RELAY_PH_BASE "Base pump" #define D_NEOPOOL_RELAY_PH_BASE "Bomba de bases"
#define D_NEOPOOL_RELAY_RX "Redox level" #define D_NEOPOOL_RELAY_RX "Nível de Redox"
#define D_NEOPOOL_RELAY_CL "Chlorine pump" #define D_NEOPOOL_RELAY_CL "Bomba de cloro"
#define D_NEOPOOL_RELAY_CD "Brine pump" #define D_NEOPOOL_RELAY_CD "Bomba de salmora"
#define D_NEOPOOL_TIME "Time" #define D_NEOPOOL_TIME "Tempo"
#define D_NEOPOOL_FILT_MODE "Filtration" #define D_NEOPOOL_FILT_MODE "Filtragem"
#define D_NEOPOOL_CELL_RUNTIME "Cell runtime" #define D_NEOPOOL_CELL_RUNTIME "Tempo de atividade"
#define D_NEOPOOL_POLARIZATION "Pol" // Sensor status #define D_NEOPOOL_POLARIZATION "Pol" // Sensor status
#define D_NEOPOOL_PR_OFF "PrOff" #define D_NEOPOOL_PR_OFF "PrOff"
#define D_NEOPOOL_SETPOINT_OK "Ok" #define D_NEOPOOL_SETPOINT_OK "Ok"
#define D_NEOPOOL_COVER "Cover" #define D_NEOPOOL_COVER "Cobrir"
#define D_NEOPOOL_SHOCK "Boost" #define D_NEOPOOL_SHOCK "Impulsionar"
#define D_NEOPOOL_STATUS_ON "ON" #define D_NEOPOOL_STATUS_ON "LIGADO"
#define D_NEOPOOL_STATUS_OFF "OFF" #define D_NEOPOOL_STATUS_OFF "DESLIGADO"
#define D_NEOPOOL_STATUS_WAIT "WAIT" #define D_NEOPOOL_STATUS_WAIT "AGUARDE"
#define D_NEOPOOL_STATUS_TANK "TANK" #define D_NEOPOOL_STATUS_TANK "TANQUE"
#define D_NEOPOOL_STATUS_FLOW "Flow" #define D_NEOPOOL_STATUS_FLOW "Fluxo"
#define D_NEOPOOL_LOW "Low" #define D_NEOPOOL_LOW "baixo"
#define D_NEOPOOL_FLOW1 "FL1" #define D_NEOPOOL_FLOW1 "FL1"
#define D_NEOPOOL_FLOW2 "FL2" #define D_NEOPOOL_FLOW2 "FL2"
#define D_NEOPOOL_PH_HIGH "too high" // ph Alarms #define D_NEOPOOL_PH_HIGH "Muito alto" // ph Alarms
#define D_NEOPOOL_PH_LOW "too low" #define D_NEOPOOL_PH_LOW "Muito baixo"
#define D_NEOPOOL_PUMP_TIME_EXCEEDED "pump time exceeded" #define D_NEOPOOL_PUMP_TIME_EXCEEDED "tempo da bomba excedido"
#endif // _LANGUAGE_PT_PT_H_ #endif // _LANGUAGE_PT_PT_H_