55 lines
1.4 KiB
C
55 lines
1.4 KiB
C
//
|
|
// Created by xemon on 04.01.23.
|
|
//
|
|
|
|
#include "SystemDelayInterface.h"
|
|
#include "PwmSim7600e.h"
|
|
|
|
|
|
bool PwmSim7600e_Startup(tSim7600ePower *env) {
|
|
GpioPinEnable(&env->gsm.PowerGsm);
|
|
uint32_t tm = SystemGetMs() + 1000;
|
|
while (tm > SystemGetMs()){
|
|
GpioPinEnable(&env->gsm.powerKey);
|
|
SystemDelayMs(500);
|
|
GpioPinDisable(&env->gsm.powerKey);
|
|
SystemDelayMs(100);
|
|
if(GpioPinGet(&env->gsm.PowerCheckGsm) == true){
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void PwmSim7600e_SimChipSelector(tSim7600ePower *env, tThisSimChip thisSimChip) {
|
|
env->thisSimChip = thisSimChip;
|
|
if(env->thisSimChip == CHIP_ERA) {
|
|
GpioPinSet(&env->SimSelector, false);
|
|
} else{
|
|
GpioPinSet(&env->SimSelector, true);
|
|
}
|
|
}
|
|
|
|
bool PwmSim7600e_ShutDown(tSim7600ePower *env) {
|
|
GpioPinDisable(&env->gsm.PowerGsm);
|
|
GpioPinDisable(&env->gsm.disCharge);
|
|
SystemDelayMs(100);
|
|
GpioPinEnable(&env->dtr);
|
|
SystemDelayMs(100);
|
|
GpioPinEnable(&env->gsm.disCharge);
|
|
SystemDelayMs(500);
|
|
GpioPinDisable(&env->gsm.disCharge);
|
|
SystemDelayMs(500);
|
|
return false;
|
|
}
|
|
|
|
bool PwmSim7600e_WhiteIsLoad(tSim7600ePower *env) {
|
|
// uint64_t time = SystemGetMs() + 5000;
|
|
//
|
|
// while (SystemGetMs() < time){
|
|
// if(GpioPinGet(&env->powerStatus)){
|
|
// return true;
|
|
// }
|
|
// }
|
|
// return false;
|
|
} |