Фиксв светодиодов УМ
This commit is contained in:
Submodule UPP/AllLibs/PeriphGeneral updated: c0733a1d31...5ad51f0d61
@@ -92,8 +92,8 @@ void Error_Handler(void);
|
||||
#define mb_pui_huart huart3
|
||||
#define ustim htim5
|
||||
#define hpwm1 htim1
|
||||
#define UM_LED_GREEN2_Pin GPIO_PIN_2
|
||||
#define UM_LED_GREEN2_GPIO_Port GPIOE
|
||||
#define UM_LED_RED_Pin GPIO_PIN_2
|
||||
#define UM_LED_RED_GPIO_Port GPIOE
|
||||
#define CEN_Pin GPIO_PIN_3
|
||||
#define CEN_GPIO_Port GPIOE
|
||||
#define UM_ERR_5VD_Pin GPIO_PIN_4
|
||||
@@ -178,10 +178,10 @@ void Error_Handler(void);
|
||||
#define CANR_GPIO_Port GPIOB
|
||||
#define CANT_Pin GPIO_PIN_9
|
||||
#define CANT_GPIO_Port GPIOB
|
||||
#define UM_LED_RED_Pin GPIO_PIN_0
|
||||
#define UM_LED_RED_GPIO_Port GPIOE
|
||||
#define UM_LED_GREEN1_Pin GPIO_PIN_1
|
||||
#define UM_LED_GREEN1_Pin GPIO_PIN_0
|
||||
#define UM_LED_GREEN1_GPIO_Port GPIOE
|
||||
#define UM_LED_GREEN2_Pin GPIO_PIN_1
|
||||
#define UM_LED_GREEN2_GPIO_Port GPIOE
|
||||
|
||||
/* USER CODE BEGIN Private defines */
|
||||
extern TIM_HandleTypeDef ustim;
|
||||
|
||||
@@ -55,8 +55,8 @@ void MX_GPIO_Init(void)
|
||||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOE, UM_LED_GREEN2_Pin|CEN_Pin|RDO3_Pin|UM_LED_RED_Pin
|
||||
|UM_LED_GREEN1_Pin, GPIO_PIN_SET);
|
||||
HAL_GPIO_WritePin(GPIOE, UM_LED_RED_Pin|CEN_Pin|RDO3_Pin|UM_LED_GREEN1_Pin
|
||||
|UM_LED_GREEN2_Pin, GPIO_PIN_SET);
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(DO2_GPIO_Port, DO2_Pin, GPIO_PIN_RESET);
|
||||
@@ -77,17 +77,10 @@ void MX_GPIO_Init(void)
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(UM_SPI_CS_GPIO_Port, UM_SPI_CS_Pin, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin : PtPin */
|
||||
GPIO_InitStruct.Pin = UM_LED_GREEN2_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
|
||||
HAL_GPIO_Init(UM_LED_GREEN2_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pins : PEPin PEPin PEPin PEPin
|
||||
PEPin */
|
||||
GPIO_InitStruct.Pin = CEN_Pin|DO2_Pin|RDO3_Pin|UM_LED_RED_Pin
|
||||
|UM_LED_GREEN1_Pin;
|
||||
PEPin PEPin */
|
||||
GPIO_InitStruct.Pin = UM_LED_RED_Pin|CEN_Pin|DO2_Pin|RDO3_Pin
|
||||
|UM_LED_GREEN1_Pin|UM_LED_GREEN2_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
|
||||
Также реализована защита от дребезга и в целом задержка на выставление ошибок.
|
||||
******************************************************************************/
|
||||
#include "upp_main.h" // УПП
|
||||
#include "upp_errors.h" // всё остальное по работе с УПП
|
||||
#include "upp_main.h" // всё остальное по работе с УПП
|
||||
#include "upp_errors.h"
|
||||
UPP_Errors_t errors;
|
||||
|
||||
static UPP_ErrorType_t UPP_SelectCommonError(void);
|
||||
|
||||
@@ -58,9 +58,9 @@ void UPP_IO_Init(void)
|
||||
GPIO_Switch_Init(&UPP_DIN.err_Va, UM_ERR_VA_GPIO_Port, UM_ERR_VA_Pin, 1);
|
||||
|
||||
/* Светодиоды платы УМ */
|
||||
GPIO_LED_Init(&UPP_LEDS.green1, UM_LED_GREEN1_GPIO_Port, UM_LED_GREEN1_Pin, 0);
|
||||
GPIO_LED_Init(&UPP_LEDS.green2, UM_LED_GREEN2_GPIO_Port, UM_LED_GREEN2_Pin, 0);
|
||||
GPIO_LED_Init(&UPP_LEDS.red, UM_LED_RED_GPIO_Port, UM_LED_RED_Pin, 0);
|
||||
GPIO_LED_Init(&UPP_LEDS.green1, UM_LED_GREEN1_GPIO_Port, UM_LED_GREEN1_Pin, 1);
|
||||
GPIO_LED_Init(&UPP_LEDS.green2, UM_LED_GREEN2_GPIO_Port, UM_LED_GREEN2_Pin, 1);
|
||||
GPIO_LED_Init(&UPP_LEDS.red, UM_LED_RED_GPIO_Port, UM_LED_RED_Pin, 1);
|
||||
|
||||
|
||||
/* Очищаем выходы */
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
- @ref ANGLE_CONTROL - Формирование и регулирование угла открытия тиристора
|
||||
******************************************************************************/
|
||||
#include "upp_main.h" // всё остальное по работе с УПП
|
||||
#include "upp_status.h"
|
||||
#include "usart.h"
|
||||
#include "can.h"
|
||||
#include "tim.h"
|
||||
@@ -40,10 +41,6 @@ int UPP_App_Init(void)
|
||||
MODBUS_FirstInit(&hmodbus1, &mb_huart, &mb_htim, UPP_UART2_SetDirection);
|
||||
MODBUS_FirstInit(&hmodbus_pui, &mb_pui_huart, &mb_pui_htim, UPP_UART1_SetDirection);
|
||||
|
||||
HAL_CAN_Start(&hcan1);
|
||||
HAL_CAN_ActivateNotification(&hcan1, CAN_IT_RX_FIFO0_MSG_PENDING | CAN_IT_RX_FIFO1_MSG_PENDING |
|
||||
CAN_IT_ERROR | CAN_IT_BUSOFF | CAN_IT_LAST_ERROR_CODE);
|
||||
|
||||
|
||||
if(HAL_TIM_Base_Start(&ustim) != HAL_OK)
|
||||
{
|
||||
@@ -83,15 +80,25 @@ int UPP_PreWhile(void)
|
||||
dbg_polarity = 0;
|
||||
#endif
|
||||
|
||||
// UPP_DO.CEN(ENABLE);
|
||||
// GPIO_LED_Fading_Start(&UPP_LEDS.red, 1000);
|
||||
GPIO_LED_Duty_Set(&UPP_LEDS.green1, 25);
|
||||
GPIO_LED_Duty_Set(&UPP_LEDS.green2, 50);
|
||||
GPIO_LED_Duty_Set(&UPP_LEDS.red, 5);
|
||||
|
||||
HAL_CAN_Start(&hcan1);
|
||||
HAL_CAN_ActivateNotification(&hcan1, CAN_IT_RX_FIFO0_MSG_PENDING | CAN_IT_RX_FIFO1_MSG_PENDING |
|
||||
CAN_IT_ERROR | CAN_IT_BUSOFF | CAN_IT_LAST_ERROR_CODE);
|
||||
|
||||
MODBUS_SlaveStart(&hmodbus1, NULL);
|
||||
|
||||
// UPP_DO.CEN(ENABLE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int test_cen = 0;
|
||||
int test_err = 0;
|
||||
int test_work = 0;
|
||||
int test_ready = 0;
|
||||
int test_red = 0;
|
||||
int test_green1 = 0;
|
||||
int test_green2 = 0;
|
||||
|
||||
/**
|
||||
* @brief Основной цикл УПП.
|
||||
@@ -103,6 +110,10 @@ int UPP_While(void)
|
||||
int retval = 0;
|
||||
if(upp.pm.f.runSlow)
|
||||
{
|
||||
GPIO_LED_Duty_Set(&UPP_LEDS.green1, test_green1);
|
||||
GPIO_LED_Duty_Set(&UPP_LEDS.green2, test_green2);
|
||||
GPIO_LED_Duty_Set(&UPP_LEDS.red, test_red);
|
||||
|
||||
static uint32_t slow_cnt = 0;
|
||||
upp.Timings.slow_calc_prd_us = BenchTime_Period(BT_SLOWCALC_PRD, angletim.Instance->CNT, HAL_MAX_DELAY)/ANGLE_TIM2_FREQ_MHZ;
|
||||
BenchTime_Start(BT_SLOWCALC, angletim.Instance->CNT, HAL_MAX_DELAY);
|
||||
@@ -282,15 +293,7 @@ void UPP_Tick(void)
|
||||
if(upp.workmode == UPP_Init)
|
||||
return;
|
||||
|
||||
|
||||
if(GPIO_Read_Switch(&UPP_DIN.Pusk))
|
||||
{
|
||||
upp.call->go = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
upp.call->go = 0;
|
||||
}
|
||||
UPP_Status_Handler();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,22 @@
|
||||
* @details
|
||||
******************************************************************************/
|
||||
#include "upp_main.h" // всё остальное по работе с УПП
|
||||
#include "upp_status.h"
|
||||
|
||||
void UPP_Status_Handler(void)
|
||||
{
|
||||
/* Хендлы для отладочных светодиодов (если выбран режим моргания) */
|
||||
GPIO_LED_Dynamic_Handle(&UPP_LEDS.green1);
|
||||
GPIO_LED_Dynamic_Handle(&UPP_LEDS.green2);
|
||||
GPIO_LED_Dynamic_Handle(&UPP_LEDS.red);
|
||||
|
||||
|
||||
if(GPIO_Read_Switch(&UPP_DIN.Pusk))
|
||||
{
|
||||
upp.call->go = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
upp.call->go = 0;
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
#ifndef _UPP_STATUS_H
|
||||
#define _UPP_STATUS_H
|
||||
#include "main.h" // общие библиотеки, конфигурации и вербальные имена из CubeMX
|
||||
|
||||
|
||||
void UPP_Status_Handler(void);
|
||||
#endif //_UPP_STATUS_H
|
||||
@@ -154,7 +154,7 @@
|
||||
<Type>0</Type>
|
||||
<LineNumber>351</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134230342</Address>
|
||||
<Address>134232526</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
@@ -165,38 +165,6 @@
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\UPP\../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c\351</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>1</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>62</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>34</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>C:\Users\I\AppData\Local\Arm\Packs\ARM\CMSIS-DSP\1.14.2\Source\ControllerFunctions\arm_pid_init_q31.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\UPP\C:/Users/I/AppData/Local/Arm/Packs/ARM/CMSIS-DSP/1.14.2/Source/ControllerFunctions/ControllerFunctions.c\62</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>2</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>333</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>0</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>0</BreakIfRCount>
|
||||
<Filename>../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression></Expression>
|
||||
</Bp>
|
||||
</Breakpoint>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
@@ -217,17 +185,17 @@
|
||||
<Ww>
|
||||
<count>3</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>RS_Buffer</ItemText>
|
||||
<ItemText>test_green1,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>4</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>test_work,0x0A</ItemText>
|
||||
<ItemText>test_green2,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>5</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>test_ready,0x0A</ItemText>
|
||||
<ItemText>test_red,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>6</count>
|
||||
@@ -237,7 +205,7 @@
|
||||
<Ww>
|
||||
<count>7</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>test,0x0A</ItemText>
|
||||
<ItemText>UPP_LEDS,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>8</count>
|
||||
@@ -252,7 +220,7 @@
|
||||
<Ww>
|
||||
<count>10</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>cnt_success</ItemText>
|
||||
<ItemText>cnt_success,0x0A</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<WatchWindow2>
|
||||
|
||||
10
UPP/UPP.ioc
10
UPP/UPP.ioc
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user