cc1120_protocol.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. /*
  2. * cc1120_aprs.h
  3. *
  4. * Created on: Jan 12, 2019
  5. * Author: curiousmuch
  6. */
  7. #ifndef MAIN_CC1120_PROTOCOL_H_
  8. #define MAIN_CC1120_PROTOCOL_H_
  9. #include <stdio.h>
  10. #include <stdint.h>
  11. #include "cc1120.h"
  12. /* APRS Configuration */
  13. // Address Config = No address check
  14. // Bit Rate = 0.825
  15. // Carrier Frequency = 144.389999
  16. // Deviation = 5.004883 (MOVE TO 3kHZ)
  17. // Device Address = 0
  18. // Manchester Enable = false
  19. // Modulation Format = 2-FSK
  20. // PA Ramping = false
  21. // Packet Bit Length = 0
  22. // Packet Length = 3
  23. // Packet Length Mode = Not supported
  24. // Performance Mode = High Performance
  25. // RX Filter BW = 15.384615
  26. // Symbol rate = 0.825
  27. // TX Power = 15
  28. // Whitening = false
  29. static const cc1120_reg_settings_t APRS_SETTINGS[]=
  30. {
  31. {CC112X_IOCFG3, 0x1e},
  32. {CC112X_IOCFG2, 0x08},
  33. {CC112X_IOCFG1, 0xB0},
  34. {CC112X_IOCFG0, 0x09},
  35. {CC112X_SYNC_CFG1, 0x0B},
  36. {CC112X_DEVIATION_M, 0x48},
  37. {CC112X_DCFILT_CFG, 0x1C},
  38. {CC112X_PREAMBLE_CFG1, 0x00},
  39. {CC112X_IQIC, 0xC6},
  40. {CC112X_CHAN_BW, 0x0D},
  41. {CC112X_MDMCFG0, 0x05},
  42. {CC112X_SYMBOL_RATE2, 0x3B},
  43. {CC112X_SYMBOL_RATE1, 0x08},
  44. {CC112X_SYMBOL_RATE0, 0x9A},
  45. {CC112X_AGC_REF, 0x20},
  46. {CC112X_AGC_CS_THR, 0x19},
  47. {CC112X_AGC_CFG1, 0xA9},
  48. {CC112X_AGC_CFG0, 0xCF},
  49. {CC112X_FIFO_CFG, 0x00},
  50. {CC112X_FS_CFG, 0x1B},
  51. {CC112X_PKT_CFG2, 0x06},
  52. {CC112X_PKT_CFG1, 0x00},
  53. {CC112X_PKT_CFG0, 0x40},
  54. {CC112X_PA_CFG2, 0x3F},
  55. {CC112X_PA_CFG0, 0x7E},
  56. {CC112X_IF_MIX_CFG, 0x00},
  57. {CC112X_FREQOFF_CFG, 0x22},
  58. {CC112X_CFM_DATA_CFG, 0x01},
  59. {CC112X_FREQ2, 0x6C},
  60. {CC112X_FREQ1, 0x4A},
  61. {CC112X_FREQ0, 0xE1},
  62. {CC112X_FS_DIG1, 0x00},
  63. {CC112X_FS_DIG0, 0x5F},
  64. {CC112X_FS_CAL1, 0x40},
  65. {CC112X_FS_CAL0, 0x0E},
  66. {CC112X_FS_DIVTWO, 0x03},
  67. {CC112X_FS_DSM0, 0x33},
  68. {CC112X_FS_DVC0, 0x17},
  69. {CC112X_FS_PFD, 0x50},
  70. {CC112X_FS_PRE, 0x6E},
  71. {CC112X_FS_REG_DIV_CML, 0x14},
  72. {CC112X_FS_SPARE, 0xAC},
  73. {CC112X_FS_VCO0, 0xB4},
  74. {CC112X_XOSC5, 0x0E},
  75. {CC112X_XOSC1, 0x03},
  76. };
  77. /* 900MHz CW Configuration */
  78. // Address Config = No address check
  79. // Bit Rate = 0.825
  80. // Carrier Frequency = 915.000000
  81. // Deviation = 5kHz
  82. // Device Address = 0
  83. // Manchester Enable = false
  84. // Modulation Format = 2-FSK
  85. // PA Ramping = false
  86. // Packet Bit Length = 0
  87. // Packet Length = 3
  88. // Packet Length Mode = Not supported
  89. // Performance Mode = High Performance
  90. // RX Filter BW = 15kHz
  91. // Symbol rate = 0.825
  92. // TX Power = 15
  93. // Whitening = false
  94. static const cc1120_reg_settings_t CW_SETTINGS[]=
  95. {
  96. {CC112X_IOCFG3, 0x1e},
  97. {CC112X_IOCFG2, 0x08},
  98. {CC112X_IOCFG1, 0xB0},
  99. {CC112X_IOCFG0, 0x09},
  100. {CC112X_SYNC_CFG1, 0x0B},
  101. {CC112X_DEVIATION_M, 0x48},
  102. {CC112X_DCFILT_CFG, 0x1C},
  103. {CC112X_PREAMBLE_CFG1, 0x00},
  104. {CC112X_IQIC, 0xC6},
  105. {CC112X_CHAN_BW, 0x0D},
  106. {CC112X_MDMCFG0, 0x05},
  107. {CC112X_SYMBOL_RATE2, 0x3B},
  108. {CC112X_SYMBOL_RATE1, 0x08},
  109. {CC112X_SYMBOL_RATE0, 0x9A},
  110. {CC112X_AGC_REF, 0x20},
  111. {CC112X_AGC_CS_THR, 0x19},
  112. {CC112X_AGC_CFG1, 0xA9},
  113. {CC112X_AGC_CFG0, 0xCF},
  114. {CC112X_FIFO_CFG, 0x00},
  115. {CC112X_FS_CFG, 0x12},
  116. {CC112X_PKT_CFG2, 0x06},
  117. {CC112X_PKT_CFG1, 0x00},
  118. {CC112X_PKT_CFG0, 0x40},
  119. {CC112X_PA_CFG2, 0x3F},
  120. {CC112X_PA_CFG0, 0x7E},
  121. {CC112X_IF_MIX_CFG, 0x00},
  122. {CC112X_FREQOFF_CFG, 0x22},
  123. {CC112X_CFM_DATA_CFG, 0x01},
  124. {CC112X_FREQ2, 0x72},
  125. {CC112X_FREQ1, 0x60},
  126. {CC112X_FS_DIG1, 0x00},
  127. {CC112X_FS_DIG0, 0x5F},
  128. {CC112X_FS_CAL1, 0x40},
  129. {CC112X_FS_CAL0, 0x0E},
  130. {CC112X_FS_DIVTWO, 0x03},
  131. {CC112X_FS_DSM0, 0x33},
  132. {CC112X_FS_DVC0, 0x17},
  133. {CC112X_FS_PFD, 0x50},
  134. {CC112X_FS_PRE, 0x6E},
  135. {CC112X_FS_REG_DIV_CML, 0x14},
  136. {CC112X_FS_SPARE, 0xAC},
  137. {CC112X_FS_VCO0, 0xB4},
  138. {CC112X_XOSC5, 0x0E},
  139. {CC112X_XOSC1, 0x03},
  140. };
  141. #endif /* MAIN_CC1120_PROTOCOL_H_ */