nbus_config.h.default 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. /**
  2. * @file ubus_config.h
  3. *
  4. * @brief Konfigurácia protokolu uBUS
  5. * @author Juraj Dudak
  6. * @date 20.12.2022
  7. */
  8. /** @addtogroup Firmware
  9. * @{
  10. */
  11. /** @addtogroup Implementácia_uBUS
  12. *
  13. * @{
  14. */
  15. /** @addtogroup Konfigurácia
  16. * @brief Konfigurácia komunikačného zásobníka uBUS, súbor ubus_config.h
  17. *
  18. * @{
  19. *
  20. * ## Základné nastavenia
  21. *
  22. * Základné naastavenie konfigurácie je potrebné urobiť pri konfiguráciu použitého MCU. Pri konfigurácii MCU je potrebné nastaviť:
  23. *
  24. * - želanú frekvenciu jadra.
  25. * - aktivovať komunikažné rozhranie USART
  26. * - povoliť prerušenie na USART
  27. * - v prípade aktivácie nastavenia USE_USART_DMA_TX, pridať DMA kanál pre smer TX
  28. * - aktivovať základný časovať TIM (TIM6 alebo TIM7)
  29. * - povoliť prerušenie na použitom časovači.
  30. * - GPIO pin procesora, ktorý bude použitý pre svetelnú signalizáciu
  31. */
  32. #ifndef __UBUS_CONFIG_H__
  33. #define __UBUS_CONFIG_H__
  34. /** @brief Základná komunikačná rýchlosť modulu. */
  35. #define UART_BAUDRATE 19200
  36. /** @brief Parita pre komunikačné rozhanie.
  37. *
  38. * Povolené hodnoty: UART_PARITY_EVEN, UART_PARITY_ODD, UART_PARITY_NONE. Default: UART_PARITY_EVEN
  39. */
  40. #define UBUS_UART_PARITY UART_PARITY_EVEN
  41. /**
  42. * @brief Rodina dosky, resp. typové označenie meracieho modulu.
  43. *
  44. * Maximálna povolená dĺžka sú 4 znaky.
  45. */
  46. #define FW_FAMILY "TEST"
  47. /**
  48. * @brief Globalne povoluje resp zakazuje použitie možnosti šifrovania komunikácie.
  49. *
  50. * Vypnutie RSA šifrovania ušetrí cca 2kB.
  51. */
  52. #define ENABLE_RSA 1
  53. /**
  54. * @brief Globalne povoluje resp zakazuje vypoctu pomocou tabulky CRC.
  55. *
  56. * Vypnutím direktívy sa zmnčí pamäťová náročnosť FLASH (asi o 600 B) ale spomalí sa výpočet CRC prijímaného a odosielaného paketu.
  57. */
  58. #define USE_FAST_CRC 1
  59. /**
  60. * @brief Určuje, či sa použije hardvérové riadenie zbernice RS485.
  61. */
  62. #define USE_SW_485 1
  63. /**
  64. * @brief Spôsob odoslania odpovede (blokujúci/DMA).
  65. *
  66. * 0 - blokujuci spôsob, 1- neblokujúci spôsob pomocou DMA. Využitie neblokujúcej komunikácie má význam
  67. * 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.
  68. */
  69. #define USE_USART_DMA_TX 0
  70. /**
  71. * @brief UART Timeout - pri jeho vypsani sa doska restartuje.
  72. *
  73. * Podmienka restaru, bude ze do doby vyprsania timeoutu nebude ziadna komunikacia na rozhrani UART.
  74. * hodnota = minuty + offset 35s
  75. */
  76. #define UART_WATCHDOG 30 * 60 * 1000 + 35000
  77. /**
  78. * @brief Podpora pre formát Qm.n pre namerané dáta.
  79. *
  80. * Touto direktívou sa zapne práca s typom float.
  81. */
  82. #define QFORMAT_SUPPORT_ENABLE 1
  83. /**
  84. * @brief Umožní monitorovanie prevádzkovýách napätí meracieho modulu.
  85. *
  86. * Ak je monitorovaine aktivované, vyžaduje sa aby v konfigurácii modulu uBUS bolo aktivované rozhranie ADC.
  87. */
  88. #define SELF_MONITORING 0
  89. /** @brief Aktivuje sub-slave 14 (0xE) - driver 1-wire. Implementácia je v súbore ubus_dev_E.c */
  90. //#define UBUS_CHANNEL_E
  91. /** @brief Aktivuje sub-slave 15 - pamäť konfigurácie (0xF). Implementácia je v súbore ubus_dev_F.c */
  92. #define UBUS_CHANNEL_F
  93. /**
  94. * @}
  95. */
  96. /**
  97. * @}
  98. */
  99. /**
  100. * @}
  101. */
  102. #endif