mirror of
https://github.com/lumapu/ahoy.git
synced 2025-05-10 23:46:37 +02:00
bugfix pointer to power limit
This commit is contained in:
parent
ef520b65ec
commit
03879d6aed
2 changed files with 10 additions and 9 deletions
|
@ -22,7 +22,7 @@
|
||||||
//
|
//
|
||||||
// #define __MQTT_TEST__ // MQTT Interval wird auf 10 Sekunden verkürzt ( nur für testzwecke )
|
// #define __MQTT_TEST__ // MQTT Interval wird auf 10 Sekunden verkürzt ( nur für testzwecke )
|
||||||
#define __MQTT_AFTER_RX__ // versendet die MQTT Daten sobald die WR daten Aufbereitet wurden ( gehört eigentlich ins Setup )
|
#define __MQTT_AFTER_RX__ // versendet die MQTT Daten sobald die WR daten Aufbereitet wurden ( gehört eigentlich ins Setup )
|
||||||
// #define __MQTT_NO_DISCOVERCONFIG__ // das versenden der MQTTDiscoveryConfig abschalten ( gehört eigentlich ins Setup )
|
#define __MQTT_NO_DISCOVERCONFIG__ // das versenden der MQTTDiscoveryConfig abschalten ( gehört eigentlich ins Setup )
|
||||||
|
|
||||||
typedef CircularBuffer<packet_t, PACKET_BUFFER_SIZE> BufferType;
|
typedef CircularBuffer<packet_t, PACKET_BUFFER_SIZE> BufferType;
|
||||||
typedef HmRadio<RF24_CE_PIN, RF24_CS_PIN, RF24_IRQ_PIN, BufferType> RadioType;
|
typedef HmRadio<RF24_CE_PIN, RF24_CS_PIN, RF24_IRQ_PIN, BufferType> RadioType;
|
||||||
|
|
|
@ -172,16 +172,17 @@ class HmRadio {
|
||||||
// 4 bytes control data
|
// 4 bytes control data
|
||||||
// Power Limit fix point 10 eg. 30 W --> 0d300 = 0x012c
|
// Power Limit fix point 10 eg. 30 W --> 0d300 = 0x012c
|
||||||
// -1 = 0xffff --> no limit
|
// -1 = 0xffff --> no limit
|
||||||
if (data[0] == 0xffff){
|
uint16_t powerLimit = data[0];
|
||||||
data[0] &= 0xffff; // ToDo: unlimit value is needed and is inverter specific! --> get it via RF from inverter or via user interface
|
uint16_t powerLimitSetting = data[1];
|
||||||
|
if (powerLimit == 0xffff){
|
||||||
|
powerLimit &= 0xffff; // ToDo: unlimit value is needed and is inverter specific! --> get it via RF from inverter or via user interface
|
||||||
} else {
|
} else {
|
||||||
data[0] *= 10; // will overwrite the data bc it is a pointer
|
powerLimit *= 10; // will overwrite the data bc it is a pointer
|
||||||
}
|
}
|
||||||
mTxBuf[10 + (++cnt)] = (data[0] >> 8) & 0xff; // power limit
|
mTxBuf[10 + (++cnt)] = (powerLimit >> 8) & 0xff; // power limit
|
||||||
mTxBuf[10 + (++cnt)] = (data[0] ) & 0xff; // power limit
|
mTxBuf[10 + (++cnt)] = (powerLimit ) & 0xff; // power limit
|
||||||
mTxBuf[10 + (++cnt)] = (data[1] >> 8) & 0xff; // setting for persistens handling
|
mTxBuf[10 + (++cnt)] = (powerLimitSetting >> 8) & 0xff; // setting for persistens handling
|
||||||
mTxBuf[10 + (++cnt)] = (data[1] ) & 0xff; // setting for persistens handling
|
mTxBuf[10 + (++cnt)] = (powerLimitSetting ) & 0xff; // setting for persistens handling
|
||||||
data[0] /= 10; // UGLY!
|
|
||||||
}
|
}
|
||||||
// crc control data
|
// crc control data
|
||||||
uint16_t crc = crc16(&mTxBuf[10], cnt+1);
|
uint16_t crc = crc16(&mTxBuf[10], cnt+1);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue