nbus_config.h.default 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. #define USE_ARDUINO_FRAMWORK 0
  14. // MUST BE 2 BYTE LONG
  15. #define VERSION_FW "01" // MAJOR MINOR
  16. // MUST BE 2 BYTE LONG
  17. #define VERSION_HW "01" // MAJOR MINOR
  18. // MUST BE 8 BYTE LONG
  19. #define MODULE_NAME "prototyp"
  20. // Do not modify
  21. #define MODULE_DUMMY 0xFF
  22. #define MODULE_FSR 1
  23. #define MODULE_IMU 2
  24. #define MODULE_GNOSTIC_DISTANCE 3
  25. #define MODULE MODULE_FSR
  26. #if MODULE == MODULE_DUMMY
  27. // MUST BE 3 BYTE LONG
  28. #define MODULE_TYPE "DMY"
  29. #endif
  30. #if MODULE == MODULE_FSR
  31. // MUST BE 3 BYTE LONG
  32. #define MODULE_TYPE "FSR"
  33. #define MODULE_INIT_IP_ADC
  34. #endif
  35. #if MODULE == MODULE_IMU
  36. // MUST BE 3 BYTE LONG
  37. #define MODULE_TYPE "IMU"
  38. #define MODULE_INIT_IP_SPI
  39. #endif
  40. #if MODULE == MODULE_GNOSTIC_DISTANCE
  41. // MUST BE 3 BYTE LONG
  42. #define MODULE_TYPE "GNS"
  43. #define MODULE_INIT_IP_ADC
  44. #endif
  45. #define CRC8_INIT_VALUE 0x0
  46. /** @brief Základná komunikačná rýchlosť modulu. */
  47. #define UART_BAUDRATE 921600
  48. #define UART_TIMER_PRESCALER 7 // 32MHz/8 => Mhz t=0.25us (1)
  49. /**
  50. * @brief Určuje, či sa použije hardvérové riadenie zbernice RS485.
  51. */
  52. #define USE_SW_485 1
  53. /**
  54. * @brief Spôsob odoslania odpovede (blokujúci/DMA).
  55. *
  56. * 0 - blokujuci spôsob, 1- neblokujúci spôsob pomocou DMA. Využitie
  57. * neblokujúcej komunikácie má význam len pri BULK dátovom prenose, kedy ako
  58. * odpoveď na požiadavku o prebos väčšieho množstva dát (4kB) sa odošle viecero
  59. * rámcov za sebou.
  60. */
  61. #define USE_USART_DMA_TX 1
  62. /**
  63. * @brief UART Timeout - pri jeho vypsani sa doska restartuje.
  64. *
  65. * Podmienka restaru, bude ze do doby vyprsania timeoutu nebude ziadna
  66. * komunikacia na rozhrani UART. hodnota = minuty + offset 35s
  67. */
  68. #define UART_WATCHDOG 30 * 60 * 1000 + 35000
  69. #endif