Init
This commit is contained in:
commit
77e3614822
|
|
@ -0,0 +1,334 @@
|
||||||
|
//
|
||||||
|
// Created by ilya on 25.03.24.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "PowerManagment.h"
|
||||||
|
#include "SystemDelayInterface.h"
|
||||||
|
#include "Adc.h"
|
||||||
|
#include "PwmSim7600e.h"
|
||||||
|
#include "CmsisRtosThreadUtils.h"
|
||||||
|
#include "ext_telematica.h"
|
||||||
|
#include "CanPorts.h"
|
||||||
|
#include "Gpios.h"
|
||||||
|
|
||||||
|
#define LOG_SIGN "Главн."
|
||||||
|
#define LOGGER &env->slog->logger
|
||||||
|
|
||||||
|
void Pwm_GsmAndGnssStartup(tPowerManagement *env) {
|
||||||
|
PwmSim7600e_Startup(&env->powerSusystem->sim7600);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Pwm_GsmAndGnssShutDown(tPowerManagement *env) {
|
||||||
|
return PwmSim7600e_ShutDown(&env->powerSusystem->sim7600);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_BatteryOn(tPowerManagement *env) {
|
||||||
|
GpioPinEnable(&env->powerSusystem->battery.enable);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_AmpOn(tPowerManagement *env) {
|
||||||
|
env->powerSusystem->SpekTestPower.speakTestAcsess = false;
|
||||||
|
GpioPinEnable(&env->powerSusystem->audio.resetAmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_AmpOff(tPowerManagement *env) {
|
||||||
|
env->powerSusystem->SpekTestPower.speakTestAcsess = true;
|
||||||
|
GpioPinDisable(&env->powerSusystem->audio.resetAmp);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_BatteryOff(tPowerManagement *env) {
|
||||||
|
GpioPinDisable(&env->powerSusystem->battery.enable);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_StandbyOn(tPowerManagement *env) {
|
||||||
|
GpioPinEnable(&env->powerSusystem->main.standby);
|
||||||
|
GpioPinDisable(&env->powerSusystem->main.Power12V);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_StandbyOff(tPowerManagement *env) {
|
||||||
|
GpioPinDisable(&env->powerSusystem->main.standby);
|
||||||
|
GpioPinDisable(&env->powerSusystem->main.Power12V);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_Rs485Enable(tPowerManagement *env) {
|
||||||
|
GpioPinEnable(&env->powerSusystem->PowerRS485);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_Rs485Disable(tPowerManagement *env) {
|
||||||
|
GpioPinDisable(&env->powerSusystem->PowerRS485);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_PowerSavingEnable(tPowerManagement *env) {
|
||||||
|
// Pwm_GsmAndGnssShutdown(env);
|
||||||
|
// Pwm_MuteAmpOn(env);
|
||||||
|
// Pwm_BipShutdown(env);
|
||||||
|
Pwm_ChargeDisable(env);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_PowerSavingDisable(tPowerManagement *env) {
|
||||||
|
// Pwm_GsmAndGnssStartup(env);
|
||||||
|
// Pwm_MuteAmpOff(env);
|
||||||
|
// Pwm_GsmAndBipStartUp(env);
|
||||||
|
// Mma_AudioTestSetMode(&env->power,1);
|
||||||
|
Pwm_ChargeEnable(env);
|
||||||
|
}
|
||||||
|
|
||||||
|
//void Pwm_MuteAmpOff(tPowerManagement *env) {
|
||||||
|
// tAudioPower *audio = &env->pins->audio;
|
||||||
|
// env->pins->SpekTestPower.speakTestAcsess = false;
|
||||||
|
//
|
||||||
|
// GpioPinDisable(&audio->mute);
|
||||||
|
// LoggerTraceStatic(LOGGER, LOG_SIGN, "Сигнал MUTE усилитель отключен")
|
||||||
|
//}
|
||||||
|
|
||||||
|
void Pwm_MuteAmpOn(tPowerManagement *env) {
|
||||||
|
tAudioPower *audio = &env->powerSusystem->audio;
|
||||||
|
env->powerSusystem->SpekTestPower.speakTestAcsess = true;
|
||||||
|
// GpioPinEnable(&audio->mute);
|
||||||
|
LoggerTraceStatic(LOGGER, LOG_SIGN, "Сигнал MUTE усилитель поднят")
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Pwm_GetMuteInCarState(tPowerManagement *env) {
|
||||||
|
bool pos, neg;
|
||||||
|
pos=GpioPinGet(&env->powerSusystem->main.muteP);
|
||||||
|
neg=GpioPinGet(&env->powerSusystem->main.muteN);
|
||||||
|
|
||||||
|
if (*env->positiveMute) {
|
||||||
|
if((pos==true)&&(neg==false)){
|
||||||
|
return true;
|
||||||
|
} else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if((pos==false)&&(neg==true)){
|
||||||
|
return true;
|
||||||
|
} else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_Shutdown(tPowerManagement *env) {
|
||||||
|
if (EXT_ENV_ADR_TELE.META_EXT_ENV_TELE) {
|
||||||
|
EXT_ENV_ADR_TELE.tele_func(env, TELE_MODULE_SHUTDOWN);
|
||||||
|
}
|
||||||
|
|
||||||
|
Pwm_GsmAndGnssShutDown(env);
|
||||||
|
LoggerInfoStatic(&env->slog->logger, LOG_SIGN, "Завершение работы")
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Отключение питания через 4 с")
|
||||||
|
SystemDelayMs(4000);
|
||||||
|
Pwm_Blackout(env);
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Питание осталось, обратите внимание!!")
|
||||||
|
LoggerInfoStatic(LOGGER, LOG_SIGN, "Возможно произошло повторное включение пользователем")
|
||||||
|
SystemDelayMs(500);
|
||||||
|
|
||||||
|
nvic_system_reset();
|
||||||
|
//BootJumpToAddress(0x8000000);
|
||||||
|
LoggerErrorStatic(LOGGER, LOG_SIGN, "Этой строчки не должно быть! Критическая ошибка!")
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Pwm_GetSosButtonState(tPowerManagement *env) {
|
||||||
|
return GpioPinGet(env->sosButtonPin);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Pwm_GetServiseButtonState(tPowerManagement *env) {
|
||||||
|
return GpioPinGet(env->serviceButtonPin);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_SetEcallSignalOutInCar(tPowerManagement *env, bool value) {
|
||||||
|
if (value) {
|
||||||
|
if (EXT_ENV_ADR_TELE.META_EXT_ENV_TELE)
|
||||||
|
EXT_ENV_ADR_TELE.tele_func(NULL, TELE_MODULE_MUTE_ON);
|
||||||
|
|
||||||
|
GpioPinEnable(&env->powerSusystem->main.ecallOut);
|
||||||
|
} else {
|
||||||
|
if (EXT_ENV_ADR_TELE.META_EXT_ENV_TELE)
|
||||||
|
EXT_ENV_ADR_TELE.tele_func(NULL, TELE_MODULE_MUTE_OFF);
|
||||||
|
|
||||||
|
GpioPinDisable(&env->powerSusystem->main.ecallOut);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_SetServiseSignalOutInCar(tPowerManagement *env, bool value) {
|
||||||
|
if (value) {
|
||||||
|
if (EXT_ENV_ADR_TELE.META_EXT_ENV_TELE)
|
||||||
|
EXT_ENV_ADR_TELE.tele_func(NULL, TELE_MODULE_MUTE_ON);
|
||||||
|
|
||||||
|
GpioPinEnable(&env->powerSusystem->main.garage);
|
||||||
|
} else {
|
||||||
|
if (EXT_ENV_ADR_TELE.META_EXT_ENV_TELE)
|
||||||
|
EXT_ENV_ADR_TELE.tele_func(NULL, TELE_MODULE_MUTE_OFF);
|
||||||
|
|
||||||
|
GpioPinDisable(&env->powerSusystem->main.garage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_SetPMuteInCar(tPowerManagement *env, bool value) {
|
||||||
|
if (value) {
|
||||||
|
if (EXT_ENV_ADR_TELE.META_EXT_ENV_TELE)
|
||||||
|
EXT_ENV_ADR_TELE.tele_func(NULL, TELE_MODULE_MUTE_ON);
|
||||||
|
|
||||||
|
GpioPinEnable(&env->powerSusystem->main.muteP);
|
||||||
|
} else {
|
||||||
|
if (EXT_ENV_ADR_TELE.META_EXT_ENV_TELE)
|
||||||
|
EXT_ENV_ADR_TELE.tele_func(NULL, TELE_MODULE_MUTE_OFF);
|
||||||
|
|
||||||
|
GpioPinDisable(&env->powerSusystem->main.muteP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_SetNMuteInCar(tPowerManagement *env, bool value) {
|
||||||
|
if (value) {
|
||||||
|
if (EXT_ENV_ADR_TELE.META_EXT_ENV_TELE)
|
||||||
|
EXT_ENV_ADR_TELE.tele_func(NULL, TELE_MODULE_MUTE_ON);
|
||||||
|
|
||||||
|
GpioPinEnable(&env->powerSusystem->main.muteN);
|
||||||
|
} else {
|
||||||
|
if (EXT_ENV_ADR_TELE.META_EXT_ENV_TELE)
|
||||||
|
EXT_ENV_ADR_TELE.tele_func(NULL, TELE_MODULE_MUTE_OFF);
|
||||||
|
|
||||||
|
GpioPinDisable(&env->powerSusystem->main.muteN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void Pwm_SetMuteInCar(tPowerManagement *env, bool value) {
|
||||||
|
///*Мьют переделан , теперь поднимаются линии muteN muteP не зависимо от настройки в стородже
|
||||||
|
|
||||||
|
if (value) {
|
||||||
|
if (EXT_ENV_ADR_TELE.META_EXT_ENV_TELE)
|
||||||
|
EXT_ENV_ADR_TELE.tele_func(NULL, TELE_MODULE_MUTE_ON);
|
||||||
|
|
||||||
|
GpioPinEnable(&env->powerSusystem->main.muteN);
|
||||||
|
GpioPinEnable(&env->powerSusystem->main.muteP);
|
||||||
|
} else {
|
||||||
|
if (EXT_ENV_ADR_TELE.META_EXT_ENV_TELE)
|
||||||
|
EXT_ENV_ADR_TELE.tele_func(NULL, TELE_MODULE_MUTE_OFF);
|
||||||
|
|
||||||
|
GpioPinDisable(&env->powerSusystem->main.muteP);
|
||||||
|
GpioPinDisable(&env->powerSusystem->main.muteN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_ChargeEnable(tPowerManagement *env) {
|
||||||
|
env->currentChargeState = true;
|
||||||
|
GpioPinEnable(&env->powerSusystem->battery.charge);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_ChargeDisable(tPowerManagement *env) {
|
||||||
|
env->currentChargeState = false;
|
||||||
|
GpioPinDisable(&env->powerSusystem->battery.charge);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_LNA_setMode(tPowerManagement *env, bool state) {
|
||||||
|
// if (state == true) {
|
||||||
|
// GpioPinEnable(&env->pins->main.inAnt);
|
||||||
|
// } else {
|
||||||
|
// GpioPinDisable(&env->pins->main.inAnt);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_CanStandby(tPowerManagement *env) {
|
||||||
|
GpioPinSet(&env->powerSusystem->canStandby.can1_standby, false);
|
||||||
|
GpioPinSet(&env->powerSusystem->canStandby.can2_standby, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_OnDeviceInit(tPowerManagement *env) {
|
||||||
|
Pwm_StandbyOn(env);
|
||||||
|
Pwm_BatteryOn(env);
|
||||||
|
Pwm_Rs485Enable(env);
|
||||||
|
// Pwm_GsmAndGnssStartup(env);
|
||||||
|
Pwm_SetMuteInCar(env, false);
|
||||||
|
Pwm_AmpOn(env);
|
||||||
|
Pwm_CanStandby(env);
|
||||||
|
|
||||||
|
GpioPinDisable(&env->powerSusystem->main.garage);
|
||||||
|
GpioPinDisable(&env->powerSusystem->main.ecallOut);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_Blackout(tPowerManagement *env) {
|
||||||
|
Pwm_ChargeDisable(env);
|
||||||
|
Pwm_BatteryOff(env);
|
||||||
|
Pwm_StandbyOff(env);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Pwm_Init(
|
||||||
|
tPowerManagement *env,
|
||||||
|
tPowerSusystem *powerSusystem,
|
||||||
|
tAdcIO *batteryIo,
|
||||||
|
tAdc *boardVoltage,
|
||||||
|
bool *positiveMute,
|
||||||
|
tLoggerToSerialPort *slog,
|
||||||
|
tGpioPin *sosButtonPin,
|
||||||
|
tGpioPin *serviceButtonPin
|
||||||
|
) {
|
||||||
|
env->sosButtonPin = sosButtonPin;
|
||||||
|
env->serviceButtonPin = serviceButtonPin;
|
||||||
|
env->slog = slog;
|
||||||
|
env->powerSusystem = powerSusystem;
|
||||||
|
|
||||||
|
env->powerSusystem->boardPower.boardVoltage = boardVoltage;
|
||||||
|
env->powerSusystem->boardPower.boardVoltageTimer = 0;
|
||||||
|
env->powerSusystem->boardPower.currentBoardVoltage = 0;
|
||||||
|
|
||||||
|
env->powerSusystem->SpekTestPower.lastTestTime = 0;
|
||||||
|
|
||||||
|
env->shutdownDelay = 60000;
|
||||||
|
env->powerSusystem->battery.batteryIo = batteryIo;
|
||||||
|
env->powerSusystem->battery.batTestTimer = 0;
|
||||||
|
env->positiveMute = positiveMute;
|
||||||
|
env->logger = NULL;
|
||||||
|
env->interAntBufVal = true;
|
||||||
|
//Инициализируем поток
|
||||||
|
InitThreadAtrStatic(&env->threadPwr.attr, "Pwm", env->threadPwr.controlBlock, env->threadPwr.stack, osPriorityNormal);
|
||||||
|
env->threadPwr.id = 0;
|
||||||
|
env->currentIgnState = true;
|
||||||
|
env->mux_accessPwrMan = osMutexNew(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static _Noreturn void Pwm_Thread(tPowerManagement *env) {
|
||||||
|
Pwm_ChargeEnable(env);
|
||||||
|
|
||||||
|
for (;;) {
|
||||||
|
bool ignition = GpioPinGet(&env->powerSusystem->main.ignition);
|
||||||
|
|
||||||
|
if (ignition) {
|
||||||
|
env->lastIgnEnabled = SystemGetMs();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (osMutexAcquire(env->mux_accessPwrMan, 100) == osOK) {
|
||||||
|
env->powerSusystem->boardPower.currentBoardVoltage = AdcGet(&env->powerSusystem->boardPower.boardVoltage->vccIo, 1000);
|
||||||
|
env->powerSusystem->boardPower.currentBoardVoltageOfSerbisePO = env->powerSusystem->boardPower.currentBoardVoltage;
|
||||||
|
if (env->powerSusystem->battery.batTestTimer < SystemGetMs()) {
|
||||||
|
GpioPinSet(&env->powerSusystem->battery.charge,false);
|
||||||
|
SystemDelayMs(300);
|
||||||
|
env->powerSusystem->battery.currentBatVoltage = AdcGet(env->powerSusystem->battery.batteryIo, 1000);
|
||||||
|
SystemDelayMs(300);
|
||||||
|
if (env->powerSusystem->battery.currentBatVoltage < 1000) {
|
||||||
|
env->powerSusystem->battery.currentBatVoltage = 0;
|
||||||
|
}
|
||||||
|
GpioPinSet(&env->powerSusystem->battery.charge,true);
|
||||||
|
env->powerSusystem->battery.batTestTimer = SystemGetMs()+5000;
|
||||||
|
}
|
||||||
|
osMutexRelease(env->mux_accessPwrMan);
|
||||||
|
}
|
||||||
|
SystemDelayMs(100);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PowerManagement_StartThread(tPowerManagement *env) {
|
||||||
|
if (!env->threadPwr.id) {
|
||||||
|
env->threadPwr.id = osThreadNew((osThreadFunc_t) (Pwm_Thread), (void *) (env), &env->threadPwr.attr);
|
||||||
|
} else {
|
||||||
|
osThreadResume(env->threadPwr.id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Pwm_IsShutdownRequired(tPowerManagement *env) {
|
||||||
|
uint32_t thisTime = SystemGetMs();
|
||||||
|
uint32_t time = env->lastIgnEnabled + env->shutdownDelay;
|
||||||
|
|
||||||
|
if(time < thisTime){
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,169 @@
|
||||||
|
//
|
||||||
|
// Created by ilya on 25.03.24.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef SMART_COMPONENTS_POWERMANAGMENT_H
|
||||||
|
#define SMART_COMPONENTS_POWERMANAGMENT_H
|
||||||
|
#include <SerialPorts.h>
|
||||||
|
#include "GpioPin.h"
|
||||||
|
#include "UserInput.h"
|
||||||
|
#include "UserIndication.h"
|
||||||
|
#include "SpiPorts.h"
|
||||||
|
#include "Adc.h"
|
||||||
|
#include "LoggerInterface.h"
|
||||||
|
#include "PwmSim7600e.h"
|
||||||
|
#include "LoggerToSerialPort.h"
|
||||||
|
//#include "Amplifier.h"
|
||||||
|
|
||||||
|
#define PM_SHUTDOWN_DELAY 15000
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
tGpioPin resetAmp;
|
||||||
|
} tAudioPower;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
tGpioPin ignition;
|
||||||
|
tGpioPin standby;
|
||||||
|
tGpioPin garage;
|
||||||
|
tGpioPin ecallOut;
|
||||||
|
tGpioPin muteP;
|
||||||
|
tGpioPin muteN;
|
||||||
|
tGpioPin inAnt;
|
||||||
|
tGpioPin Power12V;
|
||||||
|
} tMainPower;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
tGpioPin can1_standby;
|
||||||
|
tGpioPin can2_standby;
|
||||||
|
} tCanStandby;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
tGpioPin enable;
|
||||||
|
tGpioPin charge;
|
||||||
|
tAdcIO *batteryIo;
|
||||||
|
uint16_t currentBatVoltage;
|
||||||
|
uint64_t batTestTimer;
|
||||||
|
} tBatteryPower;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
tGpioPin PowerCheckSpkOn;
|
||||||
|
tGpioPin PowerTestSpkIn;
|
||||||
|
bool speakTestAcsess;
|
||||||
|
uint16_t lastTestTime;
|
||||||
|
} tSpekTestPower;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
tAdc *boardVoltage;
|
||||||
|
uint16_t currentBoardVoltage;
|
||||||
|
uint16_t currentBoardVoltageOfSerbisePO;
|
||||||
|
uint32_t boardVoltageTimer;
|
||||||
|
} tBoardPower;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
|
||||||
|
tSpekTestPower SpekTestPower;
|
||||||
|
tGpioPin PowerRS485;
|
||||||
|
tGpioPin usb;
|
||||||
|
tAudioPower audio;
|
||||||
|
tBatteryPower battery;
|
||||||
|
tMainPower main;
|
||||||
|
tSim7600ePower sim7600;
|
||||||
|
tCanStandby canStandby;
|
||||||
|
tBoardPower boardPower;
|
||||||
|
} tPowerSusystem;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
bool interAntBufVal;
|
||||||
|
tLoggerInterface *logger;
|
||||||
|
tPowerSusystem *powerSusystem;
|
||||||
|
bool *positiveMute;
|
||||||
|
uint32_t shutdownDelay;
|
||||||
|
uint32_t lastIgnEnabled;
|
||||||
|
bool currentChargeState;
|
||||||
|
bool currentPwrSaveState;
|
||||||
|
bool currentIgnState;
|
||||||
|
bool (*resetAmpLvl) (void *env);
|
||||||
|
tLoggerToSerialPort *slog;
|
||||||
|
osMutexId_t mux_accessPwrMan;
|
||||||
|
tGpioPin *sosButtonPin;
|
||||||
|
tGpioPin *serviceButtonPin;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
osThreadId_t id;
|
||||||
|
uint32_t stack[256];
|
||||||
|
StaticTask_t controlBlock;
|
||||||
|
osThreadAttr_t attr;
|
||||||
|
} threadPwr;
|
||||||
|
|
||||||
|
} tPowerManagement;
|
||||||
|
|
||||||
|
|
||||||
|
#define PowerManagementProviderSetAmplVol(ENV) (ENV)->resetAmpLvl((ENV)->ampEnv)
|
||||||
|
|
||||||
|
void Pwm_Init(
|
||||||
|
tPowerManagement *env,
|
||||||
|
tPowerSusystem *powerSusystem,
|
||||||
|
tAdcIO *batteryIo,
|
||||||
|
tAdc *boardVoltag,
|
||||||
|
bool *positiveMute,
|
||||||
|
tLoggerToSerialPort *slog,
|
||||||
|
tGpioPin *sosButtonPin,
|
||||||
|
tGpioPin *serviceButtonPin
|
||||||
|
);
|
||||||
|
|
||||||
|
void PowerManagement_StartThread(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_OnDeviceInit(tPowerManagement *env);
|
||||||
|
|
||||||
|
bool Pwm_IsShutdownRequired(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_Blackout(tPowerManagement *env);
|
||||||
|
|
||||||
|
//void Pwm_MuteAmpOff(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_AmpOn(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_AmpOff(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_ChargeDisable(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_ChargeEnable(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_LNA_setMode(tPowerManagement *env, bool state);
|
||||||
|
|
||||||
|
//void Pwm_MuteAmpOn(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_PowerSavingEnable(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_PowerSavingDisable(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_SetMuteInCar(tPowerManagement *env, bool value);
|
||||||
|
|
||||||
|
void Pwm_BipShutdown(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_GsmAndBipStartUp(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_GsmAndGnssStartup(tPowerManagement *env);
|
||||||
|
|
||||||
|
bool Pwm_GsmAndGnssShutDown(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_Rs485Disable(tPowerManagement *env);
|
||||||
|
|
||||||
|
bool Pwm_GetMuteInCarState(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_Shutdown(tPowerManagement *env);
|
||||||
|
|
||||||
|
void Pwm_SetPMuteInCar(tPowerManagement *env, bool value);
|
||||||
|
|
||||||
|
void Pwm_SetNMuteInCar(tPowerManagement *env, bool value);
|
||||||
|
|
||||||
|
void Pwm_SetEcallSignalOutInCar(tPowerManagement *env, bool value);
|
||||||
|
|
||||||
|
void Pwm_SetServiseSignalOutInCar(tPowerManagement *env, bool value);
|
||||||
|
|
||||||
|
bool Pwm_GetSosButtonState(tPowerManagement *env);
|
||||||
|
|
||||||
|
bool Pwm_GetServiseButtonState(tPowerManagement *env);
|
||||||
|
|
||||||
|
#endif //SMART_COMPONENTS_POWERMANAGMENT_H
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"cmake": {
|
||||||
|
"inc_dirs": [
|
||||||
|
"./"
|
||||||
|
],
|
||||||
|
"srcs": [
|
||||||
|
"./**.c"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue