variant.cpp 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #include "variant.h"
  2. #include "wiring_constants.h"
  3. #include "wiring_digital.h"
  4. #include "nrf.h"
  5. const uint32_t g_ADigitalPinMap[] = {
  6. // D0 .. D10 - Peripheral control pins
  7. 2, // D0 P0.02 (A0) GNSS_WAKEUP
  8. 3, // D1 P0.03 (A1) LORA_DIO1
  9. 28, // D2 P0.28 (A2) LORA_RESET
  10. 29, // D3 P0.29 (A3) LORA_BUSY
  11. 4, // D4 P0.04 (A4/SDA) LORA_CS
  12. 5, // D5 P0.05 (A5/SCL) LORA_SW
  13. 43, // D6 P1.11 (UART_TX) GNSS_TX
  14. 44, // D7 P1.12 (UART_RX) GNSS_RX
  15. 45, // D8 P1.13 (SPI_SCK) LORA_SCK
  16. 46, // D9 P1.14 (SPI_MISO) LORA_MISO
  17. 47, // D10 P1.15 (SPI_MOSI) LORA_MOSI
  18. // D11-D12 - LED outputs
  19. 15, // D11 P0.15 User LED
  20. 19, // D12 P0.19 Breathing LED
  21. // D13 - User input
  22. 33, // D13 P1.01 User Button
  23. // D14-D15 - Grove/NFC interface
  24. 9, // D14 P0.09 NFC1/GROVE_D1
  25. 10, // D15 P0.10 NFC2/GROVE_D0
  26. // D16 - Power management
  27. // 31, // D16 P0.31 VBAT_ADC (Battery voltage)
  28. 31, // D16 P0.31 VBAT_ADC (Battery voltage)
  29. // D17 - GNSS control
  30. 35, // D17 P1.03 GNSS_RESET
  31. 37, // D18 P1.05 GNSS_ENABLE
  32. 14, // D19 P0.14 BAT_READ
  33. 39, // D20 P1.07 USER_BUTTON
  34. //
  35. 21, // D21 P0.21 (QSPI_SCK)
  36. 25, // D22 P0.25 (QSPI_CSN)
  37. 20, // D23 P0.20 (QSPI_SIO_0 DI)
  38. 24, // D24 P0.24 (QSPI_SIO_1 DO)
  39. 22, // D25 P0.22 (QSPI_SIO_2 WP)
  40. 23, // D26 P0.23 (QSPI_SIO_3 HOLD)
  41. };
  42. void initVariant() {
  43. pinMode(GPS_EN, OUTPUT);
  44. digitalWrite(GPS_EN, LOW);
  45. pinMode(BATTERY_PIN, INPUT);
  46. pinMode(VBAT_ENABLE, OUTPUT);
  47. digitalWrite(VBAT_ENABLE, LOW);
  48. pinMode(PIN_QSPI_CS, OUTPUT);
  49. digitalWrite(PIN_QSPI_CS, HIGH);
  50. pinMode(LED_GREEN, OUTPUT);
  51. digitalWrite(LED_GREEN, LOW);
  52. pinMode(LED_BLUE, OUTPUT);
  53. digitalWrite(LED_BLUE, LOW);
  54. /* disable gps until we actually support it.
  55. pinMode(GPS_EN, OUTPUT);
  56. digitalWrite(GPS_EN, HIGH);
  57. */
  58. }