Browse Source

Config-layer separation

xnecas 1 week ago
parent
commit
21146c1b22

+ 3 - 5
Core/Inc/AppBridge.h

@@ -1,16 +1,14 @@
 /**
  * @file AppBridge.h
- * @brief Deklarácia vysokoúrovňovej logiky firmvéru nBusBridge
- * @date Mar 5, 2025
- * @author Juraj Dudak
+ * @brief Declaration of high-level logic of nBusBridge. This is the application entry point.
+ * @date Nov 28, 2025
+ * @author Juraj Dudak, Matus Necas
  */
 
 
 #ifndef SRC_APPBRIDGE_H_
 #define SRC_APPBRIDGE_H_
 
-/** Veľkosť UART buffera Master-Bridge */
-#define UART_FRAME_SIZE	64
 
 #if defined(STM32F401xC) || defined(STM32F401xE)
 #include "stm32f4xx_hal.h"

+ 7 - 7
Core/Inc/NbusBridge.h

@@ -124,17 +124,17 @@ private:
 
 
 	NbusCommunicator *_communicator{nullptr};													///< nBus HW communicator
-	NbusSlave _slaves[MAX_SLAVES];                                                              ///< array of nBus slaves
-	uint8_t _slave_adress[MAX_SLAVES]{0};                                                       ///< array of slave addresses
+	NbusSlave _slaves[NBUS_BRIDGE_MAX_SLAVES];                                                              ///< array of nBus slaves
+	uint8_t _slave_adress[NBUS_BRIDGE_MAX_SLAVES]{0};                                                       ///< array of slave addresses
 	uint8_t _num_slaves{0};                                                                     ///< number of slaves
 	Nbus_RunState_e _run_state{STATE_STOPPED};                                                  ///< running state flag
 	DataFrame *_worker_frame_ptr{nullptr};														///< pointer to actual data frame
-	uint8_t _data_packet[DATAPACKET_SIZE]{0};                                                   ///< data packet buffer
-	DataFrame _bridge_cast_frame{_data_packet, DATAPACKET_SIZE, TYPE_HEADER_2B, CRC_OFF};		///< data frame for bridge cast
-	DataFrame _default_frame{_data_packet, DATAPACKET_SIZE, TYPE_PLAIN, CRC_ON};                ///< data frame for default operation
-	DataFrame _raw_data_frame{_data_packet, DATAPACKET_SIZE, TYPE_RAW, CRC_OFF};                ///< raw data frame for copying
+	uint8_t _data_packet[NBUS_BRIDGE_DATAPACKET_SIZE]{0};                                                   ///< data packet buffer
+	DataFrame _bridge_cast_frame{_data_packet, NBUS_BRIDGE_DATAPACKET_SIZE, TYPE_HEADER_2B, CRC_OFF};		///< data frame for bridge cast
+	DataFrame _default_frame{_data_packet, NBUS_BRIDGE_DATAPACKET_SIZE, TYPE_PLAIN, CRC_ON};                ///< data frame for default operation
+	DataFrame _raw_data_frame{_data_packet, NBUS_BRIDGE_DATAPACKET_SIZE, TYPE_RAW, CRC_OFF};                ///< raw data frame for copying
 	uint8_t _scan_request{0};																	///< flag if scan request is necessary
-	Nbus_PDU_t _pdu{BROADCAST_ADDRESS, BROADCAST_ADDRESS, FC_ECHO};                             ///< nBus actual PDU
+	Nbus_PDU_t _pdu{NBUS_BROADCAST_ADDRESS, NBUS_BROADCAST_ADDRESS, FC_ECHO};                             ///< nBus actual PDU
 };
 
 #endif /* SRC_NBUSBRIDGE_H_ */

+ 3 - 14
Core/Inc/NbusCommunicator.h

@@ -1,7 +1,7 @@
 /**
  * @file NbusCommunicator.h
  * @brief Declaration of hardware communication interface.
- * @date Nov 27, 2025
+ * @date Nov 28, 2025
  * @author Juraj Dudak, Matus Necas
  */
 
@@ -10,22 +10,11 @@
 
 #include "inttypes.h"
 #include "dataframe.h"
-#include "nbus_structs.h"
+#include "nbus_config.h"
+#include "nbus_defines.h"
 
 #include "stm32l4xx_hal.h"
 
-
-/* DEFINES BEGIN */
-
-/** Macro for frame size of nBus Communicator. */
-#define NBUS_COMM_MAX_FRAME_SIZE  64
-/** Macro for receive timeout in ms. */
-#define NBUS_COMM_UART_RX_TIMEOUT  5
-/** Macro for transfer timeout in ms. */
-#define NBUS_COMM_UART_TX_TIMEOUT 10
-
-/* DEFINES END */
-
 /** @brief Class for NBus Communicator handle.
  */
 class NbusCommunicator

+ 130 - 0
Core/Inc/nbus_defines.h

@@ -0,0 +1,130 @@
+/**
+ * @file nbus_defines.h
+ *
+ *  @date: Nov 26, 2025
+ *  @author: Juraj Dudak, Matus Necas
+ */
+
+#ifndef INC_NBUS_DEFINES_H_
+#define INC_NBUS_DEFINES_H_
+
+
+#if defined(STM32F401xC) || defined(STM32F401xE)
+#include "stm32f4xx_hal.h"
+#endif
+
+#if defined (STM32L432xx)
+#include "stm32l4xx_hal.h"
+#endif
+
+#if defined (STM32L031xx) || defined (STM32L082xx)
+#include "stm32l0xx_hal.h"
+#endif
+
+
+/* BEGIN GENERAL NBUS DEFINES */
+
+/** @brief Macro for broadcast address (MA = 0). */
+#define NBUS_BROADCAST_ADDRESS			0x00
+/** @brief Macro for NBus Bridge address (MA = 0, SA = BRIDGE). */
+#define NBUS_BRIDGE_ADDRESS				0xFF
+
+/** @brief Macro for RX meta size in bytes. */
+#define NBUS_RX_META_SIZE				4
+/** @brief Macro for module address in RX packet. */
+#define NBUS_RX_MODULE_ADDRESS(packet)	(packet)[0]
+/** @brief Macro for sensor address in RX packet. */
+#define NBUS_RX_SENSOR_ADDRESS(packet)	(packet)[1]
+/** @brief Macro for function code in RX packet. */
+#define NBUS_RX_FUNCTION_CODE(packet)	(packet)[2]
+/** @brief Macro for #0 data byte in RX packet. */
+#define NBUS_RX_DATA0(packet)		    (packet)[3]
+/** @brief Macro for CRC8 byte in RX packet. */
+#define NBUS_RX_CRC8(packet, size)	    (packet)[(size) - 1]
+
+/** @brief Macro for TX meta size in bytes. */
+#define NBUS_TX_META_SIZE				5
+/** @brief Macro for #0 data byte in TX packet. */
+#define NBUS_TX_DATA0(packet) 		    (packet)[4]
+
+/** @brief Macro for set command flag. */
+#define NBUS_SET_CMD(cmd)				((cmd) | 0x20)
+/** @brief Macro to set error response. */
+#define NBUS_SET_ERR_RESPONSE(fc)		((fc) | 0x80)
+
+/* END GENERAL NBUS DEFINES */
+
+
+/** @brief Enumerate for function codes  */
+typedef enum {
+	FC_FIND = 0,
+	FC_ECHO,			/* 1 */
+	FC_STOP,			/* 2 */
+	FC_START,			/* 3 */
+	FC_PARAM,			/* 4 */
+	FC_SENSOR_CNT,		/* 5 */
+	FC_SLEEP,			/* 6 */
+	FC_WAKEUP,			/* 7 */
+	FC_CALIBRATE,		/* 8 */
+	FC_RESET,			/* 9 */
+	FC_STORE,			/* 0xA => 10 */
+	FC_DATA,			/* 0xB => 11 */
+	FC_SYNC,			/* 0xC => 12 */
+	FC_SENSOR_TYPE,		/* 0xD => 13 */
+	FC_INFO,			/* 0xE => 14 */
+	FC_SENSOR_FORMAT, 	/* 0xF => 15 */
+	FC_SLAVES,		 	/* 0x10 => 16 */
+} Nbus_FC_e;
+
+
+/** @brief Enumerate for Bridge run state. */
+typedef enum {
+	STATE_STOPPED,
+	STATE_TO_STOP,
+	STATE_RUNNING,
+} Nbus_RunState_e;
+
+
+/** @brief Structure for PDU data. */
+typedef struct {
+	uint8_t ma;
+	uint8_t sa;
+	Nbus_FC_e fc;
+} Nbus_PDU_t;
+
+
+/** @brief Enumerate for error codes.  */
+typedef enum {
+	OK_CODE                	=	0x00,
+	ILLEGAL_FUNCTION       	=	0x01,
+	ILLEGAL_DEVICE_ADDRESS 	=	0x02,
+	ILLEGAL_DATA_VALUE     	=	0x03,
+	SLAVE_DEVICE_FAILURE   	=	0x04,
+	ACKNOWLEDGE            	=	0x05,
+	DEVICE_BUSY            	=	0x06,
+	DEVICE_NOT_READY       	=	0x07,
+	PARAM_NOT_IMPLEMENTED  	=	0x10,
+	ILLEGAL_FUNCTION_PARAM 	=	0x11,
+	DEVICE_IS_READ_ONLY    	=	0x12,
+	GENERIC_SUBSLAVE_ERROR 	=	0x13,
+	ERR_SUBSLAVE_INIT_FAIL 	=	0x14,
+	SUBSLAVE_CUSTOM_ERR_1  	=	0x1A,
+	SUBSLAVE_CUSTOM_ERR_2  	=	0x1B,
+	SUBSLAVE_CUSTOM_ERR_3  	=	0x1C,
+	SUBSLAVE_CUSTOM_ERR_4  	=	0x1D,
+	SUBSLAVE_CUSTOM_ERR_5  	=	0x1E,
+	SUBSLAVE_CUSTOM_ERR_6  	=	0x1F,
+	ERR_OUTPUT_ONLY        	=	0x21,
+	ERR_INPUT_ONLY         	=	0x22
+} Nbus_EC_e;
+
+
+/** @brief Enumerate for status codes.  */
+typedef enum {
+    STATUS_NOT_SUPPORTED 	= 0xFF,
+    STATUS_SUCCESS 		 	= 0x00,
+    STATUS_FAIL 		 	= 0x01
+} Nbus_SC_e;
+
+
+#endif /* INC_NBUS_DEFINES_H_ */

+ 0 - 159
Core/Inc/nbus_structs.h

@@ -1,159 +0,0 @@
-/**
- * @file nbus_structs.h
- *
- *  @date: Nov 26, 2025
- *  @author: Juraj Dudak, Matus Necas
- */
-
-#ifndef INC_NBUS_STRUCTS_H_
-#define INC_NBUS_STRUCTS_H_
-
-
-#if defined(STM32F401xC) || defined(STM32F401xE)
-#include "stm32f4xx_hal.h"
-#endif
-
-#if defined (STM32L432xx)
-#include "stm32l4xx_hal.h"
-#endif
-
-#if defined (STM32L031xx) || defined (STM32L082xx)
-#include "stm32l0xx_hal.h"
-#endif
-
-
-
-/** Macro for module address in RX packet */
-#define MODULE_RX_ADDRESS(packet)		(packet)[0]
-/** Macro for sensor address in RX packet */
-#define SENSOR_RX_ADDRESS(packet)		(packet)[1]
-/** Macro for function code in RX packet */
-#define FUNCTION_RX_CODE(packet)		(packet)[2]
-/** Macro for #0 data byte in RX packet */
-#define DATA0_RX_ADDRESS(packet)		(packet)[3]
-/** Macro for CRC8 byte in RX packet */
-#define CRC8_RX_ADDRESS(packet, size)	(packet)[(size) - 1]
-
-
-/** Macro for #0 data byte in TX packet */
-#define DATA0_TX_ADDRESS(packet) (packet)[4]
-
-/** Macro to set error response */
-#define SET_ERR_RESPONSE(fc)	((fc) | 0x80)
-/** Macro for RX meta size in bytes */
-#define RX_META_SIZE	4
-/** Macro for TX meta size in bytes */
-#define TX_META_SIZE	5
-
-/** Macro for set command flag */
-#define SET_CMD(cmd)	((cmd) | 0x20)
-
-/** Macro for module-only address. */
-#define NBUS_SLAVE_ADDRESS_MODULE  0
-/** Macro for slave cache size. */
-#define NBUS_SLAVE_CACHE_SIZE	   TX_META_SIZE
-
-/* DEFINES BEGIN */
-
-/** Maximálny počet zariadení slave na internej zbernici.
- * Pozor, súvisí to s alokáciou prostriedkov na MCU.
- */
-#define MAX_SLAVES 16
-
-#define ECHO_SCAN_LENGTH	   4
-#define ECHO_SCAN_DATA	       {110, 66, 117, 115} // nBus
-#define ECHO_SCAN_CHAR0		   110
-#define ECHO_SCAN_CHAR1		   66
-#define ECHO_SCAN_CHAR2		   117
-#define ECHO_SCAN_CHAR3		   115
-
-/** Adresa broadcastu */
-#define BROADCAST_ADDRESS	0
-/** Virtuálna adresa modulu nBus Bridge */
-#define BRIDGE_ADDRESS		0xFF
-/** Macro for bridge terminator **/
-#define BRIDGE_TERMINATOR 	0xFF
-#define BRIDGE_RUNNING_STATE_DELAY  50
-
-#define BRIDGE_INFO_VERSION		"1.0"
-#define BRIDGE_INFO_HW_FAMILY	"STM"
-#define BRIDGE_INFO_HW_VERSION	"0.5"
-
-
-
-
-#define DATAPACKET_SIZE  (NBUS_COMM_MAX_FRAME_SIZE*MAX_SLAVES)
-
-/* DEFINES END */
-
-
-/** Enumerate for function codes  */
-typedef enum {
-	FC_FIND = 0,
-	FC_ECHO,			/* 1 */
-	FC_STOP,			/* 2 */
-	FC_START,			/* 3 */
-	FC_PARAM,			/* 4 */
-	FC_SENSOR_CNT,		/* 5 */
-	FC_SLEEP,			/* 6 */
-	FC_WAKEUP,			/* 7 */
-	FC_CALIBRATE,		/* 8 */
-	FC_RESET,			/* 9 */
-	FC_STORE,			/* 0xA => 10 */
-	FC_DATA,			/* 0xB => 11 */
-	FC_SYNC,			/* 0xC => 12 */
-	FC_SENSOR_TYPE,		/* 0xD => 13 */
-	FC_INFO,			/* 0xE => 14 */
-	FC_SENSOR_FORMAT, 	/* 0xF => 15 */
-	FC_SLAVES,		 	/* 0x10 => 16 */
-} Nbus_FC_e;
-
-/** Enumerate for Bridge run state. */
-typedef enum {
-	STATE_STOPPED,
-	STATE_TO_STOP,
-	STATE_RUNNING,
-}Nbus_RunState_e;
-
-/** Structure for PDU data. */
-typedef struct {
-	uint8_t ma;
-	uint8_t sa;
-	Nbus_FC_e fc;
-} Nbus_PDU_t;
-
-/** Enumerate for error codes  */
-typedef enum {
-	OK_CODE = 0x00,
-	ILLEGAL_FUNCTION = 0x01,
-	ILLEGAL_DEVICE_ADDRESS = 0x02,
-	ILLEGAL_DATA_VALUE = 0x03,
-	SLAVE_DEVICE_FAILURE = 0x04,
-	ACKNOWLEDGE = 0x05,
-	DEVICE_BUSY = 0x06,
-	DEVICE_NOT_READY = 0x07,
-	PARAM_NOT_IMPLEMENTED = 0x10,
-	ILLEGAL_FUNCTION_PARAM = 0x11,
-	DEVICE_IS_READ_ONLY = 0x12,
-	GENERIC_SUBSLAVE_ERROR = 0x13,
-	ERR_SUBSLAVE_INIT_FAIL = 0x14,
-	SUBSLAVE_CUSTOM_ERR_1 = 0x1A,
-	SUBSLAVE_CUSTOM_ERR_2 = 0x1B,
-	SUBSLAVE_CUSTOM_ERR_3 = 0x1C,
-	SUBSLAVE_CUSTOM_ERR_4 = 0x1D,
-	SUBSLAVE_CUSTOM_ERR_5 = 0x1E,
-	SUBSLAVE_CUSTOM_ERR_6 = 0x1F,
-	ERR_OUTPUT_ONLY = 0x21,
-	ERR_INPUT_ONLY = 0x22
-} Nbus_EC_e;
-
-/** Enumerate for status codes  */
-typedef enum {
-    STATUS_NOT_SUPPORTED = 0xFF,
-    STATUS_SUCCESS = 0,
-    STATUS_FAIL = 1
-} Nbus_SC_e;
-
-
-
-#endif /* INC_NBUS_STRUCTS_H_ */

+ 26 - 27
Core/Src/AppBridge.cpp

@@ -1,60 +1,58 @@
 /**
  * @file AppBridge.cpp
- * @brief Vysokoúrovňová logika formvéru nBusBridge. Toto je entrypoint aplikácie.
+ * @brief High-level logic of nBusBridge. This is the application entry point.
  *
- * @date Mar 5, 2025
- * @author Juraj Dudak
+ * @date Nov 28, 2025
+ * @author Juraj Dudak, Matus Necas
  */
 
 #include "AppBridge.h"
 #include "NbusBridge.h"
 
-/**
- * @brief UART rozhranie medzi Master-Bridge.
- */
+
+/** @brief UARTinterface between Master-Bridge. */
 UART_HandleTypeDef *pUartMasterGlobal;
-/** @brief príznak pre prijatie dát z pUartMasterGlobal */
+/** @brief flag for data-ready from pUartMasterGlobal. */
 volatile uint32_t flagUartMasterDataReady;
-/** @brief čítací buffer rozhrania pUartMasterGlobal */
-uint8_t pMasterUartRx[UART_FRAME_SIZE];
-/** @brief buffer pre odoslanie ovpovede rozhrania pUartMasterGlobal */
-uint8_t pMasterUartFrame[UART_FRAME_SIZE];
-/** @brief interný index pri príjme bajtov z pUartMasterGlobal*/
+/** @brief reading buffer from pUartMasterGlobal. */
+uint8_t pMasterUartRx[NBUS_APP_UART_FRAME_SIZE];
+/** @brief master buffer for pUartMasterGlobal. */
+uint8_t pMasterUartFrame[NBUS_APP_UART_FRAME_SIZE];
+/** @brief internal index for data acquisition from pUartMasterGlobal. */
 volatile uint8_t vMasterUartIndex;
-/** @brief veľkosť prijatej požiadavky z rozhrania pUartMasterGlobal */
+/** @brief size of received request from pUartMasterGlobal. */
 volatile uint8_t vMasterUartSize;
 
-/** @brief Objekt reprezentujúci funkcionality nBusBridge.  */
-
 
+/** Initialize resources and provide boot sequence. */
 static void init_app()
 {
-    HAL_UARTEx_ReceiveToIdle_DMA(pUartMasterGlobal, pMasterUartRx, UART_FRAME_SIZE);
+    HAL_UARTEx_ReceiveToIdle_DMA(pUartMasterGlobal, pMasterUartRx, NBUS_APP_UART_FRAME_SIZE);
     flagUartMasterDataReady = 0;
     vMasterUartIndex = 0;
     vMasterUartSize = 0;
 
     // boot long blink
-    for (uint32_t i = 0; i < 10; i++)
+    for (uint32_t i = 0; i < NBUS_APP_BLINK_COUNT; i++)
     {
         HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_3);
-        HAL_Delay(50);
+        HAL_Delay(NBUS_APP_BLINK_DELAY);
     }
 }
 
+
 /**
- * @brief Aplikácia nBusBridge.
- * Zabezpežuje príjem a odoslanie odpovedí medzi Bridge a Master.
- * @param uartNbus rozhranie pre internú zbernicu nBus Slave
- * @param uartMaster rozhranie pre externú zbernicu nBus Master
+ * Entrypoint of nBusBridge applicattion.
+ * @param uart_nbus: interface for internal bridge-slave
+ * @param uart_master: nterface for external bridge-master
  */
-void app(UART_HandleTypeDef *uartNbus, UART_HandleTypeDef *uartMaster)
+void app(UART_HandleTypeDef *uart_nbus, UART_HandleTypeDef *uart_master)
 {
 
-    pUartMasterGlobal = uartMaster;
+    pUartMasterGlobal = uart_master;
     init_app();
 
-    NbusCommunicator nc(uartNbus, uartMaster);
+    NbusCommunicator nc(uart_nbus, uart_master);
     NbusBridge bridge(&nc);
 
 
@@ -72,14 +70,15 @@ void app(UART_HandleTypeDef *uartNbus, UART_HandleTypeDef *uartMaster)
     }
 }
 
+
 /**
- * @brief Aplikačný callback vrstvy STM32 HAL.
+ * @brief Application callback of STM32 HAL.
  */
 void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
 {
     if (huart == pUartMasterGlobal)
     {
-        HAL_UARTEx_ReceiveToIdle_DMA(pUartMasterGlobal, pMasterUartRx, UART_FRAME_SIZE);
+        HAL_UARTEx_ReceiveToIdle_DMA(pUartMasterGlobal, pMasterUartRx, NBUS_APP_UART_FRAME_SIZE);
         uint8_t copy_offset = 0;
 
         if (vMasterUartIndex == 0)

+ 30 - 31
Core/Src/NbusBridge.cpp

@@ -25,7 +25,6 @@ static const uint8_t __crc8x_table[] = {
     0xCB, 0xE6, 0xE1, 0xE8, 0xEF, 0xFA, 0xFD, 0xF4, 0xF3};
 
 
-
 NbusBridge::NbusBridge(NbusCommunicator *nbus_communicator)
 : _communicator(nbus_communicator)
 {
@@ -39,28 +38,28 @@ void NbusBridge::scanNetwork()
     _num_slaves = 0;
 
     uint8_t   *response_raw;
-    Nbus_PDU_t  pdu = {NBUS_SLAVE_ADDRESS_MODULE, NBUS_SLAVE_ADDRESS_MODULE, FC_ECHO};
-    uint8_t    data[] = ECHO_SCAN_DATA;
+    Nbus_PDU_t  pdu = {NBUS_BROADCAST_ADDRESS, NBUS_BROADCAST_ADDRESS, FC_ECHO};
+    uint8_t    data[] = {NBUS_BRIDGE_ECHO_SCAN_BYTE0, NBUS_BRIDGE_ECHO_SCAN_BYTE1, NBUS_BRIDGE_ECHO_SCAN_BYTE2, NBUS_BRIDGE_ECHO_SCAN_BYTE3};
     uint8_t    slave_index = 0;
 
-    for (uint32_t i = 1; i < MAX_SLAVES; i++)
+    for (uint32_t i = 1; i < NBUS_BRIDGE_MAX_SLAVES; i++)
     {
         _slave_adress[i] = 0;
     }
 
-    for (uint32_t i = 1; i < MAX_SLAVES; i++)
+    for (uint32_t i = 1; i < NBUS_BRIDGE_MAX_SLAVES; i++)
     {
         HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_3);
         pdu.ma = i;
 
-        _worker_frame_ptr = _communicator->sendAndReceiveSlave(_makePacket(pdu, data, ECHO_SCAN_LENGTH));
+        _worker_frame_ptr = _communicator->sendAndReceiveSlave(_makePacket(pdu, data, NBUS_BRIDGE_ECHO_SCAN_SIZE));
 
         if (!_worker_frame_ptr->IsEmpty())
         {
             response_raw = _worker_frame_ptr->GetFrame();
 
-            if (DATA0_TX_ADDRESS(response_raw + 0) == ECHO_SCAN_CHAR0 && DATA0_TX_ADDRESS(response_raw + 1) == ECHO_SCAN_CHAR1 &&
-            	DATA0_TX_ADDRESS(response_raw + 2) == ECHO_SCAN_CHAR2 && DATA0_TX_ADDRESS(response_raw + 3) == ECHO_SCAN_CHAR3)
+            if (NBUS_TX_DATA0(response_raw + 0) == NBUS_BRIDGE_ECHO_SCAN_BYTE0 && NBUS_TX_DATA0(response_raw + 1) == NBUS_BRIDGE_ECHO_SCAN_BYTE1 &&
+            	NBUS_TX_DATA0(response_raw + 2) == NBUS_BRIDGE_ECHO_SCAN_BYTE2 && NBUS_TX_DATA0(response_raw + 3) == NBUS_BRIDGE_ECHO_SCAN_BYTE3)
             {
                 _num_slaves++;
                 _slaves[i].setAddress(i);
@@ -78,7 +77,7 @@ void NbusBridge::processRequest(uint8_t *rxFrame, uint8_t size)
 {
     uint8_t crcC = _crc8x_fast(rxFrame, size - 1);
 
-    if (crcC != CRC8_RX_ADDRESS(rxFrame, size))
+    if (crcC != NBUS_RX_CRC8(rxFrame, size))
     {
         return;
     }
@@ -87,9 +86,9 @@ void NbusBridge::processRequest(uint8_t *rxFrame, uint8_t size)
     _pdu.sa = rxFrame[1];
     _pdu.fc = (Nbus_FC_e)rxFrame[2];
 
-    if (_pdu.ma == BROADCAST_ADDRESS)
+    if (_pdu.ma == NBUS_BROADCAST_ADDRESS)
     {
-        if (_pdu.sa == BRIDGE_ADDRESS)
+        if (_pdu.sa == NBUS_BRIDGE_ADDRESS)
         {
             _processBridgeRequest(rxFrame, size);
         }
@@ -136,7 +135,7 @@ void NbusBridge::processRunningState()
     }
 
     /// TODO toto sa MI NEPACI, TREBA VYRIESIT INAK!!!!!!
-    HAL_Delay(BRIDGE_RUNNING_STATE_DELAY); // TREBA VYSKUSAT
+    HAL_Delay(NBUS_BRIDGE_RUNNING_STATE_DELAY); // TREBA VYSKUSAT
 }
 
 uint8_t NbusBridge::_crc8x_fast(void const *mem, uint16_t len)
@@ -153,7 +152,7 @@ uint8_t NbusBridge::_crc8x_fast(void const *mem, uint16_t len)
 
 NbusSlave *NbusBridge::_getSlave(uint8_t index)
 {
-    if (index >= 0 && index < MAX_SLAVES)
+    if (index >= 0 && index < NBUS_BRIDGE_MAX_SLAVES)
     {
         if (_slaves[index].isActive())
         {
@@ -171,21 +170,21 @@ void NbusBridge::_processBroadcast(uint8_t *rx_frame, uint8_t size)
 
 void NbusBridge::_processBridgeRequest(uint8_t *rx_frame, uint8_t size)
 {
-	switch (FUNCTION_RX_CODE(rx_frame))
+	switch (NBUS_RX_FUNCTION_CODE(rx_frame))
     {
     case FC_ECHO:			/* GET 1 */
     	_worker_frame_ptr = _forwardPacket(rx_frame, size);
     	break;
 
-    case SET_CMD(FC_STOP):  /* SET 2 */
+    case NBUS_SET_CMD(FC_STOP):  /* SET 2 */
     	_cmdSetStop();
     	break;
 
-    case SET_CMD(FC_START): /* SET 3 */
+    case NBUS_SET_CMD(FC_START): /* SET 3 */
     	_cmdSetStart();
     	break;
 
-    case SET_CMD(FC_RESET): /* SET 9 */
+    case NBUS_SET_CMD(FC_RESET): /* SET 9 */
         _scan_request = 1;
         _worker_frame_ptr = _rspSetStatus(STATUS_SUCCESS);
         break;
@@ -211,7 +210,7 @@ void NbusBridge::_processBridgeRequest(uint8_t *rx_frame, uint8_t size)
 
 void NbusBridge::_processSlaveRequest(uint8_t *rx_frame, uint8_t size)
 {
-    NbusSlave *selected_slave = _getSlave(MODULE_RX_ADDRESS(rx_frame));
+    NbusSlave *selected_slave = _getSlave(NBUS_RX_MODULE_ADDRESS(rx_frame));
 
     if (selected_slave == nullptr)
     {
@@ -239,12 +238,12 @@ DataFrame* NbusBridge::_cmdGetData()
 		{
 			_bridge_cast_frame.AddInt8(slave_ptr->getModuleAddress());
 			_worker_frame_ptr = slave_ptr->cmdGetData();
-			_bridge_cast_frame.AddArray(&DATA0_RX_ADDRESS(_worker_frame_ptr->GetFrame() + 1), _worker_frame_ptr->GetLength() - (RX_META_SIZE + 1)); // add without length byte
+			_bridge_cast_frame.AddArray(&NBUS_RX_DATA0(_worker_frame_ptr->GetFrame() + 1), _worker_frame_ptr->GetLength() - (NBUS_RX_META_SIZE + 1)); // add without length byte
 		}
 	}
 
-	_bridge_cast_frame.AddInt8(BRIDGE_TERMINATOR);
-	_bridge_cast_frame.AddInt8(BRIDGE_TERMINATOR);
+	_bridge_cast_frame.AddInt8(NBUS_BRIDGE_TERMINATOR);
+	_bridge_cast_frame.AddInt8(NBUS_BRIDGE_TERMINATOR);
 	_bridge_cast_frame.Commit();
 
 	return &_bridge_cast_frame;
@@ -253,12 +252,12 @@ DataFrame* NbusBridge::_cmdGetData()
 DataFrame * NbusBridge::_cmdGetInfo()
 {
 	_default_frame.Init();
-	_default_frame.AddUint8(BROADCAST_ADDRESS);
-	_default_frame.AddUint8(BRIDGE_ADDRESS);
+	_default_frame.AddUint8(NBUS_BROADCAST_ADDRESS);
+	_default_frame.AddUint8(NBUS_BRIDGE_ADDRESS);
 	_default_frame.AddUint8(FC_INFO);
-	_default_frame.AddArray((uint8_t*)BRIDGE_INFO_VERSION, 3);
-	_default_frame.AddArray((uint8_t*)BRIDGE_INFO_HW_FAMILY, 3);
-	_default_frame.AddArray((uint8_t*)BRIDGE_INFO_HW_VERSION, 3);
+	_default_frame.AddArray((uint8_t*)NBUS_BRIDGE_INFO_VERSION, 3);
+	_default_frame.AddArray((uint8_t*)NBUS_BRIDGE_INFO_HW_FAMILY, 3);
+	_default_frame.AddArray((uint8_t*)NBUS_BRIDGE_INFO_HW_VERSION, 3);
 	_default_frame.Commit();
 
 	return &_default_frame;
@@ -267,8 +266,8 @@ DataFrame * NbusBridge::_cmdGetInfo()
 DataFrame* NbusBridge::_cmdGetSlaves()
 {
 	_default_frame.Init();
-	_default_frame.AddUint8(BROADCAST_ADDRESS);
-	_default_frame.AddUint8(BRIDGE_ADDRESS);
+	_default_frame.AddUint8(NBUS_BROADCAST_ADDRESS);
+	_default_frame.AddUint8(NBUS_BRIDGE_ADDRESS);
 	_default_frame.AddUint8(FC_SLAVES);
 
 	for (uint8_t i = 0; i < _num_slaves; i++)
@@ -284,14 +283,14 @@ DataFrame* NbusBridge::_cmdGetSlaves()
 
 void NbusBridge::_cmdSetStop()
 {
-	_pdu.sa = BROADCAST_ADDRESS;
+	_pdu.sa = NBUS_BROADCAST_ADDRESS;
     _communicator->sendToSlave(_makePacket(_pdu, nullptr, 0));
     _run_state = STATE_TO_STOP;
 }
 
 void NbusBridge::_cmdSetStart()
 {
-	_pdu.sa = BROADCAST_ADDRESS;
+	_pdu.sa = NBUS_BROADCAST_ADDRESS;
     _communicator->sendToSlave(_makePacket(_pdu, nullptr, 0));
     _run_state = STATE_RUNNING;
 }
@@ -301,7 +300,7 @@ DataFrame* NbusBridge::_rspSetError(Nbus_EC_e error_code)
 	_default_frame.Init();
 	_default_frame.AddUint8(_pdu.ma);
 	_default_frame.AddUint8(_pdu.sa);
-	_default_frame.AddUint8(SET_ERR_RESPONSE(_pdu.fc));
+	_default_frame.AddUint8(NBUS_SET_ERR_RESPONSE(_pdu.fc));
 	_default_frame.AddUint8(error_code);
 	_default_frame.Commit();
 

+ 1 - 1
Core/Src/NbusSlave.cpp

@@ -52,7 +52,7 @@ DataFrame* NbusSlave::_makePacket(Nbus_FC_e fc)
 {
 	_cache_frame.Init();
 	_cache_frame.AddUint8(_pdu.ma);
-	_cache_frame.AddUint8(NBUS_SLAVE_ADDRESS_MODULE);
+	_cache_frame.AddUint8(NBUS_BROADCAST_ADDRESS);
 	_cache_frame.AddUint8(fc);
 	_cache_frame.Commit();