Фиксв светодиодов УМ
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 mb_pui_huart huart3
|
||||||
#define ustim htim5
|
#define ustim htim5
|
||||||
#define hpwm1 htim1
|
#define hpwm1 htim1
|
||||||
#define UM_LED_GREEN2_Pin GPIO_PIN_2
|
#define UM_LED_RED_Pin GPIO_PIN_2
|
||||||
#define UM_LED_GREEN2_GPIO_Port GPIOE
|
#define UM_LED_RED_GPIO_Port GPIOE
|
||||||
#define CEN_Pin GPIO_PIN_3
|
#define CEN_Pin GPIO_PIN_3
|
||||||
#define CEN_GPIO_Port GPIOE
|
#define CEN_GPIO_Port GPIOE
|
||||||
#define UM_ERR_5VD_Pin GPIO_PIN_4
|
#define UM_ERR_5VD_Pin GPIO_PIN_4
|
||||||
@@ -178,10 +178,10 @@ void Error_Handler(void);
|
|||||||
#define CANR_GPIO_Port GPIOB
|
#define CANR_GPIO_Port GPIOB
|
||||||
#define CANT_Pin GPIO_PIN_9
|
#define CANT_Pin GPIO_PIN_9
|
||||||
#define CANT_GPIO_Port GPIOB
|
#define CANT_GPIO_Port GPIOB
|
||||||
#define UM_LED_RED_Pin GPIO_PIN_0
|
#define UM_LED_GREEN1_Pin GPIO_PIN_0
|
||||||
#define UM_LED_RED_GPIO_Port GPIOE
|
|
||||||
#define UM_LED_GREEN1_Pin GPIO_PIN_1
|
|
||||||
#define UM_LED_GREEN1_GPIO_Port GPIOE
|
#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 */
|
/* USER CODE BEGIN Private defines */
|
||||||
extern TIM_HandleTypeDef ustim;
|
extern TIM_HandleTypeDef ustim;
|
||||||
|
|||||||
@@ -55,8 +55,8 @@ void MX_GPIO_Init(void)
|
|||||||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||||
|
|
||||||
/*Configure GPIO pin Output Level */
|
/*Configure GPIO pin Output Level */
|
||||||
HAL_GPIO_WritePin(GPIOE, UM_LED_GREEN2_Pin|CEN_Pin|RDO3_Pin|UM_LED_RED_Pin
|
HAL_GPIO_WritePin(GPIOE, UM_LED_RED_Pin|CEN_Pin|RDO3_Pin|UM_LED_GREEN1_Pin
|
||||||
|UM_LED_GREEN1_Pin, GPIO_PIN_SET);
|
|UM_LED_GREEN2_Pin, GPIO_PIN_SET);
|
||||||
|
|
||||||
/*Configure GPIO pin Output Level */
|
/*Configure GPIO pin Output Level */
|
||||||
HAL_GPIO_WritePin(DO2_GPIO_Port, DO2_Pin, GPIO_PIN_RESET);
|
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 */
|
/*Configure GPIO pin Output Level */
|
||||||
HAL_GPIO_WritePin(UM_SPI_CS_GPIO_Port, UM_SPI_CS_Pin, GPIO_PIN_RESET);
|
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
|
/*Configure GPIO pins : PEPin PEPin PEPin PEPin
|
||||||
PEPin */
|
PEPin PEPin */
|
||||||
GPIO_InitStruct.Pin = CEN_Pin|DO2_Pin|RDO3_Pin|UM_LED_RED_Pin
|
GPIO_InitStruct.Pin = UM_LED_RED_Pin|CEN_Pin|DO2_Pin|RDO3_Pin
|
||||||
|UM_LED_GREEN1_Pin;
|
|UM_LED_GREEN1_Pin|UM_LED_GREEN2_Pin;
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||||
|
|||||||
@@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
Также реализована защита от дребезга и в целом задержка на выставление ошибок.
|
Также реализована защита от дребезга и в целом задержка на выставление ошибок.
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
#include "upp_main.h" // УПП
|
#include "upp_main.h" // всё остальное по работе с УПП
|
||||||
#include "upp_errors.h" // всё остальное по работе с УПП
|
#include "upp_errors.h"
|
||||||
UPP_Errors_t errors;
|
UPP_Errors_t errors;
|
||||||
|
|
||||||
static UPP_ErrorType_t UPP_SelectCommonError(void);
|
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_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.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, 0);
|
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, 0);
|
GPIO_LED_Init(&UPP_LEDS.red, UM_LED_RED_GPIO_Port, UM_LED_RED_Pin, 1);
|
||||||
|
|
||||||
|
|
||||||
/* Очищаем выходы */
|
/* Очищаем выходы */
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
- @ref ANGLE_CONTROL - Формирование и регулирование угла открытия тиристора
|
- @ref ANGLE_CONTROL - Формирование и регулирование угла открытия тиристора
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
#include "upp_main.h" // всё остальное по работе с УПП
|
#include "upp_main.h" // всё остальное по работе с УПП
|
||||||
|
#include "upp_status.h"
|
||||||
#include "usart.h"
|
#include "usart.h"
|
||||||
#include "can.h"
|
#include "can.h"
|
||||||
#include "tim.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(&hmodbus1, &mb_huart, &mb_htim, UPP_UART2_SetDirection);
|
||||||
MODBUS_FirstInit(&hmodbus_pui, &mb_pui_huart, &mb_pui_htim, UPP_UART1_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)
|
if(HAL_TIM_Base_Start(&ustim) != HAL_OK)
|
||||||
{
|
{
|
||||||
@@ -83,15 +80,25 @@ int UPP_PreWhile(void)
|
|||||||
dbg_polarity = 0;
|
dbg_polarity = 0;
|
||||||
#endif
|
#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);
|
MODBUS_SlaveStart(&hmodbus1, NULL);
|
||||||
|
|
||||||
|
// UPP_DO.CEN(ENABLE);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int test_cen = 0;
|
int test_cen = 0;
|
||||||
int test_err = 0;
|
int test_red = 0;
|
||||||
int test_work = 0;
|
int test_green1 = 0;
|
||||||
int test_ready = 0;
|
int test_green2 = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Основной цикл УПП.
|
* @brief Основной цикл УПП.
|
||||||
@@ -103,6 +110,10 @@ int UPP_While(void)
|
|||||||
int retval = 0;
|
int retval = 0;
|
||||||
if(upp.pm.f.runSlow)
|
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;
|
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;
|
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);
|
BenchTime_Start(BT_SLOWCALC, angletim.Instance->CNT, HAL_MAX_DELAY);
|
||||||
@@ -282,15 +293,7 @@ void UPP_Tick(void)
|
|||||||
if(upp.workmode == UPP_Init)
|
if(upp.workmode == UPP_Init)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
UPP_Status_Handler();
|
||||||
if(GPIO_Read_Switch(&UPP_DIN.Pusk))
|
|
||||||
{
|
|
||||||
upp.call->go = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
upp.call->go = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,22 @@
|
|||||||
* @details
|
* @details
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
#include "upp_main.h" // всё остальное по работе с УПП
|
#include "upp_main.h" // всё остальное по работе с УПП
|
||||||
|
#include "upp_status.h"
|
||||||
|
|
||||||
void UPP_Status_Handler(void)
|
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
|
#ifndef _UPP_STATUS_H
|
||||||
#define _UPP_STATUS_H
|
#define _UPP_STATUS_H
|
||||||
|
#include "main.h" // общие библиотеки, конфигурации и вербальные имена из CubeMX
|
||||||
|
|
||||||
|
void UPP_Status_Handler(void);
|
||||||
#endif //_UPP_STATUS_H
|
#endif //_UPP_STATUS_H
|
||||||
@@ -154,7 +154,7 @@
|
|||||||
<Type>0</Type>
|
<Type>0</Type>
|
||||||
<LineNumber>351</LineNumber>
|
<LineNumber>351</LineNumber>
|
||||||
<EnabledFlag>1</EnabledFlag>
|
<EnabledFlag>1</EnabledFlag>
|
||||||
<Address>134230342</Address>
|
<Address>134232526</Address>
|
||||||
<ByteObject>0</ByteObject>
|
<ByteObject>0</ByteObject>
|
||||||
<HtxType>0</HtxType>
|
<HtxType>0</HtxType>
|
||||||
<ManyObjects>0</ManyObjects>
|
<ManyObjects>0</ManyObjects>
|
||||||
@@ -165,38 +165,6 @@
|
|||||||
<ExecCommand></ExecCommand>
|
<ExecCommand></ExecCommand>
|
||||||
<Expression>\\UPP\../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c\351</Expression>
|
<Expression>\\UPP\../Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c\351</Expression>
|
||||||
</Bp>
|
</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>
|
</Breakpoint>
|
||||||
<WatchWindow1>
|
<WatchWindow1>
|
||||||
<Ww>
|
<Ww>
|
||||||
@@ -217,17 +185,17 @@
|
|||||||
<Ww>
|
<Ww>
|
||||||
<count>3</count>
|
<count>3</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>RS_Buffer</ItemText>
|
<ItemText>test_green1,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>4</count>
|
<count>4</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>test_work,0x0A</ItemText>
|
<ItemText>test_green2,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>5</count>
|
<count>5</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>test_ready,0x0A</ItemText>
|
<ItemText>test_red,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>6</count>
|
<count>6</count>
|
||||||
@@ -237,7 +205,7 @@
|
|||||||
<Ww>
|
<Ww>
|
||||||
<count>7</count>
|
<count>7</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>test,0x0A</ItemText>
|
<ItemText>UPP_LEDS,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>8</count>
|
<count>8</count>
|
||||||
@@ -252,7 +220,7 @@
|
|||||||
<Ww>
|
<Ww>
|
||||||
<count>10</count>
|
<count>10</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>cnt_success</ItemText>
|
<ItemText>cnt_success,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
</WatchWindow1>
|
</WatchWindow1>
|
||||||
<WatchWindow2>
|
<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