mirror of
https://github.com/anklimov/lighthub
synced 2025-12-08 12:49:50 +03:00
Merging changes
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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]
|
||||||
|
|||||||
Reference in New Issue
Block a user