{"id":17576917,"url":"https://github.com/bengtmartensson/irremote-sil","last_synced_at":"2026-05-02T13:32:21.370Z","repository":{"id":92520758,"uuid":"92185366","full_name":"bengtmartensson/IRremote-SIL","owner":"bengtmartensson","description":"A SIL testing rig for Arduino-IRremote","archived":false,"fork":false,"pushed_at":"2019-05-24T12:11:38.000Z","size":35,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-04T17:22:44.596Z","etag":null,"topics":["arduino","infrared","irremote","sil","testing"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bengtmartensson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-23T14:54:57.000Z","updated_at":"2020-01-29T05:25:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"da402388-4cb7-4f9a-9f45-0fa75d2341ba","html_url":"https://github.com/bengtmartensson/IRremote-SIL","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bengtmartensson%2FIRremote-SIL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bengtmartensson%2FIRremote-SIL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bengtmartensson%2FIRremote-SIL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bengtmartensson%2FIRremote-SIL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bengtmartensson","download_url":"https://codeload.github.com/bengtmartensson/IRremote-SIL/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246210025,"owners_count":20741098,"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","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":["arduino","infrared","irremote","sil","testing"],"created_at":"2024-10-21T23:43:38.074Z","updated_at":"2026-05-02T13:32:16.342Z","avatar_url":"https://github.com/bengtmartensson.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IRremote-SIL\nThis project offers a Software-In-the-Loop (SIL) test environment for [IRremote](https://github.com/z3t0/Arduino-IRremote).\nAs a SIL environment, in allows testing and debugging on the host computer.\n(Presently only rendering (`IRsend::send*()`), however decoding is [planned](https://github.com/bengtmartensson/IRremote-SIL/issues/1).)\nNo changes to the to-be-tested software are necessary.\n\nSIL offers the following advantages: There is no need to flash the to-be-tested software onto the target system,\nsaving lifetime of its flash memory. It makes debugging on the host possible, using standard debuggers like gdb.\nThe rendered signals can be easily analyzed on the host, using tools like e.g. IrScrutinizer and DecodeIR.\nTurn-around times are much faster.\n\n## Target audience\nThis is a tool aimed at programmers, that want to test protocol implementations (`IRsend::send*` and, later `IRrecv::decode*`).\nThe reader is (therefore) assumed to master the basics of C++ programming and [`make`](https://www.gnu.org/software/make/manual/).\n\n## Requirements\nThe present version supports the main branch of IRremote, 18f12d3affb3491abbfe708d4859df12a6f84d5f.\nMinor changes might be necessary for other versions (in particular [this issue](https://github.com/z3t0/Arduino-IRremote/issues/463)).\n\nIt runs in an environment containing (host-) `make` and `gcc` (`g++`). This includes Unix-like systems\nlike Linux, Mac-OS with `xcode`, and Windows with [Cygwin](http://www.cygwin.com/). Porting it to, say,\nVisualStudio is probably possible, if someone cares...\n\nThe use of an IDE like [Eclipse](https://eclipse.org/) or [Netbeans](https://netbeans.org/)\nis not required, but recommended, in particular for debugging.\n\n## Usage\nFirst make sure that `gcc` (`g++`) and `make` are installed.\nMake sure you have the IRremote you want to test unpacked locally on the host.\n(This directory is only read from, and not modified.)\nUnpack/clone the project to another directory. Edit the Makefile so that\n`IRREMOTE_DIR` points to the directory containing IRremote files.\nThe directory name must not contain spaces.\nIssuing the command `make test`\nshould now build a program and invoke it to generate a number of test files, that can be analyzed\nby your favorite IR analyzer.\nBy defining DECODE suitably, the generated files can be decoded under the control of the Makefile.\n\nNote that the Makefile is parallelization safe, i.e. by using the `-j` flag to `make`, multiple processes\nare run in parallel, to the extent theoretically possible.\n\n## Adding new protocols\nExtend `main.cpp` as desired. Add the cpp file to the Makefile's `PROTOCOL_FILES` variable,\nand the protocol names (in the sense of main.cpp) to PROTOCOL_NAMES.\n\n## Adding new tests\nModify `main.cpp`, and/or the `Makefile`. Or another file...\n\n## Debugging\nThe generated program `irremote` can be debugged as any other C++ program on the host.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbengtmartensson%2Firremote-sil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbengtmartensson%2Firremote-sil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbengtmartensson%2Firremote-sil/lists"}