nbus_config.h.default 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /**
  2. * @file nbus_config.h
  3. *
  4. * @brief Konfigurácia protokolu nBUS
  5. * @author Juraj Dudak
  6. * @date 29.10.2023
  7. */
  8. #ifndef __NBUS_CONFIG_H__
  9. #define __NBUS_CONFIG_H__
  10. #define MODULE_ADDRESS 5
  11. #define MODULE_MASTER 0
  12. #define MODULE_SLAVE 1
  13. // MUST BE 2 BYTE LONG
  14. #define VERSION_FW "01" //MAJOR MINOR
  15. // MUST BE 2 BYTE LONG
  16. #define VERSION_HW "01" //MAJOR MINOR
  17. // MUST BE 8 BYTE LONG
  18. #define MODULE_NAME "prototyp"
  19. // Do not modify
  20. #define MODULE_FSR 1
  21. #define MODULE_IMU 2
  22. #define MODULE_GNOSTIC_DISTANCE 3
  23. #define MODULE MODULE_FSR
  24. #if MODULE == MODULE_FSR
  25. // MUST BE 3 BYTE LONG
  26. #define MODULE_TYPE "FSR"
  27. #define MODULE_INIT_IP_ADC
  28. #endif
  29. #if MODULE == MODULE_IMU
  30. // MUST BE 3 BYTE LONG
  31. #define MODULE_TYPE "IMU"
  32. #define MODULE_INIT_IP_SPI
  33. #endif
  34. #if MODULE == MODULE_GNOSTIC_DISTANCE
  35. // MUST BE 3 BYTE LONG
  36. #define MODULE_TYPE "GNS"
  37. #define MODULE_INIT_IP_ADC
  38. #endif
  39. #define CRC8_INIT_VALUE 0x0
  40. /** @brief Základná komunikačná rýchlosť modulu. */
  41. #define UART_BAUDRATE 921600
  42. #define UART_TIMER_PRESCALER 7 //32MHz/8 => Mhz t=0.25us (1)
  43. /**
  44. * @brief Určuje, či sa použije hardvérové riadenie zbernice RS485.
  45. */
  46. #define USE_SW_485 1
  47. /**
  48. * @brief Spôsob odoslania odpovede (blokujúci/DMA).
  49. *
  50. * 0 - blokujuci spôsob, 1- neblokujúci spôsob pomocou DMA. Využitie neblokujúcej komunikácie má význam
  51. * 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.
  52. */
  53. #define USE_USART_DMA_TX 1
  54. /**
  55. * @brief UART Timeout - pri jeho vypsani sa doska restartuje.
  56. *
  57. * Podmienka restaru, bude ze do doby vyprsania timeoutu nebude ziadna komunikacia na rozhrani UART.
  58. * hodnota = minuty + offset 35s
  59. */
  60. #define UART_WATCHDOG 30 * 60 * 1000 + 35000
  61. #endif