nbus_config.h.default 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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_DUMMY 0xFF
  21. #define MODULE_FSR 1
  22. #define MODULE_IMU 2
  23. #define MODULE_GNOSTIC_DISTANCE 3
  24. #define MODULE MODULE_FSR
  25. #if MODULE == MODULE_DUMMY
  26. // MUST BE 3 BYTE LONG
  27. #define MODULE_TYPE "DMY"
  28. #endif
  29. #if MODULE == MODULE_FSR
  30. // MUST BE 3 BYTE LONG
  31. #define MODULE_TYPE "FSR"
  32. #define MODULE_INIT_IP_ADC
  33. #endif
  34. #if MODULE == MODULE_IMU
  35. // MUST BE 3 BYTE LONG
  36. #define MODULE_TYPE "IMU"
  37. #define MODULE_INIT_IP_SPI
  38. #endif
  39. #if MODULE == MODULE_GNOSTIC_DISTANCE
  40. // MUST BE 3 BYTE LONG
  41. #define MODULE_TYPE "GNS"
  42. #define MODULE_INIT_IP_ADC
  43. #endif
  44. #define CRC8_INIT_VALUE 0x0
  45. /** @brief Základná komunikačná rýchlosť modulu. */
  46. #define UART_BAUDRATE 921600
  47. #define UART_TIMER_PRESCALER 7 //32MHz/8 => Mhz t=0.25us (1)
  48. /**
  49. * @brief Určuje, či sa použije hardvérové riadenie zbernice RS485.
  50. */
  51. #define USE_SW_485 1
  52. /**
  53. * @brief Spôsob odoslania odpovede (blokujúci/DMA).
  54. *
  55. * 0 - blokujuci spôsob, 1- neblokujúci spôsob pomocou DMA. Využitie neblokujúcej komunikácie má význam
  56. * 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.
  57. */
  58. #define USE_USART_DMA_TX 1
  59. /**
  60. * @brief UART Timeout - pri jeho vypsani sa doska restartuje.
  61. *
  62. * Podmienka restaru, bude ze do doby vyprsania timeoutu nebude ziadna komunikacia na rozhrani UART.
  63. * hodnota = minuty + offset 35s
  64. */
  65. #define UART_WATCHDOG 30 * 60 * 1000 + 35000
  66. #endif