SMART_COMPONENTS_PWM_SIM7600E/PwmSim7600e.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;
}