mirror of
				https://github.com/thelsing/knx.git
				synced 2025-10-26 10:26:25 +01:00 
			
		
		
		
	Merge branch 'master' of https://github.com/thelsing/knx
This commit is contained in:
		
						commit
						b4c8671dbb
					
				| @ -35,6 +35,4 @@ Platform::Platform() | ||||
|     _memoryReference = (uint8_t*)malloc(1); | ||||
|     free(_memoryReference); | ||||
|     _memoryReference -= 1024; | ||||
|     print("MemRef: "); | ||||
| 	println((long unsigned int)_memoryReference, HEX); | ||||
| } | ||||
|  | ||||
| @ -82,6 +82,7 @@ | ||||
| 
 | ||||
| #define BYTE_TIMEOUT          3   //milli seconds
 | ||||
| #define CONFIRM_TIMEOUT       500 //milli seconds
 | ||||
| #define RESET_TIMEOUT         100 //milli seconds
 | ||||
| 
 | ||||
| void TpUartDataLinkLayer::loop() | ||||
| { | ||||
| @ -369,15 +370,18 @@ bool TpUartDataLinkLayer::sendFrame(CemiFrame& frame) | ||||
|     return true; | ||||
| } | ||||
| 
 | ||||
| void TpUartDataLinkLayer::resetChip() | ||||
| bool TpUartDataLinkLayer::resetChip() | ||||
| { | ||||
|     uint8_t cmd = U_RESET_REQ; | ||||
|     _platform.writeUart(cmd); | ||||
|     _waitConfirmStartTime = _platform.millis(); | ||||
|     while (true) | ||||
|     { | ||||
|         int resp = _platform.readUart(); | ||||
|         if (resp == U_RESET_IND) | ||||
|             break; | ||||
|             return true; | ||||
|         else if (_platform.millis() - _waitConfirmStartTime > RESET_TIMEOUT) | ||||
|             return false; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| @ -421,10 +425,16 @@ void TpUartDataLinkLayer::enabled(bool value) | ||||
|     if (value && !_enabled) | ||||
|     { | ||||
|         _platform.setupUart(); | ||||
|         print("ownaddr "); | ||||
|         println(_deviceObject.induvidualAddress(), HEX); | ||||
|         resetChip(); | ||||
|         _enabled = true; | ||||
| 
 | ||||
|         if (resetChip()){ | ||||
|             _enabled = true; | ||||
|             print("ownaddr "); | ||||
|             println(_deviceObject.induvidualAddress(), HEX); | ||||
|         } | ||||
|         else{ | ||||
|         	_enabled = false; | ||||
|         	println("ERROR, TPUART not responding"); | ||||
|         } | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -56,6 +56,6 @@ class TpUartDataLinkLayer : public DataLinkLayer | ||||
|     bool sendFrame(CemiFrame& frame); | ||||
|     void frameBytesReceived(uint8_t* buffer, uint16_t length); | ||||
|     void dataConBytesReceived(uint8_t* buffer, uint16_t length, bool success); | ||||
|     void resetChip(); | ||||
|     bool resetChip(); | ||||
|     void stopChip(); | ||||
| }; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user