variant.cpp 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. /*
  2. * variant.cpp
  3. * Copyright (C) 2023 Seeed K.K.
  4. * MIT License
  5. */
  6. #include "variant.h"
  7. #include "wiring_constants.h"
  8. #include "wiring_digital.h"
  9. const uint32_t g_ADigitalPinMap[PINS_COUNT + 1] =
  10. {
  11. 0, // P0.00
  12. 1, // P0.01
  13. 2, // P0.02, AIN0 BATTERY_PIN
  14. 3, // P0.03
  15. 4, // P0.04, SENSOR_EN
  16. 5, // P0.05, EXT_PWR_DETEC
  17. 6, // P0.06, PIN_BUTTON1
  18. 7, // P0.07, LORA_BUSY
  19. 8, // P0.08, GPS_VRTC_EN
  20. 9, // P0.09
  21. 10, // P0.10
  22. 11, // P0.11, PIN_SPI_SCK
  23. 12, // P0.12, PIN_SPI_NSS
  24. 13, // P0.13, PIN_SERIAL1_TX
  25. 14, // P0.14, PIN_SERIAL1_RX
  26. 15, // P0.15, GPS_RTC_INT
  27. 16, // P0.16, PIN_SERIAL2_TX
  28. 17, // P0.17, PIN_SERIAL2_RX
  29. 18, // P0.18
  30. 19, // P0.19
  31. 20, // P0.20
  32. 21, // P0.21
  33. 22, // P0.22
  34. 23, // P0.23
  35. 24, // P0.24, LED_GREEN
  36. 25, // P0.25, BUZZER_PIN
  37. 26, // P0.26, PIN_WIRE_SDA
  38. 27, // P0.27, PIN_WIRE_SCL
  39. 28, // P0.28
  40. 29, // P0.29, AIN5, LUX_SENSOR
  41. 30, // P0.30
  42. 31, // P0.31, AIN7, TEMP_SENSOR
  43. 32, // P1.00
  44. 33, // P1.01, LORA_DIO_1
  45. 34, // P1.02
  46. 35, // P1.03, EXT_CHRG_DETECT
  47. 36, // P1.04
  48. 37, // P1.05, LR1110_EN
  49. 38, // P1.06, 3V3_EN PWR TO SENSORS
  50. 39, // P1.07, PIN_3V3_ACC_EN
  51. 40, // P1.08, PIN_SPI_MISO
  52. 41, // P1.09, PIN_SPI_MOSI
  53. 42, // P1.10, LORA_RESET
  54. 43, // P1.11, GPS_EN
  55. 44, // P1.12, GPS_SLEEP_INT
  56. 45, // P1.13
  57. 46, // P1.14, GPS_RESETB
  58. 47, // P1.15, PIN_GPS_RESET
  59. 255, // NRFX_SPIM_PIN_NOT_USED
  60. };
  61. void initVariant()
  62. {
  63. // All pins output HIGH by default.
  64. // https://github.com/Seeed-Studio/Adafruit_nRF52_Arduino/blob/fab7d30a997a1dfeef9d1d59bfb549adda73815a/cores/nRF5/wiring.c#L65-L69
  65. pinMode(BATTERY_PIN, INPUT);
  66. pinMode(EXT_CHRG_DETECT, INPUT);
  67. pinMode(EXT_PWR_DETECT, INPUT);
  68. // pinMode(GPS_RESETB, INPUT);
  69. pinMode(PIN_BUTTON1, INPUT);
  70. pinMode(PIN_3V3_EN, OUTPUT);
  71. pinMode(PIN_3V3_ACC_EN, OUTPUT);
  72. // pinMode(BUZZER_EN, OUTPUT);
  73. // pinMode(SENSOR_EN, OUTPUT);
  74. // pinMode(GPS_EN, OUTPUT);
  75. // pinMode(GPS_RESET, OUTPUT);
  76. // pinMode(GPS_VRTC_EN, OUTPUT);
  77. // pinMode(GPS_SLEEP_INT, OUTPUT);
  78. // pinMode(GPS_RTC_INT, OUTPUT);
  79. pinMode(LED_PIN, OUTPUT);
  80. pinMode(P_LORA_TX_LED, OUTPUT);
  81. // digitalWrite(PIN_3V3_EN, LOW);
  82. // digitalWrite(PIN_3V3_ACC_EN, LOW);
  83. // digitalWrite(BUZZER_EN, LOW);
  84. // digitalWrite(SENSOR_EN, LOW);
  85. // digitalWrite(GPS_EN, LOW);
  86. // digitalWrite(GPS_RESET, LOW);
  87. // digitalWrite(GPS_VRTC_EN, LOW);
  88. // digitalWrite(GPS_SLEEP_INT, HIGH);
  89. // digitalWrite(GPS_RTC_INT, LOW);
  90. digitalWrite(LED_PIN, HIGH);
  91. digitalWrite(P_LORA_TX_LED, LOW);
  92. }