new traffic light code. walk signal works
This commit is contained in:
@@ -219,4 +219,5 @@
|
||||
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
<storageModule moduleId="refreshScope"/>
|
||||
</cproject>
|
||||
@@ -8,6 +8,8 @@
|
||||
#ifndef INC_BREADBOARD_H_
|
||||
#define INC_BREADBOARD_H_
|
||||
|
||||
void breadboard(int);
|
||||
void starttick(void);
|
||||
|
||||
void trafflight(int, int);
|
||||
|
||||
#endif /* INC_BREADBOARD_H_ */
|
||||
|
||||
@@ -63,6 +63,8 @@ void Error_Handler(void);
|
||||
#define YellowLight_GPIO_Port GPIOE
|
||||
#define GreenLight_Pin GPIO_PIN_4
|
||||
#define GreenLight_GPIO_Port GPIOE
|
||||
#define WalkLight_Pin GPIO_PIN_5
|
||||
#define WalkLight_GPIO_Port GPIOE
|
||||
#define PC14_OSC32_IN_Pin GPIO_PIN_14
|
||||
#define PC14_OSC32_IN_GPIO_Port GPIOC
|
||||
#define PC15_OSC32_OUT_Pin GPIO_PIN_15
|
||||
|
||||
@@ -18,6 +18,10 @@
|
||||
* RedLight: PE2
|
||||
* YellowLight: PE3
|
||||
* GreenLight: PE4
|
||||
* WalkLight: PE5
|
||||
*
|
||||
* Done: Traffic Light
|
||||
* TODO: Light Dimmer
|
||||
*/
|
||||
|
||||
#include "main.h"
|
||||
@@ -26,30 +30,53 @@
|
||||
#define R_Pin RedLight_Pin
|
||||
#define Y_Pin YellowLight_Pin
|
||||
#define G_Pin GreenLight_Pin
|
||||
#define W_Pin WalkLight_Pin
|
||||
|
||||
#define R_Prt RedLight_GPIO_Port
|
||||
#define Y_Prt YellowLight_GPIO_Port
|
||||
#define G_Prt GreenLight_GPIO_Port
|
||||
#define W_Prt WalkLight_GPIO_Port
|
||||
|
||||
uint32_t trafftick_last;
|
||||
uint32_t walktick_last;
|
||||
|
||||
uint8_t trafflight_index = 0;
|
||||
|
||||
void
|
||||
breadboard(int traffSPD)
|
||||
starttick(void)
|
||||
{
|
||||
// Traffic Light
|
||||
|
||||
HAL_GPIO_TogglePin(R_Prt, R_Pin);
|
||||
HAL_Delay(traffSPD);
|
||||
HAL_GPIO_TogglePin(R_Prt, R_Pin);
|
||||
|
||||
HAL_GPIO_TogglePin(Y_Prt, Y_Pin);
|
||||
HAL_Delay(traffSPD);
|
||||
HAL_GPIO_TogglePin(Y_Prt, Y_Pin);
|
||||
|
||||
HAL_GPIO_TogglePin(G_Prt, G_Pin);
|
||||
HAL_Delay(traffSPD);
|
||||
HAL_GPIO_TogglePin(G_Prt, G_Pin);
|
||||
|
||||
|
||||
// Walk signal
|
||||
|
||||
// Light dimmer
|
||||
trafftick_last = HAL_GetTick();
|
||||
walktick_last = HAL_GetTick();
|
||||
}
|
||||
|
||||
void
|
||||
trafflight(int traffSPD, int walkSPD)
|
||||
{
|
||||
uint32_t trafftick_curr = HAL_GetTick();
|
||||
|
||||
if ((trafftick_curr - trafftick_last) >= traffSPD) {
|
||||
HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_RESET);
|
||||
|
||||
switch (trafflight_index) {
|
||||
case 0:
|
||||
HAL_GPIO_WritePin(R_Prt, R_Pin, GPIO_PIN_SET);
|
||||
break;
|
||||
case 1:
|
||||
HAL_GPIO_WritePin(Y_Prt, Y_Pin, GPIO_PIN_SET);
|
||||
break;
|
||||
case 2:
|
||||
HAL_GPIO_WritePin(G_Prt, G_Pin, GPIO_PIN_SET);
|
||||
break;
|
||||
}
|
||||
|
||||
trafflight_index = (trafflight_index + 1) % 3;
|
||||
trafftick_last = trafftick_curr;
|
||||
}
|
||||
|
||||
if ((trafftick_curr - walktick_last) >= walkSPD) {
|
||||
HAL_GPIO_TogglePin(W_Prt, W_Pin);
|
||||
walktick_last = trafftick_curr;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,9 +159,10 @@ int main(void)
|
||||
|
||||
/* Infinite loop */
|
||||
/* USER CODE BEGIN WHILE */
|
||||
starttick();
|
||||
while (1)
|
||||
{
|
||||
breadboard(333);
|
||||
trafflight(2*1000, 10*1000);
|
||||
/* USER CODE END WHILE */
|
||||
|
||||
/* USER CODE BEGIN 3 */
|
||||
@@ -574,7 +575,7 @@ static void MX_GPIO_Init(void)
|
||||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(GPIOE, RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOC, NCS_MEMS_SPI_Pin|CSX_Pin|OTG_FS_PSO_Pin, GPIO_PIN_RESET);
|
||||
@@ -588,8 +589,8 @@ static void MX_GPIO_Init(void)
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin */
|
||||
GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin;
|
||||
/*Configure GPIO pins : RedLight_Pin YellowLight_Pin GreenLight_Pin WalkLight_Pin */
|
||||
GPIO_InitStruct.Pin = RedLight_Pin|YellowLight_Pin|GreenLight_Pin|WalkLight_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
../Core/Src/breadboard.c:36:1:breadboard 1
|
||||
../Core/Src/breadboard.c:46:1:starttick 1
|
||||
../Core/Src/breadboard.c:53:1:trafflight 7
|
||||
|
||||
Binary file not shown.
@@ -1 +1,2 @@
|
||||
../Core/Src/breadboard.c:36:1:breadboard 16 static
|
||||
../Core/Src/breadboard.c:46:1:starttick 8 static
|
||||
../Core/Src/breadboard.c:53:1:trafflight 24 static
|
||||
|
||||
Binary file not shown.
@@ -1,14 +1,14 @@
|
||||
../Core/Src/main.c:93:5:main 1
|
||||
../Core/Src/main.c:176:6:SystemClock_Config 3
|
||||
../Core/Src/main.c:222:13:MX_CRC_Init 2
|
||||
../Core/Src/main.c:248:13:MX_DMA2D_Init 3
|
||||
../Core/Src/main.c:285:13:MX_I2C3_Init 4
|
||||
../Core/Src/main.c:333:13:MX_LTDC_Init 3
|
||||
../Core/Src/main.c:395:13:MX_SPI5_Init 2
|
||||
../Core/Src/main.c:433:13:MX_TIM1_Init 4
|
||||
../Core/Src/main.c:479:13:MX_USART1_UART_Init 2
|
||||
../Core/Src/main.c:508:13:MX_FMC_Init 2
|
||||
../Core/Src/main.c:559:13:MX_GPIO_Init 1
|
||||
../Core/Src/main.c:666:6:StartDefaultTask 1
|
||||
../Core/Src/main.c:687:6:HAL_TIM_PeriodElapsedCallback 2
|
||||
../Core/Src/main.c:705:6:Error_Handler 1
|
||||
../Core/Src/main.c:177:6:SystemClock_Config 3
|
||||
../Core/Src/main.c:223:13:MX_CRC_Init 2
|
||||
../Core/Src/main.c:249:13:MX_DMA2D_Init 3
|
||||
../Core/Src/main.c:286:13:MX_I2C3_Init 4
|
||||
../Core/Src/main.c:334:13:MX_LTDC_Init 3
|
||||
../Core/Src/main.c:396:13:MX_SPI5_Init 2
|
||||
../Core/Src/main.c:434:13:MX_TIM1_Init 4
|
||||
../Core/Src/main.c:480:13:MX_USART1_UART_Init 2
|
||||
../Core/Src/main.c:509:13:MX_FMC_Init 2
|
||||
../Core/Src/main.c:560:13:MX_GPIO_Init 1
|
||||
../Core/Src/main.c:667:6:StartDefaultTask 1
|
||||
../Core/Src/main.c:688:6:HAL_TIM_PeriodElapsedCallback 2
|
||||
../Core/Src/main.c:706:6:Error_Handler 1
|
||||
|
||||
Binary file not shown.
@@ -1,14 +1,14 @@
|
||||
../Core/Src/main.c:93:5:main 8 static
|
||||
../Core/Src/main.c:176:6:SystemClock_Config 88 static
|
||||
../Core/Src/main.c:222:13:MX_CRC_Init 8 static
|
||||
../Core/Src/main.c:248:13:MX_DMA2D_Init 8 static
|
||||
../Core/Src/main.c:285:13:MX_I2C3_Init 8 static
|
||||
../Core/Src/main.c:333:13:MX_LTDC_Init 64 static
|
||||
../Core/Src/main.c:395:13:MX_SPI5_Init 8 static
|
||||
../Core/Src/main.c:433:13:MX_TIM1_Init 32 static
|
||||
../Core/Src/main.c:479:13:MX_USART1_UART_Init 8 static
|
||||
../Core/Src/main.c:508:13:MX_FMC_Init 40 static
|
||||
../Core/Src/main.c:559:13:MX_GPIO_Init 64 static
|
||||
../Core/Src/main.c:666:6:StartDefaultTask 16 static
|
||||
../Core/Src/main.c:687:6:HAL_TIM_PeriodElapsedCallback 16 static
|
||||
../Core/Src/main.c:705:6:Error_Handler 4 static,ignoring_inline_asm
|
||||
../Core/Src/main.c:177:6:SystemClock_Config 88 static
|
||||
../Core/Src/main.c:223:13:MX_CRC_Init 8 static
|
||||
../Core/Src/main.c:249:13:MX_DMA2D_Init 8 static
|
||||
../Core/Src/main.c:286:13:MX_I2C3_Init 8 static
|
||||
../Core/Src/main.c:334:13:MX_LTDC_Init 64 static
|
||||
../Core/Src/main.c:396:13:MX_SPI5_Init 8 static
|
||||
../Core/Src/main.c:434:13:MX_TIM1_Init 32 static
|
||||
../Core/Src/main.c:480:13:MX_USART1_UART_Init 8 static
|
||||
../Core/Src/main.c:509:13:MX_FMC_Init 40 static
|
||||
../Core/Src/main.c:560:13:MX_GPIO_Init 64 static
|
||||
../Core/Src/main.c:667:6:StartDefaultTask 16 static
|
||||
../Core/Src/main.c:688:6:HAL_TIM_PeriodElapsedCallback 16 static
|
||||
../Core/Src/main.c:706:6:Error_Handler 4 static,ignoring_inline_asm
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@@ -68,106 +68,107 @@ Mcu.Name=STM32F429ZITx
|
||||
Mcu.Package=LQFP144
|
||||
Mcu.Pin0=PE2
|
||||
Mcu.Pin1=PE3
|
||||
Mcu.Pin10=PF5
|
||||
Mcu.Pin100=VP_USB_HOST_VS_USB_HOST_CDC_HS
|
||||
Mcu.Pin11=PF7
|
||||
Mcu.Pin12=PF8
|
||||
Mcu.Pin13=PF9
|
||||
Mcu.Pin14=PF10
|
||||
Mcu.Pin15=PH0/OSC_IN
|
||||
Mcu.Pin16=PH1/OSC_OUT
|
||||
Mcu.Pin17=PC0
|
||||
Mcu.Pin18=PC1
|
||||
Mcu.Pin19=PC2
|
||||
Mcu.Pin10=PF4
|
||||
Mcu.Pin100=VP_TIM1_VS_ClockSourceINT
|
||||
Mcu.Pin101=VP_USB_HOST_VS_USB_HOST_CDC_HS
|
||||
Mcu.Pin11=PF5
|
||||
Mcu.Pin12=PF7
|
||||
Mcu.Pin13=PF8
|
||||
Mcu.Pin14=PF9
|
||||
Mcu.Pin15=PF10
|
||||
Mcu.Pin16=PH0/OSC_IN
|
||||
Mcu.Pin17=PH1/OSC_OUT
|
||||
Mcu.Pin18=PC0
|
||||
Mcu.Pin19=PC1
|
||||
Mcu.Pin2=PE4
|
||||
Mcu.Pin20=PA0/WKUP
|
||||
Mcu.Pin21=PA1
|
||||
Mcu.Pin22=PA2
|
||||
Mcu.Pin23=PA3
|
||||
Mcu.Pin24=PA4
|
||||
Mcu.Pin25=PA6
|
||||
Mcu.Pin26=PA7
|
||||
Mcu.Pin27=PC4
|
||||
Mcu.Pin28=PC5
|
||||
Mcu.Pin29=PB0
|
||||
Mcu.Pin3=PC14/OSC32_IN
|
||||
Mcu.Pin30=PB1
|
||||
Mcu.Pin31=PB2/BOOT1
|
||||
Mcu.Pin32=PF11
|
||||
Mcu.Pin33=PF12
|
||||
Mcu.Pin34=PF13
|
||||
Mcu.Pin35=PF14
|
||||
Mcu.Pin36=PF15
|
||||
Mcu.Pin37=PG0
|
||||
Mcu.Pin38=PG1
|
||||
Mcu.Pin39=PE7
|
||||
Mcu.Pin4=PC15/OSC32_OUT
|
||||
Mcu.Pin40=PE8
|
||||
Mcu.Pin41=PE9
|
||||
Mcu.Pin42=PE10
|
||||
Mcu.Pin43=PE11
|
||||
Mcu.Pin44=PE12
|
||||
Mcu.Pin45=PE13
|
||||
Mcu.Pin46=PE14
|
||||
Mcu.Pin47=PE15
|
||||
Mcu.Pin48=PB10
|
||||
Mcu.Pin49=PB11
|
||||
Mcu.Pin5=PF0
|
||||
Mcu.Pin50=PB12
|
||||
Mcu.Pin51=PB13
|
||||
Mcu.Pin52=PB14
|
||||
Mcu.Pin53=PB15
|
||||
Mcu.Pin54=PD8
|
||||
Mcu.Pin55=PD9
|
||||
Mcu.Pin56=PD10
|
||||
Mcu.Pin57=PD11
|
||||
Mcu.Pin58=PD12
|
||||
Mcu.Pin59=PD13
|
||||
Mcu.Pin6=PF1
|
||||
Mcu.Pin60=PD14
|
||||
Mcu.Pin61=PD15
|
||||
Mcu.Pin62=PG4
|
||||
Mcu.Pin63=PG5
|
||||
Mcu.Pin64=PG6
|
||||
Mcu.Pin65=PG7
|
||||
Mcu.Pin66=PG8
|
||||
Mcu.Pin67=PC6
|
||||
Mcu.Pin68=PC7
|
||||
Mcu.Pin69=PC9
|
||||
Mcu.Pin7=PF2
|
||||
Mcu.Pin70=PA8
|
||||
Mcu.Pin71=PA9
|
||||
Mcu.Pin72=PA10
|
||||
Mcu.Pin73=PA11
|
||||
Mcu.Pin74=PA12
|
||||
Mcu.Pin75=PA13
|
||||
Mcu.Pin76=PA14
|
||||
Mcu.Pin77=PA15
|
||||
Mcu.Pin78=PC10
|
||||
Mcu.Pin79=PD0
|
||||
Mcu.Pin8=PF3
|
||||
Mcu.Pin80=PD1
|
||||
Mcu.Pin81=PD3
|
||||
Mcu.Pin82=PD6
|
||||
Mcu.Pin83=PG10
|
||||
Mcu.Pin84=PG11
|
||||
Mcu.Pin85=PG12
|
||||
Mcu.Pin86=PG13
|
||||
Mcu.Pin87=PG14
|
||||
Mcu.Pin88=PG15
|
||||
Mcu.Pin89=PB5
|
||||
Mcu.Pin9=PF4
|
||||
Mcu.Pin90=PB6
|
||||
Mcu.Pin91=PB8
|
||||
Mcu.Pin92=PB9
|
||||
Mcu.Pin93=PE0
|
||||
Mcu.Pin94=PE1
|
||||
Mcu.Pin95=VP_CRC_VS_CRC
|
||||
Mcu.Pin96=VP_DMA2D_VS_DMA2D
|
||||
Mcu.Pin97=VP_FREERTOS_VS_CMSIS_V1
|
||||
Mcu.Pin98=VP_SYS_VS_tim6
|
||||
Mcu.Pin99=VP_TIM1_VS_ClockSourceINT
|
||||
Mcu.PinsNb=101
|
||||
Mcu.Pin20=PC2
|
||||
Mcu.Pin21=PA0/WKUP
|
||||
Mcu.Pin22=PA1
|
||||
Mcu.Pin23=PA2
|
||||
Mcu.Pin24=PA3
|
||||
Mcu.Pin25=PA4
|
||||
Mcu.Pin26=PA6
|
||||
Mcu.Pin27=PA7
|
||||
Mcu.Pin28=PC4
|
||||
Mcu.Pin29=PC5
|
||||
Mcu.Pin3=PE5
|
||||
Mcu.Pin30=PB0
|
||||
Mcu.Pin31=PB1
|
||||
Mcu.Pin32=PB2/BOOT1
|
||||
Mcu.Pin33=PF11
|
||||
Mcu.Pin34=PF12
|
||||
Mcu.Pin35=PF13
|
||||
Mcu.Pin36=PF14
|
||||
Mcu.Pin37=PF15
|
||||
Mcu.Pin38=PG0
|
||||
Mcu.Pin39=PG1
|
||||
Mcu.Pin4=PC14/OSC32_IN
|
||||
Mcu.Pin40=PE7
|
||||
Mcu.Pin41=PE8
|
||||
Mcu.Pin42=PE9
|
||||
Mcu.Pin43=PE10
|
||||
Mcu.Pin44=PE11
|
||||
Mcu.Pin45=PE12
|
||||
Mcu.Pin46=PE13
|
||||
Mcu.Pin47=PE14
|
||||
Mcu.Pin48=PE15
|
||||
Mcu.Pin49=PB10
|
||||
Mcu.Pin5=PC15/OSC32_OUT
|
||||
Mcu.Pin50=PB11
|
||||
Mcu.Pin51=PB12
|
||||
Mcu.Pin52=PB13
|
||||
Mcu.Pin53=PB14
|
||||
Mcu.Pin54=PB15
|
||||
Mcu.Pin55=PD8
|
||||
Mcu.Pin56=PD9
|
||||
Mcu.Pin57=PD10
|
||||
Mcu.Pin58=PD11
|
||||
Mcu.Pin59=PD12
|
||||
Mcu.Pin6=PF0
|
||||
Mcu.Pin60=PD13
|
||||
Mcu.Pin61=PD14
|
||||
Mcu.Pin62=PD15
|
||||
Mcu.Pin63=PG4
|
||||
Mcu.Pin64=PG5
|
||||
Mcu.Pin65=PG6
|
||||
Mcu.Pin66=PG7
|
||||
Mcu.Pin67=PG8
|
||||
Mcu.Pin68=PC6
|
||||
Mcu.Pin69=PC7
|
||||
Mcu.Pin7=PF1
|
||||
Mcu.Pin70=PC9
|
||||
Mcu.Pin71=PA8
|
||||
Mcu.Pin72=PA9
|
||||
Mcu.Pin73=PA10
|
||||
Mcu.Pin74=PA11
|
||||
Mcu.Pin75=PA12
|
||||
Mcu.Pin76=PA13
|
||||
Mcu.Pin77=PA14
|
||||
Mcu.Pin78=PA15
|
||||
Mcu.Pin79=PC10
|
||||
Mcu.Pin8=PF2
|
||||
Mcu.Pin80=PD0
|
||||
Mcu.Pin81=PD1
|
||||
Mcu.Pin82=PD3
|
||||
Mcu.Pin83=PD6
|
||||
Mcu.Pin84=PG10
|
||||
Mcu.Pin85=PG11
|
||||
Mcu.Pin86=PG12
|
||||
Mcu.Pin87=PG13
|
||||
Mcu.Pin88=PG14
|
||||
Mcu.Pin89=PG15
|
||||
Mcu.Pin9=PF3
|
||||
Mcu.Pin90=PB5
|
||||
Mcu.Pin91=PB6
|
||||
Mcu.Pin92=PB8
|
||||
Mcu.Pin93=PB9
|
||||
Mcu.Pin94=PE0
|
||||
Mcu.Pin95=PE1
|
||||
Mcu.Pin96=VP_CRC_VS_CRC
|
||||
Mcu.Pin97=VP_DMA2D_VS_DMA2D
|
||||
Mcu.Pin98=VP_FREERTOS_VS_CMSIS_V1
|
||||
Mcu.Pin99=VP_SYS_VS_tim6
|
||||
Mcu.PinsNb=102
|
||||
Mcu.ThirdPartyNb=0
|
||||
Mcu.UserConstants=
|
||||
Mcu.UserName=STM32F429ZITx
|
||||
@@ -618,6 +619,10 @@ PE4.GPIOParameters=GPIO_Label
|
||||
PE4.GPIO_Label=GreenLight
|
||||
PE4.Locked=true
|
||||
PE4.Signal=GPIO_Output
|
||||
PE5.GPIOParameters=GPIO_Label
|
||||
PE5.GPIO_Label=WalkLight
|
||||
PE5.Locked=true
|
||||
PE5.Signal=GPIO_Output
|
||||
PE7.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode
|
||||
PE7.GPIO_Label=D4
|
||||
PE7.GPIO_Mode=GPIO_MODE_AF_PP
|
||||
|
||||
Reference in New Issue
Block a user