mirror of
https://github.com/thelsing/knx.git
synced 2025-08-03 13:48:15 +02:00
Add logs for ESP32
This commit is contained in:
parent
24f8e1eee6
commit
205c1f5b15
@ -73,6 +73,7 @@ uint32_t Esp32Platform::uniqueSerialNumber()
|
|||||||
void Esp32Platform::restart()
|
void Esp32Platform::restart()
|
||||||
{
|
{
|
||||||
println("restart");
|
println("restart");
|
||||||
|
KNX_LOGI(KTAG, "restart");
|
||||||
ESP.restart();
|
ESP.restart();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,7 +111,7 @@ int Esp32Platform::readBytesMultiCast(uint8_t* buffer, uint16_t maxLen, uint32_t
|
|||||||
if (len > maxLen)
|
if (len > maxLen)
|
||||||
{
|
{
|
||||||
println("Unexpected UDP data packet length - drop packet");
|
println("Unexpected UDP data packet length - drop packet");
|
||||||
|
KNX_LOGW(KTAG, "Unexpected UDP data packet length - drop packet");
|
||||||
for (size_t i = 0; i < len; i++)
|
for (size_t i = 0; i < len; i++)
|
||||||
_udp.read();
|
_udp.read();
|
||||||
|
|
||||||
@ -144,11 +145,15 @@ bool Esp32Platform::sendBytesUniCast(uint32_t addr, uint16_t port, uint8_t* buff
|
|||||||
{
|
{
|
||||||
_udp.write(buffer, len);
|
_udp.write(buffer, len);
|
||||||
|
|
||||||
if (_udp.endPacket() == 0)
|
if (_udp.endPacket() == 0){
|
||||||
println("sendBytesUniCast endPacket fail");
|
println("sendBytesUniCast endPacket fail");
|
||||||
|
KNX_LOGE(KTAG, "endBytesUniCast endPacket fail");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else{
|
||||||
println("sendBytesUniCast beginPacket fail");
|
println("sendBytesUniCast beginPacket fail");
|
||||||
|
KNX_LOGE(KTAG, "endBytesUniCast beginPacket fail");
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -166,6 +166,7 @@ TPAckType Bau07B0::isAckRequired(uint16_t address, bool isGrpAddr)
|
|||||||
if (address == 0)
|
if (address == 0)
|
||||||
{
|
{
|
||||||
println("Invalid broadcast detected: destination address is 0, but address type is \"individual\"");
|
println("Invalid broadcast detected: destination address is 0, but address type is \"individual\"");
|
||||||
|
KNX_LOGE(KTAG, "Invalid broadcast detected: destination address is 0, but address type is \"individual\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
return TPAckType::AckReqNone;
|
return TPAckType::AckReqNone;
|
||||||
|
@ -56,6 +56,7 @@ uint8_t BauSystemB::checkmasterResetValidity(EraseCode eraseCode, uint8_t channe
|
|||||||
case EraseCode::ConfirmedRestart:
|
case EraseCode::ConfirmedRestart:
|
||||||
{
|
{
|
||||||
println("Confirmed restart requested.");
|
println("Confirmed restart requested.");
|
||||||
|
KNX_LOGI(KTAG, "Confirmed restart requested.");
|
||||||
return successCode;
|
return successCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,6 +64,7 @@ uint8_t BauSystemB::checkmasterResetValidity(EraseCode eraseCode, uint8_t channe
|
|||||||
{
|
{
|
||||||
// TODO: increase download counter except for confirmed restart (PID_DOWNLOAD_COUNTER)
|
// TODO: increase download counter except for confirmed restart (PID_DOWNLOAD_COUNTER)
|
||||||
println("ResetAP requested. Not implemented yet.");
|
println("ResetAP requested. Not implemented yet.");
|
||||||
|
KNX_LOGW(KTAG, "ResetAP requested. Not implemented yet.");
|
||||||
return successCode;
|
return successCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,6 +72,7 @@ uint8_t BauSystemB::checkmasterResetValidity(EraseCode eraseCode, uint8_t channe
|
|||||||
{
|
{
|
||||||
// TODO: increase download counter except for confirmed restart (PID_DOWNLOAD_COUNTER)
|
// TODO: increase download counter except for confirmed restart (PID_DOWNLOAD_COUNTER)
|
||||||
println("ResetIA requested. Not implemented yet.");
|
println("ResetIA requested. Not implemented yet.");
|
||||||
|
KNX_LOGW(KTAG, "ResetIA requested. Not implemented yet.");
|
||||||
return successCode;
|
return successCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -77,6 +80,7 @@ uint8_t BauSystemB::checkmasterResetValidity(EraseCode eraseCode, uint8_t channe
|
|||||||
{
|
{
|
||||||
// TODO: increase download counter except for confirmed restart (PID_DOWNLOAD_COUNTER)
|
// TODO: increase download counter except for confirmed restart (PID_DOWNLOAD_COUNTER)
|
||||||
println("ResetLinks requested. Not implemented yet.");
|
println("ResetLinks requested. Not implemented yet.");
|
||||||
|
KNX_LOGW(KTAG, "ResetLinks requested. Not implemented yet.");
|
||||||
return successCode;
|
return successCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -84,6 +88,7 @@ uint8_t BauSystemB::checkmasterResetValidity(EraseCode eraseCode, uint8_t channe
|
|||||||
{
|
{
|
||||||
// TODO: increase download counter except for confirmed restart (PID_DOWNLOAD_COUNTER)
|
// TODO: increase download counter except for confirmed restart (PID_DOWNLOAD_COUNTER)
|
||||||
println("ResetParam requested. Not implemented yet.");
|
println("ResetParam requested. Not implemented yet.");
|
||||||
|
KNX_LOGW(KTAG, "ResetParam requested. Not implemented yet.");
|
||||||
return successCode;
|
return successCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,6 +96,7 @@ uint8_t BauSystemB::checkmasterResetValidity(EraseCode eraseCode, uint8_t channe
|
|||||||
{
|
{
|
||||||
// TODO: increase download counter except for confirmed restart (PID_DOWNLOAD_COUNTER)
|
// TODO: increase download counter except for confirmed restart (PID_DOWNLOAD_COUNTER)
|
||||||
println("Factory reset requested. type: with IA");
|
println("Factory reset requested. type: with IA");
|
||||||
|
KNX_LOGI(KTAG, "Factory reset requested. type: with IA");
|
||||||
return successCode;
|
return successCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,11 +104,13 @@ uint8_t BauSystemB::checkmasterResetValidity(EraseCode eraseCode, uint8_t channe
|
|||||||
{
|
{
|
||||||
// TODO: increase download counter except for confirmed restart (PID_DOWNLOAD_COUNTER)
|
// TODO: increase download counter except for confirmed restart (PID_DOWNLOAD_COUNTER)
|
||||||
println("Factory reset requested. type: without IA");
|
println("Factory reset requested. type: without IA");
|
||||||
|
KNX_LOGI(KTAG, "Factory reset requested. type: without IA");
|
||||||
return successCode;
|
return successCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
KNX_LOGW(KTAG, "Unhandled erase code: %02X", eraseCode);
|
||||||
print("Unhandled erase code: ");
|
print("Unhandled erase code: ");
|
||||||
println(eraseCode, HEX);
|
println(eraseCode, HEX);
|
||||||
return invalidEraseCode;
|
return invalidEraseCode;
|
||||||
@ -211,7 +219,7 @@ void BauSystemB::restartRequestIndication(Priority priority, HopCountType hopTyp
|
|||||||
if (restartType == RestartType::BasicRestart)
|
if (restartType == RestartType::BasicRestart)
|
||||||
{
|
{
|
||||||
println("Basic restart requested");
|
println("Basic restart requested");
|
||||||
|
KNX_LOGI(KTAG, "Basic restart requested");
|
||||||
if (_beforeRestart != 0)
|
if (_beforeRestart != 0)
|
||||||
_beforeRestart();
|
_beforeRestart();
|
||||||
}
|
}
|
||||||
@ -227,6 +235,7 @@ void BauSystemB::restartRequestIndication(Priority priority, HopCountType hopTyp
|
|||||||
{
|
{
|
||||||
// Cannot happen as restartType is just one bit
|
// Cannot happen as restartType is just one bit
|
||||||
println("Unhandled restart type.");
|
println("Unhandled restart type.");
|
||||||
|
KNX_LOGI(KTAG, "Unhandled restart type.");
|
||||||
_platform.fatalError();
|
_platform.fatalError();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -280,12 +289,14 @@ void BauSystemB::propertyExtDescriptionReadIndication(Priority priority, HopCoun
|
|||||||
if (propertyId > 0xFF || propertyIndex > 0xFF)
|
if (propertyId > 0xFF || propertyIndex > 0xFF)
|
||||||
{
|
{
|
||||||
println("BauSystemB::propertyExtDescriptionReadIndication: propertyId or Idx > 256 are not supported");
|
println("BauSystemB::propertyExtDescriptionReadIndication: propertyId or Idx > 256 are not supported");
|
||||||
|
KNX_LOGI(KTAG, "BauSystemB::propertyExtDescriptionReadIndication: propertyId or Idx > 256 are not supported");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (descriptionType != 0)
|
if (descriptionType != 0)
|
||||||
{
|
{
|
||||||
println("BauSystemB::propertyExtDescriptionReadIndication: only descriptionType 0 supported");
|
println("BauSystemB::propertyExtDescriptionReadIndication: only descriptionType 0 supported");
|
||||||
|
KNX_LOGI(KTAG, "BauSystemB::propertyExtDescriptionReadIndication: only descriptionType 0 supported");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -212,6 +212,7 @@ void BauSystemBDevice::groupValueReadIndication(uint16_t asap, Priority priority
|
|||||||
if (secCtrl.dataSecurity != requiredGoSecurity)
|
if (secCtrl.dataSecurity != requiredGoSecurity)
|
||||||
{
|
{
|
||||||
println("GroupValueRead: access denied due to wrong security flags");
|
println("GroupValueRead: access denied due to wrong security flags");
|
||||||
|
KNX_LOGE(KTAG, "GroupValueRead: access denied due to wrong security flags");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -248,6 +249,7 @@ void BauSystemBDevice::groupValueWriteIndication(uint16_t asap, Priority priorit
|
|||||||
if (secCtrl.dataSecurity != requiredGoSecurity)
|
if (secCtrl.dataSecurity != requiredGoSecurity)
|
||||||
{
|
{
|
||||||
println("GroupValueWrite: access denied due to wrong security flags");
|
println("GroupValueWrite: access denied due to wrong security flags");
|
||||||
|
KNX_LOGE(KTAG, "GroupValueWrite: access denied due to wrong security flags");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
#include "knx_log.h" // ESP32 Logs
|
||||||
|
|
||||||
#if defined(__linux__)
|
#if defined(__linux__)
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
|
@ -219,6 +219,7 @@ bool DataLinkLayer::sendTelegram(NPDU& npdu, AckType ack, uint16_t destinationAd
|
|||||||
if (!frame.valid())
|
if (!frame.valid())
|
||||||
{
|
{
|
||||||
println("invalid frame");
|
println("invalid frame");
|
||||||
|
KNX_LOGW(KTAG, "invalid frame");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,8 +8,10 @@ Dpt::Dpt()
|
|||||||
Dpt::Dpt(short mainGroup, short subGroup, short index /* = 0 */)
|
Dpt::Dpt(short mainGroup, short subGroup, short index /* = 0 */)
|
||||||
: mainGroup(mainGroup), subGroup(subGroup), index(index)
|
: mainGroup(mainGroup), subGroup(subGroup), index(index)
|
||||||
{
|
{
|
||||||
if (subGroup == 0)
|
if (subGroup == 0){
|
||||||
println("WARNING: You used and invalid Dpt *.0");
|
println("WARNING: You used and invalid Dpt *.0");
|
||||||
|
KNX_LOGW(KTAG, "You used and invalid Dpt *.0");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Dpt::operator==(const Dpt& other) const
|
bool Dpt::operator==(const Dpt& other) const
|
||||||
|
34
src/knx/knx_log.h
Executable file
34
src/knx/knx_log.h
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
#ifndef __KNX_LOG_H__
|
||||||
|
#define __KNX_LOG_H__
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
// #ifdef ESP32
|
||||||
|
|
||||||
|
#include "esp_log.h"
|
||||||
|
|
||||||
|
// Uncomment enable KNX SDK LOGS
|
||||||
|
#define KNX_SDK_ENABLE_LOGS
|
||||||
|
|
||||||
|
static const char* KTAG = "KNX_LIB";
|
||||||
|
|
||||||
|
#ifdef KNX_SDK_ENABLE_LOGS
|
||||||
|
|
||||||
|
#define KNX_LOGE ESP_LOGE
|
||||||
|
#define KNX_LOGW ESP_LOGW
|
||||||
|
#define KNX_LOGI ESP_LOGI
|
||||||
|
#define KNX_LOGD ESP_LOGD
|
||||||
|
#define KNX_LOGV ESP_LOGV
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define KNX_LOGE(...) ((void)0)
|
||||||
|
#define KNX_LOGW(...) ((void)0)
|
||||||
|
#define KNX_LOGI(...) ((void)0)
|
||||||
|
#define KNX_LOGD(...) ((void)0)
|
||||||
|
#define KNX_LOGV(...) ((void)0)
|
||||||
|
|
||||||
|
#endif // KNX_SDK_ENABLE_LOGS
|
||||||
|
|
||||||
|
// #endif // ESP32
|
||||||
|
|
||||||
|
#endif // __KNX_LOG_H__
|
@ -14,6 +14,7 @@ Memory::~Memory()
|
|||||||
void Memory::readMemory()
|
void Memory::readMemory()
|
||||||
{
|
{
|
||||||
println("readMemory");
|
println("readMemory");
|
||||||
|
KNX_LOGW(KTAG, "readMemory");
|
||||||
|
|
||||||
uint8_t* flashStart = _platform.getNonVolatileMemoryStart();
|
uint8_t* flashStart = _platform.getNonVolatileMemoryStart();
|
||||||
size_t flashSize = _platform.getNonVolatileMemorySize();
|
size_t flashSize = _platform.getNonVolatileMemorySize();
|
||||||
@ -21,6 +22,7 @@ void Memory::readMemory()
|
|||||||
if (flashStart == nullptr)
|
if (flashStart == nullptr)
|
||||||
{
|
{
|
||||||
println("no user flash available;");
|
println("no user flash available;");
|
||||||
|
KNX_LOGW(KTAG, "no user flash available;");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,6 +78,9 @@ void Memory::readMemory()
|
|||||||
print(", stored hardwareType: ");
|
print(", stored hardwareType: ");
|
||||||
printHex("", hardwareType, LEN_HARDWARE_TYPE);
|
printHex("", hardwareType, LEN_HARDWARE_TYPE);
|
||||||
println("");
|
println("");
|
||||||
|
KNX_LOGW(KTAG, "manufacturerId or hardwareType are different");
|
||||||
|
KNX_LOGW(KTAG, "expexted manufacturerId: %02X , stored manufacturerId: %02X, expexted hardwareType: %02X, stored hardwareType: %02X",
|
||||||
|
(unsigned int)_deviceObject.manufacturerId(), (unsigned int)manufacturerId, (unsigned int)_deviceObject.hardwareType(), (unsigned int)hardwareType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -85,17 +90,21 @@ void Memory::readMemory()
|
|||||||
print(_deviceObject.apiVersion, HEX);
|
print(_deviceObject.apiVersion, HEX);
|
||||||
print(", stored api version: ");
|
print(", stored api version: ");
|
||||||
println(apiVersion, HEX);
|
println(apiVersion, HEX);
|
||||||
|
KNX_LOGW(KTAG, "DataObject api changed, any data stored in flash is invalid. expexted DataObject api version: %02X, stored api version: %02X",
|
||||||
|
(unsigned int)_deviceObject.apiVersion, (unsigned int)apiVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (versionCheck == FlashAllInvalid)
|
if (versionCheck == FlashAllInvalid)
|
||||||
{
|
{
|
||||||
println("ETS has to reprogram PA and application!");
|
println("ETS has to reprogram PA and application!");
|
||||||
|
KNX_LOGW(KTAG, "ETS has to reprogram PA and application!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
println("restoring data from flash...");
|
println("restoring data from flash...");
|
||||||
print("saverestores ");
|
print("saverestores ");
|
||||||
println(_saveCount);
|
println(_saveCount);
|
||||||
|
KNX_LOGI(KTAG, "restoring data from flash...saverestores %d", _saveCount);
|
||||||
|
|
||||||
for (int i = 0; i < _saveCount; i++)
|
for (int i = 0; i < _saveCount; i++)
|
||||||
{
|
{
|
||||||
@ -105,15 +114,17 @@ void Memory::readMemory()
|
|||||||
}
|
}
|
||||||
|
|
||||||
println("restored saveRestores");
|
println("restored saveRestores");
|
||||||
|
KNX_LOGI(KTAG, "restored saveRestores");
|
||||||
if (versionCheck == FlashTablesInvalid)
|
if (versionCheck == FlashTablesInvalid)
|
||||||
{
|
{
|
||||||
println("TableObjects are referring to an older firmware version and are not loaded");
|
println("TableObjects are referring to an older firmware version and are not loaded");
|
||||||
|
KNX_LOGW(KTAG, "TableObjects are referring to an older firmware version and are not loaded");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
print("tableObjs ");
|
print("tableObjs ");
|
||||||
println(_tableObjCount);
|
println(_tableObjCount);
|
||||||
|
KNX_LOGI(KTAG, "tableObjs %d", _tableObjCount);
|
||||||
|
|
||||||
for (int i = 0; i < _tableObjCount; i++)
|
for (int i = 0; i < _tableObjCount; i++)
|
||||||
{
|
{
|
||||||
@ -132,6 +143,7 @@ void Memory::readMemory()
|
|||||||
}
|
}
|
||||||
|
|
||||||
println("restored Tableobjects");
|
println("restored Tableobjects");
|
||||||
|
KNX_LOGI(KTAG, "restored Tableobjects");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Memory::writeMemory()
|
void Memory::writeMemory()
|
||||||
@ -158,6 +170,7 @@ void Memory::writeMemory()
|
|||||||
|
|
||||||
print("save saveRestores ");
|
print("save saveRestores ");
|
||||||
println(_saveCount);
|
println(_saveCount);
|
||||||
|
KNX_LOGI(KTAG, "save saveRestores %d", _saveCount);
|
||||||
|
|
||||||
for (int i = 0; i < _saveCount; i++)
|
for (int i = 0; i < _saveCount; i++)
|
||||||
{
|
{
|
||||||
@ -167,6 +180,7 @@ void Memory::writeMemory()
|
|||||||
|
|
||||||
print("save tableobjs ");
|
print("save tableobjs ");
|
||||||
println(_tableObjCount);
|
println(_tableObjCount);
|
||||||
|
KNX_LOGI(KTAG, "save tableobjs %d", _tableObjCount);
|
||||||
|
|
||||||
for (int i = 0; i < _tableObjCount; i++)
|
for (int i = 0; i < _tableObjCount; i++)
|
||||||
{
|
{
|
||||||
@ -180,6 +194,7 @@ void Memory::writeMemory()
|
|||||||
if (block == nullptr)
|
if (block == nullptr)
|
||||||
{
|
{
|
||||||
println("_data of TableObject not in _usedList");
|
println("_data of TableObject not in _usedList");
|
||||||
|
KNX_LOGW(KTAG, "_data of TableObject not in _usedList");
|
||||||
_platform.fatalError();
|
_platform.fatalError();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -245,6 +260,7 @@ uint8_t* Memory::allocMemory(size_t size)
|
|||||||
if (!blockToUse)
|
if (!blockToUse)
|
||||||
{
|
{
|
||||||
println("No available non volatile memory!");
|
println("No available non volatile memory!");
|
||||||
|
KNX_LOGE(KTAG, "No available non volatile memory!");
|
||||||
_platform.fatalError();
|
_platform.fatalError();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -288,6 +304,7 @@ void Memory::freeMemory(uint8_t* ptr)
|
|||||||
if (!found)
|
if (!found)
|
||||||
{
|
{
|
||||||
println("freeMemory for not used pointer called");
|
println("freeMemory for not used pointer called");
|
||||||
|
KNX_LOGE(KTAG, "freeMemory for not used pointer called");
|
||||||
_platform.fatalError();
|
_platform.fatalError();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -329,6 +346,7 @@ MemoryBlock* Memory::removeFromList(MemoryBlock* head, MemoryBlock* item)
|
|||||||
if (!head || !item)
|
if (!head || !item)
|
||||||
{
|
{
|
||||||
println("invalid parameters of Memory::removeFromList");
|
println("invalid parameters of Memory::removeFromList");
|
||||||
|
KNX_LOGE(KTAG, "invalid parameters of Memory::removeFromList");
|
||||||
_platform.fatalError();
|
_platform.fatalError();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -350,6 +368,7 @@ MemoryBlock* Memory::removeFromList(MemoryBlock* head, MemoryBlock* item)
|
|||||||
if (!found)
|
if (!found)
|
||||||
{
|
{
|
||||||
println("tried to remove block from list not in it");
|
println("tried to remove block from list not in it");
|
||||||
|
KNX_LOGW(KTAG, "tried to remove block from list not in it");
|
||||||
_platform.fatalError();
|
_platform.fatalError();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -476,12 +495,14 @@ void Memory::addNewUsedBlock(uint8_t* address, size_t size)
|
|||||||
if (smallerFreeBlock == nullptr)
|
if (smallerFreeBlock == nullptr)
|
||||||
{
|
{
|
||||||
println("addNewUsedBlock: no smallerBlock found");
|
println("addNewUsedBlock: no smallerBlock found");
|
||||||
|
KNX_LOGW(KTAG, "addNewUsedBlock: no smallerBlock found");
|
||||||
_platform.fatalError();
|
_platform.fatalError();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((smallerFreeBlock->address + smallerFreeBlock->size) < (address + size))
|
if ((smallerFreeBlock->address + smallerFreeBlock->size) < (address + size))
|
||||||
{
|
{
|
||||||
println("addNewUsedBlock: found block can't contain new block");
|
println("addNewUsedBlock: found block can't contain new block");
|
||||||
|
KNX_LOGW(KTAG, "addNewUsedBlock: found block can't contain new block");
|
||||||
_platform.fatalError();
|
_platform.fatalError();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -602,6 +602,7 @@ bool TpUartDataLinkLayer::sendFrame(CemiFrame& cemiFrame)
|
|||||||
if (_txQueueCount > MAX_TX_QUEUE)
|
if (_txQueueCount > MAX_TX_QUEUE)
|
||||||
{
|
{
|
||||||
println("Ignore frame because transmit queue is full!");
|
println("Ignore frame because transmit queue is full!");
|
||||||
|
KNX_LOGW(KTAG, "Ignore frame because transmit queue is full!");
|
||||||
}
|
}
|
||||||
|
|
||||||
dataConReceived(cemiFrame, false);
|
dataConReceived(cemiFrame, false);
|
||||||
@ -703,10 +704,14 @@ void TpUartDataLinkLayer::clearUartBuffer()
|
|||||||
|
|
||||||
void TpUartDataLinkLayer::connected(bool state /* = true */)
|
void TpUartDataLinkLayer::connected(bool state /* = true */)
|
||||||
{
|
{
|
||||||
if (state)
|
if (state){
|
||||||
println("TP is connected");
|
println("TP is connected");
|
||||||
else
|
KNX_LOGI(KTAG, "TP is connected");
|
||||||
|
}
|
||||||
|
else{
|
||||||
println("TP is disconnected");
|
println("TP is disconnected");
|
||||||
|
KNX_LOGI(KTAG, "TP is disconnected");
|
||||||
|
}
|
||||||
|
|
||||||
_connected = state;
|
_connected = state;
|
||||||
}
|
}
|
||||||
@ -934,6 +939,7 @@ void TpUartDataLinkLayer::loop()
|
|||||||
if (_rxOverflow)
|
if (_rxOverflow)
|
||||||
{
|
{
|
||||||
println("TPUart overflow detected!");
|
println("TPUart overflow detected!");
|
||||||
|
KNX_LOGE(KTAG, "TPUart overflow detected!");
|
||||||
_rxOverflow = false;
|
_rxOverflow = false;
|
||||||
_rxState = RX_INVALID;
|
_rxState = RX_INVALID;
|
||||||
}
|
}
|
||||||
@ -941,6 +947,7 @@ void TpUartDataLinkLayer::loop()
|
|||||||
if (_tpState)
|
if (_tpState)
|
||||||
{
|
{
|
||||||
print("TPUart state error: ");
|
print("TPUart state error: ");
|
||||||
|
KNX_LOGE(KTAG, "TPUart state error: %d", _tpState);
|
||||||
println(_tpState, 2);
|
println(_tpState, 2);
|
||||||
_tpState = 0;
|
_tpState = 0;
|
||||||
}
|
}
|
||||||
|
@ -224,11 +224,13 @@ template <class P, class B> class KnxFacade : private SaveRestore
|
|||||||
if (_progLedState)
|
if (_progLedState)
|
||||||
{
|
{
|
||||||
println("progmode on");
|
println("progmode on");
|
||||||
|
KNX_LOGI(KTAG, "progmode on");
|
||||||
progLedOn();
|
progLedOn();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
println("progmode off");
|
println("progmode off");
|
||||||
|
KNX_LOGI(KTAG, "progmode off");
|
||||||
progLedOff();
|
progLedOff();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user