/*
 * breadboard.c
 *
 *  Created on: Sep 17, 2025
 *      Author: ja
 */

/*
 * #define RedLight_Pin GPIO_PIN_2
 * #define RedLight_GPIO_Port GPIOE
 *
 * #define YellowLight_Pin GPIO_PIN_3
 * #define YellowLight_GPIO_Port GPIOE
 *
 * #define GreenLight_Pin GPIO_PIN_4
 * #define GreenLight_GPIO_Port GPIOE
 *
 * RedLight:	PE2
 * YellowLight:	PE3
 * GreenLight:	PE4
 */

#include "main.h"
#include "breadboard.h"

#define R_Pin RedLight_Pin
#define Y_Pin YellowLight_Pin
#define G_Pin GreenLight_Pin

#define R_Prt RedLight_GPIO_Port
#define Y_Prt YellowLight_GPIO_Port
#define G_Prt GreenLight_GPIO_Port

void
ticksync(void)
{
	last_tick = HAL_GetTick();
}

void
trafflight(int traffSPD)
{
	// =============
	// 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
}

void
walkingman(int pedSPD)
{
	//

}

void
dimmer(void)
{
	//
}

void
breadboard(int traffSPD, int pedSPD)
{
	trafflight(traffSPD);
	walkingman(pedSPD);
	dimmer();
}
