Перенос на новую организацию GONEC

This commit is contained in:
cfif 2025-01-24 13:22:32 +03:00
commit 1700231cec
3 changed files with 136 additions and 0 deletions

62
PowerManagement.c Normal file
View File

@ -0,0 +1,62 @@
//
// Created by cfif on 15.11.22.
//
#include <SystemDelayInterface.h>
#include "PowerManagement.h"
void Pwm_Init(
tPowerManagement *env,
tPower *Power,
tSIM800FPower *SIM800FPower,
tPRO04Power *PRO04Power
) {
env->Power = Power;
env->SIM800FPower = SIM800FPower;
env->PRO04Power = PRO04Power;
}
void Pwm_Power(tPowerManagement *env) {
// GpioPinSet(&env->Power->discretOut1_pd3, true);
GpioPinSet(&env->Power->discretOut1_pd0, true);
GpioPinSet(&env->Power->gonec_boot, false);
GpioPinSet(&env->Power->gonec_reset, true);
GpioPinSet(&env->Power->tx_pwr_5, true);
GpioPinSet(&env->Power->tx_pwr_en, false);
}
void Pwm_PRO04Startup(tPowerManagement *env) {
GpioPinSet(&env->PRO04Power->reset, false);
GpioPinSet(&env->PRO04Power->onOff, false);
GpioPinSet(&env->PRO04Power->pwr_en, false);
SystemDelayMs(50);
GpioPinSet(&env->PRO04Power->onOff, true);
SystemDelayMs(50);
GpioPinSet(&env->PRO04Power->reset, true);
SystemDelayMs(50);
}
void Pwm_SIM800FStartup(tPowerManagement *env) {
// Sleep
GpioPinSet(&env->SIM800FPower->dtr_sleep, false);
// Reset
GpioPinSet(&env->SIM800FPower->reset, true);
// Рабочее состояние
GpioPinSet(&env->SIM800FPower->pwrkey, false);
// Подача питания
GpioPinSet(&env->SIM800FPower->pwr_en, true);
SystemDelayMs(50);
// Включение
GpioPinSet(&env->SIM800FPower->pwrkey, true);
SystemDelayMs(1000);
// Возврат в рабочее состояние
GpioPinSet(&env->SIM800FPower->pwrkey, false);
SystemDelayMs(50);
}

64
PowerManagement.h Normal file
View File

@ -0,0 +1,64 @@
//
// Created by cfif on 27.09.22.
//
#ifndef POWERMANAGEMENT_H
#define POWERMANAGEMENT_H
#include "SerialPorts.h"
#include "stdint.h"
#include "GpioPin.h"
#include "SpiPorts.h"
typedef struct {
tGpioPin pwrkey;
tGpioPin reset;
tGpioPin pwr_en;
tGpioPin dtr_sleep;
} tSIM800FPower;
typedef struct {
tGpioPin onOff;
tGpioPin reset;
tGpioPin pwr_en;
} tPRO04Power;
typedef struct {
tGpioPin gpio1;
tGpioPin gpio4;
tGpioPin gonec_pwr_amp;
// tGpioPin gonec_is_prm;
tGpioPin gonec_boot;
tGpioPin gonec_reset;
tGpioPin tx_pwr_en;
tGpioPin tx_pwr_5;
tGpioPin tx_pwr_good;
tGpioPin discretOut1_pd3;
tGpioPin discretOut1_pd0;
tGpioPin discretIn1_pg3;
tGpioPin discretIn1_pg2;
} tPower;
typedef struct {
tSIM800FPower *SIM800FPower;
tPRO04Power *PRO04Power;
tPower *Power;
} tPowerManagement;
void Pwm_Init(
tPowerManagement *env,
tPower *Power,
tSIM800FPower *SIM800FPower,
tPRO04Power *PRO04Power
);
void Pwm_Power(tPowerManagement *env);
void Pwm_SIM800FStartup(tPowerManagement *env);
void Pwm_PRO04Startup(tPowerManagement *env);
#endif //POWERMANAGEMENT_H

10
modular.json Normal file
View File

@ -0,0 +1,10 @@
{
"cmake": {
"inc_dirs": [
"./"
],
"srcs": [
"./**.c"
]
}
}