nbus_config.h.default 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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
  56. * neblokujúcej komunikácie má význam len pri BULK dátovom prenose, kedy ako
  57. * odpoveď na požiadavku o prebos väčšieho množstva dát (4kB) sa odošle viecero
  58. * rámcov za sebou.
  59. */
  60. #define USE_USART_DMA_TX 1
  61. /**
  62. * @brief UART Timeout - pri jeho vypsani sa doska restartuje.
  63. *
  64. * Podmienka restaru, bude ze do doby vyprsania timeoutu nebude ziadna
  65. * komunikacia na rozhrani UART. hodnota = minuty + offset 35s
  66. */
  67. #define UART_WATCHDOG 30 * 60 * 1000 + 35000
  68. #endif