{"id":32424668,"url":"https://github.com/danilofuchs/tm4c1294_elevator_control","last_synced_at":"2025-10-25T19:53:06.864Z","repository":{"id":47533709,"uuid":"393212591","full_name":"danilofuchs/TM4C1294_Elevator_Control","owner":"danilofuchs","description":"Control 3 elevators in a Simulator through Serial interface and Texas TM4C1294 board","archived":false,"fork":false,"pushed_at":"2021-08-26T02:18:07.000Z","size":41731,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-02T22:27:28.897Z","etag":null,"topics":["embedded-systems","iar","rtos","simulator"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danilofuchs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-08-06T01:26:15.000Z","updated_at":"2021-09-29T19:42:18.000Z","dependencies_parsed_at":"2022-09-09T12:12:36.725Z","dependency_job_id":null,"html_url":"https://github.com/danilofuchs/TM4C1294_Elevator_Control","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/danilofuchs/TM4C1294_Elevator_Control","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danilofuchs%2FTM4C1294_Elevator_Control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danilofuchs%2FTM4C1294_Elevator_Control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danilofuchs%2FTM4C1294_Elevator_Control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danilofuchs%2FTM4C1294_Elevator_Control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danilofuchs","download_url":"https://codeload.github.com/danilofuchs/TM4C1294_Elevator_Control/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danilofuchs%2FTM4C1294_Elevator_Control/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281012089,"owners_count":26429437,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-25T02:00:06.499Z","response_time":81,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["embedded-systems","iar","rtos","simulator"],"created_at":"2025-10-25T19:53:01.347Z","updated_at":"2025-10-25T19:53:06.860Z","avatar_url":"https://github.com/danilofuchs.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TM4C1294 Elevator Control\n\nControls a 3 elevator/lift system on Texas Instruments TM4C1294 Cortex-M4 board using Keil RTX5 RTOS.\n\nConnects via Serial port with a simulator running on the host computer.\n\n![Elevator simulator screenshot](./docs/elevator_sim.png)\n\n## Running the project\n\nFirst, you need to [install IAR IDE version 9](https://www.iar.com/products/architectures/arm/iar-embedded-workbench-for-arm/).\nYou can download the trial version.\n\n- Make sure you install all the `TI - Texas Instruments` drivers, such as `TI ICDI`.\n- Clone this repository\n- Open the `.eww` workspace in IAR\n- Set the active project as `elevator_control`\n- On the project settings, make sure the `Debugger` -\u003e `Driver` option is set to `TI Stellaris`\n- Build the project in Debug mode and run it 🚀\n\n## Functional Requirements\n\nThe functional requirements are described in Portuguese here: [Requisitos](./requisitos)\n\n## Architecture\n\n### Block diagram\n\n![Architecture block diagram](./arquitetura/architecture.png)\n\n### State machine diagrams\n\n![](./detalhado/elevator_state_machine.png)\n\n[Other diagrams](./detalhado)\n\n## Simulator\n\nOn the elevator simulator folder ([elevator_sim](./elevator_sim)) you can find an\n.exe to run the simulator on Windows. This simulator was given to me on my Embedded\nSystems course at [UTFPR](https://utfpr.edu.br/)\n\nThe specification for the protocol is on [simulator_spec.pdf (Portuguese)](./docs/simulator_spec.pdf)\n\nFor testing the simulator locally without a microcontroller, you must create a virtual\nserial port using https://freevirtualserialports.com/. Configure it in **local bridge**\nmode:\n\n- **First Port Name**: COM1 (or other COM port, if COM1 is already used)\n- **Second Port Name**: COM2 (or other COM port, if COM2 is already used)\n\nThis will redirect all traffic to COM1 to COM2.\n\nThen, select the **elevator_sim** folder and run the simulator.\n\nOn the simulator initial screen, select the target port as the First Port Name (COM1).\nThe baud rate should be 115200.\n\nThen, open your preferred serial terminal and connect to the Second Port Name (COM2).\n\nEvery command you send to the simulator will be sent to the serial port according to the\nprotocol described on [simulator_spec.pdf (Portuguese)](./docs/simulator_spec.pdf).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanilofuchs%2Ftm4c1294_elevator_control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanilofuchs%2Ftm4c1294_elevator_control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanilofuchs%2Ftm4c1294_elevator_control/lists"}