This project was a lab assignment for ENSE 452 class
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.
- 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.
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.