Merging changes

This commit is contained in:
2018-05-06 18:40:53 +03:00
parent 7c68fd1491
commit 0c3b4e6034
3 changed files with 15 additions and 14 deletions

View File

@@ -32,8 +32,6 @@ e-mail anklimov@gmail.com
#include <ModbusMaster.h> #include <ModbusMaster.h>
#include <PubSubClient.h> #include <PubSubClient.h>
#define dimPar SERIAL_8E1
#define fmPar SERIAL_8N1
short modbusBusy = 0; short modbusBusy = 0;
extern aJsonObject *pollingItem; extern aJsonObject *pollingItem;
@@ -121,9 +119,9 @@ void Item::setCmd(uint8_t cmd) {
int Item::getArg(short n) //Return arg int or first array element if Arg is array int Item::getArg(short n) //Return arg int or first array element if Arg is array
{ {
if (!itemArg) return -1; if (!itemArg) return -1;
if (itemArg->type == aJson_Int){ if (itemArg->type == aJson_Int){
if (!n) return itemArg->valueint; else return -1; if (!n) return itemArg->valueint; else return -1;
} }
if ((itemArg->type == aJson_Array) && ( n < aJson.getArraySize(itemArg))) return aJson.getArrayItem(itemArg, n)->valueint; if ((itemArg->type == aJson_Array) && ( n < aJson.getArraySize(itemArg))) return aJson.getArrayItem(itemArg, n)->valueint;
else return -2; else return -2;
} }
@@ -839,13 +837,13 @@ int Item::modbusDimmerSet(int addr, uint16_t _reg, int _mask, uint16_t value) {
switch (_mask) { switch (_mask) {
case 1: case 1:
value <<= 8; value <<= 8;
value |= (0xff); value |= (0xff);
break; break;
case 0: case 0:
value &= 0xff; value &= 0xff;
value |= (0xff00); value |= (0xff00);
} }
Serial.print(addr); Serial.print(addr);
@@ -1030,16 +1028,16 @@ int Item::checkModbusDimmer() {
int Item::checkModbusDimmer(int data) { int Item::checkModbusDimmer(int data) {
short mask = getArg(2); short mask = getArg(2);
if (mask < 0) return 0; if (mask < 0) return 0;
short maxVal = getArg(3); short maxVal = getArg(3);
if (maxVal<=0) maxVal = 0x3f; if (maxVal<=0) maxVal = 0x3f;
int d = data; int d = data;
if (mask == 1) d >>= 8; if (mask == 1) d >>= 8;
if (mask == 0 || mask == 1) d &= 0xff; if (mask == 0 || mask == 1) d &= 0xff;
if (maxVal) d = map(d, 0, maxVal, 0, 100); if (maxVal) d = map(d, 0, maxVal, 0, 100);
int cmd = getCmd(); int cmd = getCmd();
//Serial.println(d); //Serial.println(d);
if (getVal() != d || d && cmd == CMD_OFF || d && cmd == CMD_HALT) //volume changed or turned on manualy if (getVal() != d || d && cmd == CMD_OFF || d && cmd == CMD_HALT) //volume changed or turned on manualy

View File

@@ -32,7 +32,10 @@
#define MODBUS_SERIAL_BAUD 9600 #define MODBUS_SERIAL_BAUD 9600
#endif #endif
#ifndef SERIAL_BAUD #define dimPar SERIAL_8E1
#define fmPar SERIAL_8N1
#ifndef SERIAL_BAUD
#define SERIAL_BAUD 115200 #define SERIAL_BAUD 115200
#endif #endif

View File

@@ -9,11 +9,11 @@
; http://docs.platformio.org/page/projectconf.html ; http://docs.platformio.org/page/projectconf.html
[platformio] [platformio]
src_dir = lighthub src_dir = lighthub
env_default = env_default = due-5500
; megaatmega2560 ; megaatmega2560
; megaatmega2560-5500 ; megaatmega2560-5500
; due ; due
due-5500
; esp8266 ; esp8266
[env:due] [env:due]