فهرست منبع

Merge pull request #744 from ViezeVingertjes/fix-t1000e-sleep

T1000-E: ensure rails off and radio idle before system off; fix button wake pin
fdlamotte 11 ماه پیش
والد
کامیت
f6f0cfd603
3فایلهای تغییر یافته به همراه11 افزوده شده و 11 حذف شده
  1. 9 1
      variants/t1000-e/T1000eBoard.h
  2. 0 9
      variants/t1000-e/target.cpp
  3. 2 1
      variants/t1000-e/variant.cpp

+ 9 - 1
variants/t1000-e/T1000eBoard.h

@@ -56,6 +56,7 @@ public:
         digitalWrite(GPS_RESET, LOW);
         digitalWrite(GPS_SLEEP_INT, LOW);
         digitalWrite(GPS_RTC_INT, LOW);
+        digitalWrite(GPS_EN, LOW);
         pinMode(GPS_RESETB, OUTPUT);
         digitalWrite(GPS_RESETB, LOW);
     #endif
@@ -68,6 +69,13 @@ public:
         digitalWrite(PIN_3V3_EN, LOW);
     #endif
 
+    #ifdef PIN_3V3_ACC_EN
+        digitalWrite(PIN_3V3_ACC_EN, LOW);
+    #endif
+    #ifdef SENSOR_EN
+        digitalWrite(SENSOR_EN, LOW);
+    #endif
+
     // set led on and wait for button release before poweroff
     #ifdef LED_PIN
     digitalWrite(LED_PIN, HIGH);
@@ -80,7 +88,7 @@ public:
     #endif
 
     #ifdef BUTTON_PIN
-    nrf_gpio_cfg_sense_input(digitalPinToInterrupt(BUTTON_PIN), NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_SENSE_HIGH);
+    nrf_gpio_cfg_sense_input(BUTTON_PIN, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_SENSE_HIGH);
     #endif
 
     sd_power_system_off();

+ 0 - 9
variants/t1000-e/target.cpp

@@ -146,15 +146,6 @@ void T1000SensorManager::stop_gps() {
 bool T1000SensorManager::begin() {
   // init GPS
   Serial1.begin(115200);
-
-  // make sure gps pin are off
-  digitalWrite(GPS_VRTC_EN, LOW);
-  digitalWrite(GPS_RESET, LOW);
-  digitalWrite(GPS_SLEEP_INT, LOW);
-  digitalWrite(GPS_RTC_INT, LOW);
-  pinMode(GPS_RESETB, OUTPUT);
-  digitalWrite(GPS_RESETB, LOW);
-
   return true;
 }
 

+ 2 - 1
variants/t1000-e/variant.cpp

@@ -69,7 +69,7 @@ void initVariant()
   pinMode(BATTERY_PIN, INPUT);
   pinMode(EXT_CHRG_DETECT, INPUT);
   pinMode(EXT_PWR_DETECT, INPUT);
-  pinMode(GPS_RESETB, INPUT);
+  pinMode(GPS_RESETB, OUTPUT);
   pinMode(PIN_BUTTON1, INPUT);
 
   pinMode(PIN_3V3_EN, OUTPUT);
@@ -92,5 +92,6 @@ void initVariant()
   digitalWrite(GPS_VRTC_EN, LOW);
   digitalWrite(GPS_SLEEP_INT, HIGH);
   digitalWrite(GPS_RTC_INT, LOW);
+  digitalWrite(GPS_RESETB, LOW);
   digitalWrite(LED_PIN, LOW);
 }