ser_config.h 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /* Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
  2. *
  3. * The information contained herein is property of Nordic Semiconductor ASA.
  4. * Terms and conditions of usage are described in detail in NORDIC
  5. * SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
  6. *
  7. * Licensees are granted free, non-transferable use of the information. NO
  8. * WARRANTY of ANY KIND is provided. This heading must NOT be removed from
  9. * the file.
  10. *
  11. */
  12. #ifndef SER_CONFIG_H__
  13. #define SER_CONFIG_H__
  14. #include <stdint.h>
  15. #include "nrf.h"
  16. /***********************************************************************************************//**
  17. * General parameters configuration.
  18. **************************************************************************************************/
  19. /** Value used as error code on SoftDevice stack dump. Can be used to identify stack location on
  20. * stack unwind.*/
  21. #define SER_SD_ERROR_CODE (uint32_t)(0xDEADBEEF)
  22. /** Value used as error code indicating warning - unusual situation but not critical so system
  23. * should NOT be reseted. */
  24. #define SER_WARNING_CODE (uint32_t)(0xBADDCAFE)
  25. /***********************************************************************************************//**
  26. * HAL Transport layer configuration.
  27. **************************************************************************************************/
  28. /** Max packets size in serialization HAL Transport layer (packets before adding PHY header i.e.
  29. * packet length). */
  30. #define SER_HAL_TRANSPORT_APP_TO_CONN_MAX_PKT_SIZE (uint32_t)(384)
  31. #define SER_HAL_TRANSPORT_CONN_TO_APP_MAX_PKT_SIZE (uint32_t)(384)
  32. #define SER_HAL_TRANSPORT_MAX_PKT_SIZE ((SER_HAL_TRANSPORT_APP_TO_CONN_MAX_PKT_SIZE) >= \
  33. (SER_HAL_TRANSPORT_CONN_TO_APP_MAX_PKT_SIZE) \
  34. ? \
  35. (SER_HAL_TRANSPORT_APP_TO_CONN_MAX_PKT_SIZE) : \
  36. (SER_HAL_TRANSPORT_CONN_TO_APP_MAX_PKT_SIZE))
  37. #ifdef SER_CONNECTIVITY
  38. #define SER_HAL_TRANSPORT_TX_MAX_PKT_SIZE SER_HAL_TRANSPORT_CONN_TO_APP_MAX_PKT_SIZE
  39. #define SER_HAL_TRANSPORT_RX_MAX_PKT_SIZE SER_HAL_TRANSPORT_APP_TO_CONN_MAX_PKT_SIZE
  40. #else /* APPLICATION SIDE */
  41. #define SER_HAL_TRANSPORT_TX_MAX_PKT_SIZE SER_HAL_TRANSPORT_APP_TO_CONN_MAX_PKT_SIZE
  42. #define SER_HAL_TRANSPORT_RX_MAX_PKT_SIZE SER_HAL_TRANSPORT_CONN_TO_APP_MAX_PKT_SIZE
  43. #endif /* SER_CONNECTIVITY */
  44. /***********************************************************************************************//**
  45. * SER_PHY layer configuration.
  46. **************************************************************************************************/
  47. #define SER_PHY_HEADER_SIZE 2
  48. #define SER_PHY_SPI_FREQUENCY NRF_DRV_SPI_FREQ_1M
  49. /** Max transfer unit for SPI MASTER and SPI SLAVE. */
  50. #define SER_PHY_SPI_MTU_SIZE 255
  51. /** UART transmission parameters */
  52. #define SER_PHY_UART_FLOW_CTRL APP_UART_FLOW_CONTROL_ENABLED
  53. #define SER_PHY_UART_PARITY true
  54. #define SER_PHY_UART_BAUDRATE UART_BAUDRATE_BAUDRATE_Baud1M
  55. /** Find UART baudrate value based on chosen register setting. */
  56. #if (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud1200)
  57. #define SER_PHY_UART_BAUDRATE_VAL 1200uL
  58. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud2400)
  59. #define SER_PHY_UART_BAUDRATE_VAL 2400uL
  60. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud4800)
  61. #define SER_PHY_UART_BAUDRATE_VAL 4800uL
  62. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud9600)
  63. #define SER_PHY_UART_BAUDRATE_VAL 9600uL
  64. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud14400)
  65. #define SER_PHY_UART_BAUDRATE_VAL 14400uL
  66. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud19200)
  67. #define SER_PHY_UART_BAUDRATE_VAL 19200uL
  68. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud28800)
  69. #define SER_PHY_UART_BAUDRATE_VAL 28800uL
  70. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud38400)
  71. #define SER_PHY_UART_BAUDRATE_VAL 38400uL
  72. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud57600)
  73. #define SER_PHY_UART_BAUDRATE_VAL 57600uL
  74. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud76800)
  75. #define SER_PHY_UART_BAUDRATE_VAL 76800uL
  76. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud115200)
  77. #define SER_PHY_UART_BAUDRATE_VAL 115200uL
  78. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud230400)
  79. #define SER_PHY_UART_BAUDRATE_VAL 230400uL
  80. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud250000)
  81. #define SER_PHY_UART_BAUDRATE_VAL 250000uL
  82. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud460800)
  83. #define SER_PHY_UART_BAUDRATE_VAL 460800uL
  84. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud921600)
  85. #define SER_PHY_UART_BAUDRATE_VAL 921600uL
  86. #elif (SER_PHY_UART_BAUDRATE == UART_BAUDRATE_BAUDRATE_Baud1M)
  87. #define SER_PHY_UART_BAUDRATE_VAL 1000000uL
  88. #endif /* SER_PHY_UART_BAUDRATE */
  89. /** Configuration timeouts of connectivity MCU */
  90. #define CONN_CHIP_RESET_TIME 50 /**< The time to keep the reset line to the nRF51822 low (in milliseconds). */
  91. #define CONN_CHIP_WAKEUP_TIME 500 /**< The time for nRF51822 to reset and become ready to receive serialized commands (in milliseconds). */
  92. #define SER_MAX_CONNECTIONS 8
  93. #endif /* SER_CONFIG_H__ */