/** * @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 // 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_FSR 1 #define MODULE_IMU 2 #define MODULE MODULE_FSR #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 #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