Skip to content

Repository files navigation

TM4-Traffic-Controller

Embedded software and supporting tools for a traffic-light controller running on the Texas Instruments Tiva(TM) TM4C1294NCPDT microcontroller.

Refer to documentation in the documentation folder for Requirements, Architecture and Design, and Testing:

  1. Requirements
  2. Architecture & Design
  3. Testing

Summary

  • What: Real-time traffic light controller firmware, a desktop prototype, and test/data tools.
  • Hardware: TI Tiva TM4C1294NCPDT (see tm4c1294ncpdt_startup_ccs.c, tm4c1294ncpdt.cmd).

Repository layout

  • main.c — firmware entry point and application logic.
  • tm4c1294ncpdt_startup_ccs.c, tm4c1294ncpdt.cmd — startup and linker script for CCS.
  • prototype/ — desktop prototype implementation (prototype.cpp).
  • testing/ — test harnesses and scripts (testing.py) and data/ with sample CSVs.
  • documentation/ — requirements, architecture and testing documents.

Build & flash (TI Code Composer Studio)

  • Open a CCS project and include main.c, the startup file, and the linker command file tm4c1294ncpdt.cmd.
  • Build in CCS and flash using the supported debug probe (e.g. XDS). Adjust project settings to match your board/target.

Run the prototype locally

  • Compile the prototype (requires a C++ toolchain):

    g++ -std=c++17 -O2 prototype/prototype.cpp -o prototype/sim ./prototype/sim

Testing

  • Run the Python test harness (requires Python 3):

    python3 testing/testing.py

See testing/data/ for sample input CSVs used by the test harness.

License

  • This project is licensed under the Apache License 2.0. See the bundled LICENSE file for details.

Documentation

Contributing

  • Issues and pull requests are welcome. Keep changes focused and provide reproduction steps for bugs.

Contact

  • For questions, open an issue or review the top-level documentation files in documentation/.

Authors

  • Rustenis Tolpeznikas
  • Obed Oyandut
  • Copyright 2023

About

Embedded software for the Texas Instruments TivaTM TM4C1294NCPT micro-controller based traffic light controller

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages