mirror of
				https://github.com/thelsing/knx.git
				synced 2025-10-26 10:26:25 +01:00 
			
		
		
		
	Cosmetic changes. Fix whitespace and "{".
This commit is contained in:
		
							parent
							
								
									daf1cabedf
								
							
						
					
					
						commit
						d315aee70e
					
				@ -35,7 +35,7 @@ uint16_t AddressTableObject::getGa(uint16_t tsap)
 | 
			
		||||
{
 | 
			
		||||
    if (loadState() != LS_LOADED || tsap > entryCount() )
 | 
			
		||||
        return 0;
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    return ntohs(_groupAddresses[tsap]);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -58,9 +58,9 @@ uint8_t* AddressTableObject::save(uint8_t* buffer)
 | 
			
		||||
uint8_t* AddressTableObject::restore(uint8_t* buffer)
 | 
			
		||||
{
 | 
			
		||||
    buffer = TableObject::restore(buffer);
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    _groupAddresses = (uint16_t*)_data;
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    return buffer;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -84,8 +84,9 @@ void AddressTableObject::beforeStateChange(LoadState& newState)
 | 
			
		||||
    _groupAddresses = (uint16_t*)_data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static PropertyDescription _propertyDescriptions[] = {
 | 
			
		||||
	{ PID_OBJECT_TYPE, false, PDT_UNSIGNED_INT, 1, ReadLv3 | WriteLv0 }, 		
 | 
			
		||||
static PropertyDescription _propertyDescriptions[] =
 | 
			
		||||
{
 | 
			
		||||
    { PID_OBJECT_TYPE, false, PDT_UNSIGNED_INT, 1, ReadLv3 | WriteLv0 }
 | 
			
		||||
};
 | 
			
		||||
static uint8_t _propertyCount = sizeof(_propertyDescriptions) / sizeof(PropertyDescription);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -45,8 +45,8 @@ uint8_t ApplicationProgramObject::propertySize(PropertyID id)
 | 
			
		||||
    {
 | 
			
		||||
        case PID_PEI_TYPE:
 | 
			
		||||
            return 1;
 | 
			
		||||
	    case PID_OBJECT_TYPE:
 | 
			
		||||
			return 2;
 | 
			
		||||
        case PID_OBJECT_TYPE:
 | 
			
		||||
            return 2;
 | 
			
		||||
        case PID_PROG_VERSION:
 | 
			
		||||
            return 5;
 | 
			
		||||
    }
 | 
			
		||||
@ -76,7 +76,7 @@ uint32_t ApplicationProgramObject::getInt(uint32_t addr)
 | 
			
		||||
uint8_t* ApplicationProgramObject::save(uint8_t* buffer)
 | 
			
		||||
{
 | 
			
		||||
    buffer = pushByteArray(_programVersion, 5, buffer);
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    return TableObject::save(buffer);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -87,8 +87,9 @@ uint8_t* ApplicationProgramObject::restore(uint8_t* buffer)
 | 
			
		||||
    return TableObject::restore(buffer);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static PropertyDescription _propertyDescriptions[] = {
 | 
			
		||||
	{ PID_OBJECT_TYPE, false, PDT_UNSIGNED_INT, 1, ReadLv3 | WriteLv0 }, 		
 | 
			
		||||
static PropertyDescription _propertyDescriptions[] = 
 | 
			
		||||
{
 | 
			
		||||
    { PID_OBJECT_TYPE, false, PDT_UNSIGNED_INT, 1, ReadLv3 | WriteLv0 }
 | 
			
		||||
};
 | 
			
		||||
static uint8_t _propertyCount = sizeof(_propertyDescriptions) / sizeof(PropertyDescription);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -68,10 +68,10 @@ void AssociationTableObject::beforeStateChange(LoadState& newState)
 | 
			
		||||
    _tableData = (uint16_t*)_data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static PropertyDescription _propertyDescriptions[] = 
 | 
			
		||||
{ 
 | 
			
		||||
	{ PID_OBJECT_TYPE, false, PDT_UNSIGNED_INT, 1, ReadLv3 | WriteLv0 }, 		
 | 
			
		||||
    { PID_TABLE, false, PDT_GENERIC_02, 254, ReadLv3 | WriteLv0 },        
 | 
			
		||||
static PropertyDescription _propertyDescriptions[] =
 | 
			
		||||
{
 | 
			
		||||
    { PID_OBJECT_TYPE, false, PDT_UNSIGNED_INT, 1, ReadLv3 | WriteLv0 },
 | 
			
		||||
    { PID_TABLE, false, PDT_GENERIC_02, 254, ReadLv3 | WriteLv0 }
 | 
			
		||||
};
 | 
			
		||||
static uint8_t _propertyCount = sizeof(_propertyDescriptions) / sizeof(PropertyDescription);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										24
									
								
								bau57B0.cpp
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								bau57B0.cpp
									
									
									
									
									
								
							@ -5,10 +5,10 @@
 | 
			
		||||
 | 
			
		||||
using namespace std;
 | 
			
		||||
 | 
			
		||||
Bau57B0::Bau57B0(Platform& platform): _memoryReference((uint8_t*)&_deviceObj), _memory(platform), _addrTable(_memoryReference), 
 | 
			
		||||
Bau57B0::Bau57B0(Platform& platform): _memoryReference((uint8_t*)&_deviceObj), _memory(platform), _addrTable(_memoryReference),
 | 
			
		||||
    _assocTable(_memoryReference), _groupObjTable(_memoryReference), _appProgram(_memoryReference),
 | 
			
		||||
    _ipParameters(_deviceObj, platform), _platform(platform), _appLayer(_assocTable, *this),
 | 
			
		||||
    _transLayer(_appLayer, _addrTable, _platform), _netLayer(_transLayer), 
 | 
			
		||||
    _transLayer(_appLayer, _addrTable, _platform), _netLayer(_transLayer),
 | 
			
		||||
    _dlLayer(_deviceObj, _addrTable, _ipParameters, _netLayer, _platform)
 | 
			
		||||
{
 | 
			
		||||
    _appLayer.transportLayer(_transLayer);
 | 
			
		||||
@ -50,7 +50,7 @@ void Bau57B0::sendNextGroupTelegram()
 | 
			
		||||
        if (flag == WriteRequest)
 | 
			
		||||
        {
 | 
			
		||||
            uint8_t* data = go.valueRef();
 | 
			
		||||
            _appLayer.groupValueWriteRequest(AckRequested, asap, go.priority(), NetworkLayerParameter, data, 
 | 
			
		||||
            _appLayer.groupValueWriteRequest(AckRequested, asap, go.priority(), NetworkLayerParameter, data,
 | 
			
		||||
                go.sizeInTelegram());
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
@ -121,7 +121,7 @@ void Bau57B0::enabled(bool value)
 | 
			
		||||
    _dlLayer.enabled(value);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Bau57B0::memoryWriteIndication(Priority priority, HopCountType hopType, uint16_t asap, uint8_t number, 
 | 
			
		||||
void Bau57B0::memoryWriteIndication(Priority priority, HopCountType hopType, uint16_t asap, uint8_t number,
 | 
			
		||||
    uint16_t memoryAddress, uint8_t * data)
 | 
			
		||||
{
 | 
			
		||||
    memcpy(_memoryReference + memoryAddress, data, number);
 | 
			
		||||
@ -131,7 +131,7 @@ void Bau57B0::memoryWriteIndication(Priority priority, HopCountType hopType, uin
 | 
			
		||||
        memoryReadIndication(priority, hopType, asap, number, memoryAddress);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Bau57B0::memoryReadIndication(Priority priority, HopCountType hopType, uint16_t asap, uint8_t number, 
 | 
			
		||||
void Bau57B0::memoryReadIndication(Priority priority, HopCountType hopType, uint16_t asap, uint8_t number,
 | 
			
		||||
    uint16_t memoryAddress)
 | 
			
		||||
{
 | 
			
		||||
    _appLayer.memoryReadResponse(AckRequested, priority, hopType, asap, number, memoryAddress,
 | 
			
		||||
@ -142,7 +142,7 @@ void Bau57B0::deviceDescriptorReadIndication(Priority priority, HopCountType hop
 | 
			
		||||
{
 | 
			
		||||
    if (descriptorType != 0)
 | 
			
		||||
        descriptorType = 0x3f;
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    uint8_t descriptor[] = { 0x57, 0xb0 };
 | 
			
		||||
 | 
			
		||||
    _appLayer.deviceDescriptorReadResponse(AckRequested, priority, hopType, asap, descriptorType, descriptor);
 | 
			
		||||
@ -178,10 +178,10 @@ void Bau57B0::userMemoryWriteIndication(Priority priority, HopCountType hopType,
 | 
			
		||||
        userMemoryReadIndication(priority, hopType, asap, number, memoryAddress);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Bau57B0::propertyDescriptionReadIndication(Priority priority, HopCountType hopType, uint16_t asap, uint8_t objectIndex, 
 | 
			
		||||
void Bau57B0::propertyDescriptionReadIndication(Priority priority, HopCountType hopType, uint16_t asap, uint8_t objectIndex,
 | 
			
		||||
    uint8_t propertyId, uint8_t propertyIndex)
 | 
			
		||||
{
 | 
			
		||||
	uint8_t pid = propertyId;
 | 
			
		||||
    uint8_t pid = propertyId;
 | 
			
		||||
    bool writeEnable = false;
 | 
			
		||||
    uint8_t type = 0;
 | 
			
		||||
    uint16_t numberOfElements = 0;
 | 
			
		||||
@ -194,7 +194,7 @@ void Bau57B0::propertyDescriptionReadIndication(Priority priority, HopCountType
 | 
			
		||||
        writeEnable, type, numberOfElements, access);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Bau57B0::propertyValueWriteIndication(Priority priority, HopCountType hopType, uint16_t asap, uint8_t objectIndex, 
 | 
			
		||||
void Bau57B0::propertyValueWriteIndication(Priority priority, HopCountType hopType, uint16_t asap, uint8_t objectIndex,
 | 
			
		||||
    uint8_t propertyId, uint8_t numberOfElements, uint16_t startIndex, uint8_t* data, uint8_t length)
 | 
			
		||||
{
 | 
			
		||||
    InterfaceObject* obj = getInterfaceObject(objectIndex);
 | 
			
		||||
@ -216,7 +216,7 @@ void Bau57B0::propertyValueReadIndication(Priority priority, HopCountType hopTyp
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
        elementCount = 0;
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    uint8_t data[size];
 | 
			
		||||
    if(obj)
 | 
			
		||||
        obj->readProperty((PropertyID)propertyId, startIndex, elementCount, data);
 | 
			
		||||
@ -261,11 +261,11 @@ void Bau57B0::groupValueReadIndication(uint16_t asap, Priority priority, HopCoun
 | 
			
		||||
    _appLayer.groupValueReadResponse(AckRequested, asap, priority, hopType, data, go.sizeInTelegram());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Bau57B0::groupValueReadAppLayerConfirm(uint16_t asap, Priority priority, HopCountType hopType, uint8_t* data, 
 | 
			
		||||
void Bau57B0::groupValueReadAppLayerConfirm(uint16_t asap, Priority priority, HopCountType hopType, uint8_t* data,
 | 
			
		||||
    uint8_t dataLength)
 | 
			
		||||
{
 | 
			
		||||
    GroupObject& go = _groupObjTable.get(asap);
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    if (!go.communicationEnable() || !go.responseUpdateEnable())
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -48,10 +48,10 @@ void DeviceObject::readProperty(PropertyID propertyId, uint32_t start, uint32_t&
 | 
			
		||||
            uint32_t ifObjs[] = {
 | 
			
		||||
                6, // length
 | 
			
		||||
                OT_DEVICE, OT_ADDR_TABLE, OT_ASSOC_TABLE, OT_GRP_OBJ_TABLE, OT_APPLICATION_PROG, OT_IP_PARAMETER};
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            for (uint32_t i = start; i < (ifObjs[0] + 1) && i < count; i++)
 | 
			
		||||
                pushInt(ifObjs[i], data);
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
        case PID_DEVICE_DESCRIPTOR:
 | 
			
		||||
@ -254,9 +254,10 @@ void DeviceObject::version(uint16_t value)
 | 
			
		||||
    _version = value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static PropertyDescription _propertyDescriptions[] = {
 | 
			
		||||
	{ PID_OBJECT_TYPE, false, PDT_UNSIGNED_INT, 1, ReadLv3 | WriteLv0 }, 
 | 
			
		||||
	{ PID_SERIAL_NUMBER, false, PDT_GENERIC_06, 1, ReadLv3 | WriteLv0 }, 
 | 
			
		||||
static PropertyDescription _propertyDescriptions[] = 
 | 
			
		||||
{
 | 
			
		||||
    { PID_OBJECT_TYPE, false, PDT_UNSIGNED_INT, 1, ReadLv3 | WriteLv0 },
 | 
			
		||||
    { PID_SERIAL_NUMBER, false, PDT_GENERIC_06, 1, ReadLv3 | WriteLv0 }
 | 
			
		||||
};
 | 
			
		||||
static uint8_t _propertyCount = sizeof(_propertyDescriptions) / sizeof(PropertyDescription);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -47,10 +47,10 @@ uint8_t* GroupObjectTableObject::save(uint8_t* buffer)
 | 
			
		||||
uint8_t* GroupObjectTableObject::restore(uint8_t* buffer)
 | 
			
		||||
{
 | 
			
		||||
    buffer = TableObject::restore(buffer);
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    _tableData = (uint16_t*)_data;
 | 
			
		||||
    initGroupObjects();
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    return buffer;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -116,12 +116,13 @@ bool GroupObjectTableObject::initGroupObjects()
 | 
			
		||||
        if (go._dataLength != go.goSize())
 | 
			
		||||
            return false;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static PropertyDescription _propertyDescriptions[] = {
 | 
			
		||||
	{ PID_OBJECT_TYPE, false, PDT_UNSIGNED_INT, 1, ReadLv3 | WriteLv0 }, 				
 | 
			
		||||
static PropertyDescription _propertyDescriptions[] = 
 | 
			
		||||
{
 | 
			
		||||
    { PID_OBJECT_TYPE, false, PDT_UNSIGNED_INT, 1, ReadLv3 | WriteLv0 }
 | 
			
		||||
};
 | 
			
		||||
static uint8_t _propertyCount = sizeof(_propertyDescriptions) / sizeof(PropertyDescription);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -4,29 +4,19 @@ void InterfaceObject::readPropertyDescription(uint8_t& propertyId, uint8_t& prop
 | 
			
		||||
{
 | 
			
		||||
    PropertyDescription* descriptions = propertyDescriptions();
 | 
			
		||||
    uint8_t count = propertyCount();
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    PropertyDescription* desc = nullptr;
 | 
			
		||||
	
 | 
			
		||||
	// from KNX spec. 03.03.07 Application Layer (page 56) - 3.4.3.3  A_PropertyDescription_Read-service 
 | 
			
		||||
	// [...] and the Property of the object shall be addressed with 
 | 
			
		||||
	// a property_id OR with a property_index.The property_index shall be used ONLY if the property_id is zero. 
 | 
			
		||||
    // [...]	
 | 
			
		||||
	// If the property_id in the A_PropertyDescription_Read - PDU is NOT zero, then the field property_index 
 | 
			
		||||
	// shall be IGNORED; the remote application process shall use the indicated property_id to access the Property 
 | 
			
		||||
	// description.The property_index in the A_PropertyDescription_Response - PDU shall in this case be : 
 | 
			
		||||
	// - the correct value of the Property index of the addressed Property, or 
 | 
			
		||||
	// - the value of the field property_index of the received A_PropertyDescription_Read - PDU. 
 | 
			
		||||
	// For new implementations the property_index shall contain the correct value of the addressed Property. 
 | 
			
		||||
	// If the remote application process has a problem, e.g.Interface Object or Property does not exist, then the 
 | 
			
		||||
	// max_nr_of_elem of the A_PropertyDescription_Response - PDU shall be zero. 	
 | 
			
		||||
 | 
			
		||||
    // from KNX spec. 03.03.07 Application Layer (page 56) - 3.4.3.3  A_PropertyDescription_Read-service
 | 
			
		||||
    // Summary: either propertyId OR propertyIndex, but not both at the same time
 | 
			
		||||
    if (propertyId != 0)
 | 
			
		||||
    {   
 | 
			
		||||
	    for (uint8_t i = 0; i < count; i++)
 | 
			
		||||
    {
 | 
			
		||||
        for (uint8_t i = 0; i < count; i++)
 | 
			
		||||
        {
 | 
			
		||||
            PropertyDescription d = descriptions[i];
 | 
			
		||||
            if (d.Id != propertyId)
 | 
			
		||||
                continue;
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
            desc = &d;
 | 
			
		||||
            propertyIndex = i;
 | 
			
		||||
            break;
 | 
			
		||||
@ -34,26 +24,24 @@ void InterfaceObject::readPropertyDescription(uint8_t& propertyId, uint8_t& prop
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
	    // If the property_id in the A_PropertyDescription_Read - PDU is zero, the remote application process shall 
 | 
			
		||||
	    // use the indicated property_index to access the Property description.The property_index in the 
 | 
			
		||||
	    // A_PropertyDescription_Response - PDU shall be the value of the field property_index of the received 
 | 
			
		||||
	    // A_PropertyDescription_Read - PDU 	    
 | 
			
		||||
        if (propertyIndex >= 0 && propertyIndex < count) 
 | 
			
		||||
        // If propertyId is zero, propertyIndex shall be used.
 | 
			
		||||
        // Response: propertyIndex of received A_PropertyDescription_Read
 | 
			
		||||
        if (propertyIndex >= 0 && propertyIndex < count)
 | 
			
		||||
        {
 | 
			
		||||
            desc = &descriptions[propertyIndex];
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
	if (desc != nullptr)
 | 
			
		||||
	{
 | 
			
		||||
		propertyId = desc->Id;
 | 
			
		||||
		writeEnable = desc->WriteEnable;
 | 
			
		||||
		type = desc->Type;
 | 
			
		||||
		numberOfElements = desc->MaxElements;
 | 
			
		||||
		access = desc->Access;        
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
		numberOfElements = 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
    if (desc != nullptr)
 | 
			
		||||
    {
 | 
			
		||||
        propertyId = desc->Id;
 | 
			
		||||
        writeEnable = desc->WriteEnable;
 | 
			
		||||
        type = desc->Type;
 | 
			
		||||
        numberOfElements = desc->MaxElements;
 | 
			
		||||
        access = desc->Access;
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        numberOfElements = 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -181,7 +181,7 @@ uint32_t IpParameterObject::multicastAddress() const
 | 
			
		||||
{
 | 
			
		||||
    if (_multicastAddress == 0)
 | 
			
		||||
        return DEFAULT_MULTICAST_ADDR;
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    return _multicastAddress;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -304,8 +304,9 @@ void IpParameterObject::additionalLoadControls(uint8_t* data)
 | 
			
		||||
    return;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static PropertyDescription _propertyDescriptions[] = {
 | 
			
		||||
	{ PID_OBJECT_TYPE, false, PDT_UNSIGNED_INT, 1, ReadLv3 | WriteLv0 }, 				
 | 
			
		||||
static PropertyDescription _propertyDescriptions[] = 
 | 
			
		||||
{
 | 
			
		||||
    { PID_OBJECT_TYPE, false, PDT_UNSIGNED_INT, 1, ReadLv3 | WriteLv0 }
 | 
			
		||||
};
 | 
			
		||||
static uint8_t _propertyCount = sizeof(_propertyDescriptions) / sizeof(PropertyDescription);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -52,8 +52,8 @@ uint8_t TableObject::propertySize(PropertyID id)
 | 
			
		||||
            return 4;
 | 
			
		||||
        case PID_ERROR_CODE:
 | 
			
		||||
            return 1;
 | 
			
		||||
	    case PID_OBJECT_TYPE:
 | 
			
		||||
			return 2;
 | 
			
		||||
        case PID_OBJECT_TYPE:
 | 
			
		||||
            return 2;
 | 
			
		||||
    }
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
@ -84,7 +84,7 @@ uint8_t* TableObject::save(uint8_t* buffer)
 | 
			
		||||
    buffer = pushByte(_errorCode, buffer);
 | 
			
		||||
    buffer = pushInt(_size, buffer);
 | 
			
		||||
    buffer = pushByteArray(_data, _size, buffer);
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    return buffer;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user