{"id":16915793,"url":"https://github.com/zesterer/varanus","last_synced_at":"2026-01-04T16:33:03.355Z","repository":{"id":66134650,"uuid":"89646805","full_name":"zesterer/varanus","owner":"zesterer","description":"An Embedded Environmental Monitoring System","archived":false,"fork":false,"pushed_at":"2017-05-15T07:54:45.000Z","size":1491,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-25T18:31:06.144Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","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/zesterer.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-27T22:53:48.000Z","updated_at":"2017-05-13T23:44:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"ce8d48a5-4807-4747-b097-ec663726a25c","html_url":"https://github.com/zesterer/varanus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zesterer%2Fvaranus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zesterer%2Fvaranus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zesterer%2Fvaranus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zesterer%2Fvaranus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zesterer","download_url":"https://codeload.github.com/zesterer/varanus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244688635,"owners_count":20493853,"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":[],"created_at":"2024-10-13T19:22:40.986Z","updated_at":"2026-01-04T16:33:03.301Z","avatar_url":"https://github.com/zesterer.png","language":"Makefile","readme":"# Varanus\n\n---\n\nVaranus is an embedded environmental monitoring system created using the mbed framework for a university assignment.\n\n## Features\n\nVaranus implements ALL parts of the assignment specification. These can be verified by testing commands, toggling logging, reading and deleting log entries, and setting the time. Further proof is available with a look through the source code.\n\nIn addition, I have done the following:\n\n- Used the F401RE's LED light as a logging indicator\n- Build a well featured shell that includes help commands, comprehensive error messages, and argument parsing\n- Downloaded and modified the LPS25H library (part of the code was not compliant with C++14, so I fixed it)\n- Made the entire software 100% thread-safe and overflow-proof under all circumstances\n- Added extra utility commands to ease the use of the command shell\n- Included my own vardic template type-matching formatted print system (include/varanus/fmt.hpp)\n- Wrote a thread-safe FIFO variable-size templated ring-buffer implementation (include/varanus/log.hpp)\n\n## Building\n\n__Note: If you are, for whatever reason, unable to build the project, please email me at joshua.s.barretto@gmail.com so that we can arrange a time for me to personally demonstrate the project and its successful compilation__\n\nBuilding Varanus is trivial with the Mbed CLI, as per the instructions on the Mbed website. You may have to modify mbed_settings.py to alter local environment build options.\n\nOn Unix-like systems (I developed the project on Arch Linux), you may run the following to compile the project\n\n\tmake build\n\nTo open the arm-none-eabi GNU debugger, you may run\n\n\tmake run\n\nThis will open a GNU debugger instance. Type the following to load the binary executable onto the device (ensure that the st-util GDB server is running at the same time)\n\n\ttar extended-remote :4242\n\tload\n\nThe board may now run freestanding.\n\n## Name\n\nVaranus is named after the genus of the Monitor Lizard, a family of reptiles that includes the Komodo Dragon. They are presumed to be named for their habit of standing up on two legs in order to 'monitor' their surroundings for signs of prey.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzesterer%2Fvaranus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzesterer%2Fvaranus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzesterer%2Fvaranus/lists"}