Перенос на новую организацию GONEC
This commit is contained in:
commit
3ff205d43d
|
|
@ -0,0 +1,122 @@
|
||||||
|
//
|
||||||
|
// Created by cfif on 15.11.22.
|
||||||
|
//
|
||||||
|
#include "SerialPorts.h"
|
||||||
|
#include "at32f435_437.h"
|
||||||
|
|
||||||
|
tSerialPorts SERIAL_PORTS;
|
||||||
|
|
||||||
|
//начало------------------------------------GONEC1 связь с модемом ГОНЕЦ------------------------------------------------
|
||||||
|
//начало------------------------------------GONEC1 связь с модемом ГОНЕЦ------------------------------------------------
|
||||||
|
//начало------------------------------------GONEC1 связь с модемом ГОНЕЦ------------------------------------------------
|
||||||
|
|
||||||
|
// GONEC1
|
||||||
|
//void UART7_IRQHandler() {
|
||||||
|
// vSerialPortIrqProcessing(&SERIAL_PORTS.GONEC1);
|
||||||
|
//}
|
||||||
|
|
||||||
|
uint8_t buf_UART7_DMA[3200];
|
||||||
|
|
||||||
|
//volatile uint32_t timeModemStuckGetMs = 0;
|
||||||
|
|
||||||
|
// IDLE прерывание
|
||||||
|
void UART7_IRQHandler() {
|
||||||
|
|
||||||
|
// timeModemStuckGetMs = SystemGetMs();
|
||||||
|
|
||||||
|
SerialPort_IrqProcessing_UartIdle(&SERIAL_PORTS.GONEC1);
|
||||||
|
// Смотрим idle прерывание
|
||||||
|
// if (usart_flag_get(SERIAL_PORTS.GONEC1.uart, USART_IDLEF_FLAG)) {
|
||||||
|
// // Сброс прерывания
|
||||||
|
// usart_data_receive(SERIAL_PORTS.GONEC1.uart);
|
||||||
|
//
|
||||||
|
// vSerialPortIrqProcessingDMAloop(&SERIAL_PORTS.GONEC1, SERIAL_PORTS.GONEC1.dma_rx_init_struct.buffer_size -
|
||||||
|
// SERIAL_PORTS.GONEC1.dma_channel->dtcnt);
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
// RX
|
||||||
|
void DMA1_Channel3_IRQHandler(void) {
|
||||||
|
|
||||||
|
SerialPort_IrqProcessing_DmaRxLoop(&SERIAL_PORTS.GONEC1);
|
||||||
|
|
||||||
|
// if (dma_flag_get(DMA1_FDT3_FLAG)) {
|
||||||
|
//
|
||||||
|
// timeModemStuckGetMs = SystemGetMs();
|
||||||
|
//
|
||||||
|
// vSerialPortIrqProcessingDMAloop(&SERIAL_PORTS.GONEC1,
|
||||||
|
// SERIAL_PORTS.GONEC1.dma_rx_init_struct.buffer_size);
|
||||||
|
// SERIAL_PORTS.GONEC1.offset = 0;
|
||||||
|
// dma_flag_clear(DMA1_FDT3_FLAG);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
// TX
|
||||||
|
void DMA1_Channel4_IRQHandler(void) {
|
||||||
|
|
||||||
|
SerialPort_IrqProcessing_DmaTx(&SERIAL_PORTS.GONEC1);
|
||||||
|
|
||||||
|
// if (dma_flag_get(DMA1_FDT4_FLAG)) {
|
||||||
|
// dma_flag_clear(DMA1_FDT4_FLAG);
|
||||||
|
// osMutexRelease(SERIAL_PORTS.GONEC1.dmaAccess);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
// Настройка порта мезонин ГОНЕЦ UART1
|
||||||
|
static void vSerialPort_InitUART7(tSerialPortArtery *env) {
|
||||||
|
gpio_init_type GPIO_InitStruct;
|
||||||
|
|
||||||
|
gpio_default_para_init(&GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
|
||||||
|
GPIO_InitStruct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
|
||||||
|
GPIO_InitStruct.gpio_mode = GPIO_MODE_MUX;
|
||||||
|
GPIO_InitStruct.gpio_pins = GPIO_PINS_6 | GPIO_PINS_7;
|
||||||
|
GPIO_InitStruct.gpio_pull = GPIO_PULL_NONE;
|
||||||
|
gpio_init(GPIOF, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
gpio_pin_mux_config(GPIOF, GPIO_PINS_SOURCE6, GPIO_MUX_8);
|
||||||
|
gpio_pin_mux_config(GPIOF, GPIO_PINS_SOURCE7, GPIO_MUX_8);
|
||||||
|
|
||||||
|
// vSerialPortInitNameWithSniffer(env, UART7, true, 115200, 0x55, 1024, 1024);
|
||||||
|
|
||||||
|
|
||||||
|
// vSerialPortInitDMANameWithSniffer(env, UART7, DMA1,
|
||||||
|
// DMA1_CHANNEL3, DMA1MUX_CHANNEL3, DMAMUX_DMAREQ_ID_UART7_RX, DMA1_Channel3_IRQn,
|
||||||
|
// DMA1_FDT3_FLAG,
|
||||||
|
// buf_UART7_DMA, sizeof(buf_UART7_DMA),
|
||||||
|
// DMA1_CHANNEL4, DMA1MUX_CHANNEL4, DMAMUX_DMAREQ_ID_UART7_TX, DMA1_Channel4_IRQn,
|
||||||
|
// DMA1_FDT4_FLAG,
|
||||||
|
// true, 921600, 0xFF, 3200, 3200);
|
||||||
|
//
|
||||||
|
// vSerialPortInitDMAName(env, UART7, DMA1,
|
||||||
|
// DMA1_CHANNEL3, DMA1MUX_CHANNEL3, DMAMUX_DMAREQ_ID_UART7_RX, DMA1_Channel3_IRQn,
|
||||||
|
// DMA1_FDT3_FLAG,
|
||||||
|
// buf_UART7_DMA, sizeof(buf_UART7_DMA),
|
||||||
|
// DMA1_CHANNEL4, DMA1MUX_CHANNEL4, DMAMUX_DMAREQ_ID_UART7_TX, DMA1_Channel4_IRQn,
|
||||||
|
// DMA1_FDT4_FLAG,
|
||||||
|
// true, 921600, 0xFF, 3200);
|
||||||
|
|
||||||
|
vSerialPortInitDmaWithNameAndSniffer(
|
||||||
|
env, UART7, 921600,
|
||||||
|
1, 3, 1, 4,
|
||||||
|
true, 0xFF,
|
||||||
|
buf_UART7_DMA, sizeof(buf_UART7_DMA),
|
||||||
|
3200, 3200
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//конец-------------------------------------GONEC1 связь с модемом ГОНЕЦ------------------------------------------------
|
||||||
|
//конец-------------------------------------GONEC1 связь с модемом ГОНЕЦ------------------------------------------------
|
||||||
|
//конец-------------------------------------GONEC1 связь с модемом ГОНЕЦ------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
void SerialPorts_Init() {
|
||||||
|
tSerialPorts *env = &SERIAL_PORTS;
|
||||||
|
|
||||||
|
vSerialPort_InitUART7(&env->GONEC1);
|
||||||
|
SERIAL_PORTS.GONEC1IO = vSerialPortGetIo(&SERIAL_PORTS.GONEC1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
//
|
||||||
|
// Created by cfif on 15.11.22.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef SERIALPORTS_H
|
||||||
|
#define SERIALPORTS_H
|
||||||
|
|
||||||
|
#include "SerialPortArtery.h"
|
||||||
|
//#include "SerialPortHalfDuplexIO.h"
|
||||||
|
//#include "GpioPin.h"
|
||||||
|
//#include "SerialPortP2p.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
tSerialPortArtery GONEC1;
|
||||||
|
tSerialPortIO GONEC1IO;
|
||||||
|
} tSerialPorts;
|
||||||
|
|
||||||
|
extern tSerialPorts SERIAL_PORTS;
|
||||||
|
|
||||||
|
void SerialPorts_Init();
|
||||||
|
|
||||||
|
#endif //SERIALPORTS_H
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"cmake": {
|
||||||
|
"inc_dirs": [
|
||||||
|
"./"
|
||||||
|
],
|
||||||
|
"srcs": [
|
||||||
|
"./**.c"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue