aboutsummaryrefslogtreecommitdiffhomepage
path: root/source/Core/BSP/Miniware/Power.cpp
blob: 4e48b2a2898f6ffb6773cf92d1a7c279a5ff6569 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "BSP.h"
#include "BSP_Power.h"
#include "Pins.h"
#include "QC3.h"
#include "Settings.h"
#include "USBPD.h"
#include "configuration.h"
#include "stm32f1xx_hal.h"
void power_check() {
#ifdef POW_PD
  // Cant start QC until either PD works or fails
  if (!USBPowerDelivery::negotiationComplete()) {
    return;
  }
  if (USBPowerDelivery::negotiationHasWorked()) {
    return; // We are using PD
  }
#endif
#ifdef POW_QC
  QC_resync();
#endif
}

bool getIsPoweredByDCIN() {
#if defined(MODEL_TS80) + defined(MODEL_TS80P) > 0
  return false;
#endif
#ifdef MODEL_TS101
  // TODO have to check what we are using
  return HAL_GPIO_ReadPin(DC_SELECT_GPIO_Port, DC_SELECT_Pin) == GPIO_PIN_SET;
#endif
#ifdef MODEL_TS100
  return true;
#endif
}