Skip to content

ferasaljoudi/ElevatorControlSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elevator Control System

This project was a lab assignment for ENSE 452 class


Description

The goal of this project is to design an elevator control system using the STM32 Cortex-M3 board with FreeRTOS and hardware interrupts. The system includes a CLI for user interaction to control elevator operations such as floor selection, door opening, door closing, and maintenance mode activation.


Technologies Used

C Stm32 STM32Cube

Objectives

  • Using the STM32 Cortex-M3 hardware peripherals (GPIO, USART2, Timer2).
  • Implement a multitasking environment with FreeRTOS.
  • Enable inter-task and ISR-task communication via FreeRTOS queues.
  • Provide a user-friendly CLI for runtime control and testing.

Features

1. CLI Commands:

  • 1, 2, 3, 4: Select floors.
  • o, c: Open and close doors.
  • M: Activate maintenance mode.

2. Tasks:

  • StatusWindowTask Increase the time per seconds and update the status window (Top side of terminal).
  • ProcessUserInputTask Handles user input via CLI.
  • StartDefaultTask Manages emergency button states.

3. Interrupts:

  • Emergency Button Triggered by EXTI0_IRQHandler to enter emergency mode.
  • UART Communication Processes user commands.

Resources

Milestone.pdf outlines the completed work in the first phase and future tasks for the final phase.

ElevatorProject.pdf outlines the completed work in the final phase.

About

This project was a lab assignment for ENSE 452 class

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published