new traffic light code. walk signal works

This commit is contained in:
jazz committed 2025-09-21 01:26:23 -05:00
1 parent e698ea0bd9
commit 177fca8b4e
229 files changed
+47123 -19395

No files matched your search

+1
View File
@@ -219,4 +219,5 @@
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="refreshScope"/>
</cproject>
+3 -1
View File
@@ -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_ */
+2
View File
@@ -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
+41 -14
View File
@@ -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
trafftick_last = HAL_GetTick();
walktick_last = HAL_GetTick();
}
HAL_GPIO_TogglePin(R_Prt, R_Pin);
HAL_Delay(traffSPD);
HAL_GPIO_TogglePin(R_Prt, R_Pin);
void
trafflight(int traffSPD, int walkSPD)
{
uint32_t trafftick_curr = HAL_GetTick();
HAL_GPIO_TogglePin(Y_Prt, Y_Pin);
HAL_Delay(traffSPD);
HAL_GPIO_TogglePin(Y_Prt, Y_Pin);
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);
HAL_GPIO_TogglePin(G_Prt, G_Pin);
HAL_Delay(traffSPD);
HAL_GPIO_TogglePin(G_Prt, G_Pin);
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;
}
// Walk signal
// Light dimmer
if ((trafftick_curr - walktick_last) >= walkSPD) {
HAL_GPIO_TogglePin(W_Prt, W_Pin);
walktick_last = trafftick_curr;
}
}
+5 -4
View File
@@ -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.
+13 -13
View File
@@ -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.
+13 -13
View File
@@ -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.
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.
+104 -99
View File
@@ -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