pcnt_periph.c 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. // Copyright 2020 Espressif Systems (Shanghai) PTE LTD
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. #include "soc/pcnt_periph.h"
  15. #include "soc/gpio_sig_map.h"
  16. const pcnt_signal_conn_t pcnt_periph_signals = {
  17. .module = PERIPH_PCNT_MODULE,
  18. .irq = ETS_PCNT_INTR_SOURCE,
  19. .units = {
  20. [0] = {
  21. .channels = {
  22. [0] = {
  23. .control_sig = PCNT_CTRL_CH0_IN0_IDX,
  24. .pulse_sig = PCNT_SIG_CH0_IN0_IDX
  25. },
  26. [1] = {
  27. .control_sig = PCNT_CTRL_CH1_IN0_IDX,
  28. .pulse_sig = PCNT_SIG_CH1_IN0_IDX
  29. }
  30. }
  31. },
  32. [1] = {
  33. .channels = {
  34. [0] = {
  35. .control_sig = PCNT_CTRL_CH0_IN1_IDX,
  36. .pulse_sig = PCNT_SIG_CH0_IN1_IDX
  37. },
  38. [1] = {
  39. .control_sig = PCNT_CTRL_CH1_IN1_IDX,
  40. .pulse_sig = PCNT_SIG_CH1_IN1_IDX
  41. }
  42. }
  43. },
  44. [2] = {
  45. .channels = {
  46. [0] = {
  47. .control_sig = PCNT_CTRL_CH0_IN2_IDX,
  48. .pulse_sig = PCNT_SIG_CH0_IN2_IDX
  49. },
  50. [1] = {
  51. .control_sig = PCNT_CTRL_CH1_IN2_IDX,
  52. .pulse_sig = PCNT_SIG_CH1_IN2_IDX
  53. }
  54. }
  55. },
  56. [3] = {
  57. .channels = {
  58. [0] = {
  59. .control_sig = PCNT_CTRL_CH0_IN3_IDX,
  60. .pulse_sig = PCNT_SIG_CH0_IN3_IDX
  61. },
  62. [1] = {
  63. .control_sig = PCNT_CTRL_CH1_IN3_IDX,
  64. .pulse_sig = PCNT_SIG_CH1_IN3_IDX
  65. }
  66. }
  67. },
  68. [4] = {
  69. .channels = {
  70. [0] = {
  71. .control_sig = PCNT_CTRL_CH0_IN4_IDX,
  72. .pulse_sig = PCNT_SIG_CH0_IN4_IDX
  73. },
  74. [1] = {
  75. .control_sig = PCNT_CTRL_CH1_IN4_IDX,
  76. .pulse_sig = PCNT_SIG_CH1_IN4_IDX
  77. }
  78. }
  79. },
  80. [5] = {
  81. .channels = {
  82. [0] = {
  83. .control_sig = PCNT_CTRL_CH0_IN5_IDX,
  84. .pulse_sig = PCNT_SIG_CH0_IN5_IDX
  85. },
  86. [1] = {
  87. .control_sig = PCNT_CTRL_CH1_IN5_IDX,
  88. .pulse_sig = PCNT_SIG_CH1_IN5_IDX
  89. }
  90. }
  91. },
  92. [6] = {
  93. .channels = {
  94. [0] = {
  95. .control_sig = PCNT_CTRL_CH0_IN6_IDX,
  96. .pulse_sig = PCNT_SIG_CH0_IN6_IDX
  97. },
  98. [1] = {
  99. .control_sig = PCNT_CTRL_CH1_IN6_IDX,
  100. .pulse_sig = PCNT_SIG_CH1_IN6_IDX
  101. }
  102. }
  103. },
  104. [7] = {
  105. .channels = {
  106. [0] = {
  107. .control_sig = PCNT_CTRL_CH0_IN7_IDX,
  108. .pulse_sig = PCNT_SIG_CH0_IN7_IDX
  109. },
  110. [1] = {
  111. .control_sig = PCNT_CTRL_CH1_IN7_IDX,
  112. .pulse_sig = PCNT_SIG_CH1_IN7_IDX
  113. }
  114. }
  115. }
  116. }
  117. };