{"id":22665046,"url":"https://github.com/smfsw/seqtimer","last_synced_at":"2026-05-02T14:31:51.969Z","repository":{"id":159708970,"uuid":"44494926","full_name":"SMFSW/SeqTimer","owner":"SMFSW","description":"Arduino sequential timer library (multi purpose small lib to handle timers without modifying any hw timer)","archived":false,"fork":false,"pushed_at":"2018-12-12T19:57:28.000Z","size":410,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-04T00:33:20.940Z","etag":null,"topics":["arduino","arduino-library","timer"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SMFSW.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":"2015-10-18T20:21:11.000Z","updated_at":"2024-12-17T10:15:17.000Z","dependencies_parsed_at":"2023-07-13T13:45:53.565Z","dependency_job_id":null,"html_url":"https://github.com/SMFSW/SeqTimer","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SMFSW%2FSeqTimer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SMFSW%2FSeqTimer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SMFSW%2FSeqTimer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SMFSW%2FSeqTimer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SMFSW","download_url":"https://codeload.github.com/SMFSW/SeqTimer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246165006,"owners_count":20733918,"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","arduino-library","timer"],"created_at":"2024-12-09T13:18:57.264Z","updated_at":"2026-05-02T14:31:51.959Z","avatar_url":"https://github.com/SMFSW.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SeqTimer\n\n[![author](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/SMFSW/a9a2b2a02fda1b33461d53ddfe69d649/raw/auth_SMFSW.json)](https://github.com/SMFSW)\n![badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/SMFSW/a9a2b2a02fda1b33461d53ddfe69d649/raw/SeqTimer_status_badge.json)\n[![license](https://img.shields.io/badge/License-BSD3-darkred.svg)](LICENSE)\n[![CodeFactor](https://www.codefactor.io/repository/github/smfsw/seqtimer/badge)](https://www.codefactor.io/repository/github/smfsw/seqtimer)\n\n![platform](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/SMFSW/a9a2b2a02fda1b33461d53ddfe69d649/raw/platform_INO.json)\n\n[![doxy](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/SMFSW/a9a2b2a02fda1b33461d53ddfe69d649/raw/tool_DOXY.json)](https://smfsw.github.io/SeqTimer)\n[![re_note](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/SMFSW/a9a2b2a02fda1b33461d53ddfe69d649/raw/tool_RN.json)](ReleaseNotes.md)\n\n\nArduino sequential timer library (multi purpose small lib to handle timers without modifying any hw timer)\n\nThe purpose here is to have a small piece of lib being able to manipulate simple timers (does not modify hw timers).\n\nKeep in mind that this type of timer is not as accurate as a hw timer.\nThis library is not intended to be used as a PWM generator for example, but to avoid using delay(s).\n\n## Usage\n\n- Automatic class (can handle timers of 2^32 ms max with 1 ms granularity)\n  - `init(period)` or `setPeriod(period)` if you want to execute the first step right away\n  - in loop: if `getTimer()` returns `true`, period has elapsed\n\n- Manual class (can handle every uint16 type as time base)\n  - `init(period, actual time)` to set the period and load the compare register with the given actual time\n  - in loop: if `getTimer(actual time)` returns `true`, period has elapsed\n    - possibility to use `reloadTimer(actual time)` to reload compare register manually (finite running counters)\n\n## Examples included\n\n- [SequentialBlink.ino](examples/SequentialBlink/SequentialBlink.ino): a proper way to handle simple timing on a blinking LED\n- [CascadingTimers.ino](examples/CascadingTimers/CascadingTimers.ino): a demonstration how to use own base timers \u0026 cascading them to obtain a TimeCounter (not to be used as a real RTC)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmfsw%2Fseqtimer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmfsw%2Fseqtimer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmfsw%2Fseqtimer/lists"}