{"id":15658686,"url":"https://github.com/cansik/smooth-servo","last_synced_at":"2025-10-23T23:42:34.222Z","repository":{"id":79717984,"uuid":"94097924","full_name":"cansik/smooth-servo","owner":"cansik","description":"An processing library for smooth servo control.","archived":false,"fork":false,"pushed_at":"2018-04-09T07:01:21.000Z","size":6484,"stargazers_count":23,"open_issues_count":2,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-30T22:32:11.919Z","etag":null,"topics":["arduino","easing","motion","servo","smooth"],"latest_commit_sha":null,"homepage":"","language":"Processing","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/cansik.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-06-12T13:14:31.000Z","updated_at":"2024-05-07T08:59:18.000Z","dependencies_parsed_at":"2023-05-15T11:45:20.796Z","dependency_job_id":null,"html_url":"https://github.com/cansik/smooth-servo","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/cansik%2Fsmooth-servo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cansik%2Fsmooth-servo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cansik%2Fsmooth-servo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cansik%2Fsmooth-servo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cansik","download_url":"https://codeload.github.com/cansik/smooth-servo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252535624,"owners_count":21763979,"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","easing","motion","servo","smooth"],"created_at":"2024-10-03T13:13:28.327Z","updated_at":"2025-10-23T23:42:34.152Z","avatar_url":"https://github.com/cansik.png","language":"Processing","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SmoothServo\nThe idea was to build an arduino library for smooth servo motion control. \n\n**IMPORTANT**: Only the *proof of concept* in **processing** has been implemented yet!\n\n## Idea\nThe idea behind SmoothServo is, to create a library which controls the motion of a servo. Every motion should be start and and with an easing to avoid inertial force.\n\nEvery command to the servo is queued as task in a task list and needs a time to run and an easing curve.\n\nThe task then is split up into three different tasks:\n\n* start (with easing)\n* motion (linear)\n* end (with easing)\n\nIf now a new task is coming into the queue, but the servo is still moving, the motion task will bit canceled and the servo will run the end task. So there is never a fast stop of the servo.\n\n![Example](readme/motion-example.gif)\n\n*SmoothServo simulation.*\n\n## Interface\n\nThere are advanced commands:\n\n* moveTo(int position, int time)\n* stop()\n* stop(int time)\n\nAnd more specific which are used by the library:\n\n* addTask(Task task)\n* cancelCurrentTask()\n* cancelAllTasks()\n* update()\n\nA task object has following attributes:\n\n* Type (Start, Motion, End)\n* Target : Int\n* Time : Int\n* State : Enum (Waiting, Running, Finished, Canceled)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcansik%2Fsmooth-servo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcansik%2Fsmooth-servo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcansik%2Fsmooth-servo/lists"}