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

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

100
Gpios.c Normal file
View File

@ -0,0 +1,100 @@
//
// Created by xemon on 29.08.22.
//
#include "Gpios.h"
#include <SpiPorts.h>
#include "SystemDelayInterface.h"
tGpios GPIOS;
static void vPowerManagementInitComInt485(tRs485DirectionPins *env) {
env->transmit = InitGpioPin(GPIOD, GPIO_PINS_4, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
env->receive = InitGpioPin(GPIOD, GPIO_PINS_4, GPIO_MODE_OUTPUT, GPIO_PIN_REVERSE);
}
static void Gpios_InitFlash(tFlashPins *env) {
env->spiChipSelect1 = InitGpioPin(GPIOD, GPIO_PINS_15, GPIO_MODE_OUTPUT, GPIO_PIN_REVERSE);
env->spiChipSelect2 = InitGpioPin(GPIOD, GPIO_PINS_14, GPIO_MODE_OUTPUT, GPIO_PIN_REVERSE);
env->spiHold = InitGpioPin(GPIOG, GPIO_PINS_6, GPIO_MODE_OUTPUT, GPIO_PIN_REVERSE);
env->spiWp = InitGpioPin(GPIOG, GPIO_PINS_4, GPIO_MODE_OUTPUT, GPIO_PIN_REVERSE);
}
static void Gpios_InitSIM800F(tSIM800FPower *env) {
env->pwrkey = InitGpioPin(GPIOF, GPIO_PINS_10, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
env->reset = InitGpioPin(GPIOA, GPIO_PINS_4, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
env->pwr_en = InitGpioPin(GPIOG, GPIO_PINS_0, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
env->dtr_sleep = InitGpioPin(GPIOA, GPIO_PINS_5, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
}
static void Gpios_InitPRO04(tPRO04Power *env) {
env->onOff = InitGpioPin(GPIOF, GPIO_PINS_1, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
env->reset = InitGpioPin(GPIOF, GPIO_PINS_0, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
env->pwr_en = InitGpioPin(GPIOC, GPIO_PINS_13, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
}
static void Gpios_Power(tPower *env) {
// env->gpio1 = InitGpioPin(GPIOE, GPIO_PINS_4, GPIO_MODE_INPUT, GPIO_PIN_NOREVERSE);
// env->gpio4 = InitGpioPin(GPIOE, GPIO_PINS_2, GPIO_MODE_INPUT, GPIO_PIN_NOREVERSE);
/*
gpio_init_type GPIOInit;
gpio_default_para_init(&GPIOInit);
GPIOInit.gpio_mode = GPIO_MODE_INPUT;
GPIOInit.gpio_pull = GPIO_PULL_NONE;
GPIOInit.gpio_pins = GPIO_PINS_4;
gpio_init(GPIOE, &GPIOInit);
GPIOInit.gpio_mode = GPIO_MODE_INPUT;
GPIOInit.gpio_pull = GPIO_PULL_NONE;
GPIOInit.gpio_pins = GPIO_PINS_2;
gpio_init(GPIOE, &GPIOInit);
*/
env->gonec_pwr_amp = InitGpioPinPull(GPIOE, GPIO_PINS_6, GPIO_MODE_INPUT, GPIO_PIN_NOREVERSE, GPIO_PULL_DOWN);
env->gonec_boot = InitGpioPin(GPIOE, GPIO_PINS_5, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
env->gonec_reset = InitGpioPinPull(GPIOE, GPIO_PINS_3, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE, GPIO_PULL_UP);
// env->gonec_reset = InitGpioPin(GPIOE, GPIO_PINS_3, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
// env->gonec_reset = InitGpioPinOpenDrain(GPIOE, GPIO_PINS_3, GPIO_MODE_INPUT, GPIO_PIN_NOREVERSE);
env->tx_pwr_5 = InitGpioPin(GPIOB, GPIO_PINS_6, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
env->tx_pwr_en = InitGpioPin(GPIOB, GPIO_PINS_9, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
env->tx_pwr_good = InitGpioPin(GPIOB, GPIO_PINS_5, GPIO_MODE_INPUT, GPIO_PIN_NOREVERSE);
env->discretOut1_pd3 = InitGpioPin(GPIOD, GPIO_PINS_3, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
env->discretOut1_pd0 = InitGpioPin(GPIOD, GPIO_PINS_2, GPIO_MODE_OUTPUT, GPIO_PIN_NOREVERSE);
// env->discretIn1_pg2 = InitGpioPinPull(GPIOG, GPIO_PINS_2, GPIO_MODE_INPUT, GPIO_PIN_NOREVERSE, GPIO_PULL_UP);
env->discretIn1_pg2 = InitGpioPin(GPIOG, GPIO_PINS_2, GPIO_MODE_INPUT, GPIO_PIN_NOREVERSE);
env->discretIn1_pg3 = InitGpioPin(GPIOG, GPIO_PINS_3, GPIO_MODE_INPUT, GPIO_PIN_NOREVERSE);
}
void Gpios_Init() {
crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE);
crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE);
crm_periph_clock_enable(CRM_GPIOC_PERIPH_CLOCK, TRUE);
crm_periph_clock_enable(CRM_GPIOD_PERIPH_CLOCK, TRUE);
crm_periph_clock_enable(CRM_GPIOE_PERIPH_CLOCK, TRUE);
crm_periph_clock_enable(CRM_GPIOF_PERIPH_CLOCK, TRUE);
crm_periph_clock_enable(CRM_GPIOH_PERIPH_CLOCK, TRUE);
crm_periph_clock_enable(CRM_GPIOG_PERIPH_CLOCK, TRUE);
tGpios *env = &GPIOS;
vPowerManagementInitComInt485(&env->comIntDir);
Gpios_InitFlash(&env->flashSPI);
Gpios_InitSIM800F(&env->SIM800FPower);
Gpios_InitPRO04(&env->PRO04Power);
Gpios_Power(&env->Power);
}

26
Gpios.h Normal file
View File

@ -0,0 +1,26 @@
//
// Created by xemon on 29.08.22.
//
#ifndef UVEOS_DEMO_GONEC_ARTERY_Gpios_H
#define UVEOS_DEMO_GONEC_ARTERY_Gpios_H
#include <SerialPorts.h>
#include <PowerManagement.h>
#include "GpioPin.h"
#include "SpiPorts.h"
typedef struct {
tRs485DirectionPins comIntDir;
tFlashPins flashSPI;
tSIM800FPower SIM800FPower;
tPRO04Power PRO04Power;
tPower Power;
} tGpios;
extern tGpios GPIOS;
void Gpios_Init();
#endif //UVEOS_DEMO_GONEC_ARTERY_Gpios_H

27
modular.json Normal file
View File

@ -0,0 +1,27 @@
{
"dep": [
{
"type": "git",
"provider": "GONEC",
"repo": "GpioPin_ARTERY_AT32"
},
{
"type": "git",
"provider": "GONEC",
"repo": "SystemDelay_CMSIS_RTOS"
},
{
"type": "git",
"provider": "GONEC",
"repo": "GONEC_ARTERY_SerialPorts"
}
],
"cmake": {
"inc_dirs": [
"./"
],
"srcs": [
"Gpios.c"
]
}
}