/** * @file nbus_config.h * * @brief Konfigurácia protokolu nBUS * @author Juraj Dudak * @date 29.10.2023 */ #ifndef __NBUS_CONFIG_H__ #define __NBUS_CONFIG_H__ #define MODULE_ADDRESS 5 #define MODULE_MASTER 0 #define MODULE_SLAVE 1 #define USE_ARDUINO_FRAMWORK 0 // MUST BE 2 BYTE LONG #define VERSION_FW "01" // MAJOR MINOR // MUST BE 2 BYTE LONG #define VERSION_HW "01" // MAJOR MINOR // MUST BE 8 BYTE LONG #define MODULE_NAME "prototyp" // Do not modify #define MODULE_DUMMY 0xFF #define MODULE_FSR 1 #define MODULE_IMU 2 #define MODULE_GNOSTIC_DISTANCE 3 #define MODULE MODULE_FSR #if MODULE == MODULE_DUMMY // MUST BE 3 BYTE LONG #define MODULE_TYPE "DMY" #endif #if MODULE == MODULE_FSR // MUST BE 3 BYTE LONG #define MODULE_TYPE "FSR" #define MODULE_INIT_IP_ADC #endif #if MODULE == MODULE_IMU // MUST BE 3 BYTE LONG #define MODULE_TYPE "IMU" #define MODULE_INIT_IP_SPI #endif #if MODULE == MODULE_GNOSTIC_DISTANCE // MUST BE 3 BYTE LONG #define MODULE_TYPE "GNS" #define MODULE_INIT_IP_ADC #endif #define CRC8_INIT_VALUE 0x0 /** @brief Základná komunikačná rýchlosť modulu. */ #define UART_BAUDRATE 921600 #define UART_TIMER_PRESCALER 7 // 32MHz/8 => Mhz t=0.25us (1) /** * @brief Určuje, či sa použije hardvérové riadenie zbernice RS485. */ #define USE_SW_485 1 /** * @brief Spôsob odoslania odpovede (blokujúci/DMA). * * 0 - blokujuci spôsob, 1- neblokujúci spôsob pomocou DMA. Využitie * neblokujúcej komunikácie má význam len pri BULK dátovom prenose, kedy ako * odpoveď na požiadavku o prebos väčšieho množstva dát (4kB) sa odošle viecero * rámcov za sebou. */ #define USE_USART_DMA_TX 1 /** * @brief UART Timeout - pri jeho vypsani sa doska restartuje. * * Podmienka restaru, bude ze do doby vyprsania timeoutu nebude ziadna * komunikacia na rozhrani UART. hodnota = minuty + offset 35s */ #define UART_WATCHDOG 30 * 60 * 1000 + 35000 #endif