{"id":15161576,"url":"https://github.com/arduino/go-serial-utils","last_synced_at":"2026-01-18T02:51:52.475Z","repository":{"id":221356160,"uuid":"754161244","full_name":"arduino/go-serial-utils","owner":"arduino","description":"A golang library with a bunch of procedures to handle serial ports on Arduino (and compatible) boards.","archived":false,"fork":false,"pushed_at":"2024-02-07T14:29:40.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-02-09T10:30:25.785Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arduino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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},"funding":{"github":["arduino"],"custom":"https://www.arduino.cc/en/Main/Donate"}},"created_at":"2024-02-07T14:17:44.000Z","updated_at":"2024-02-07T14:17:56.000Z","dependencies_parsed_at":"2024-02-07T15:20:21.689Z","dependency_job_id":"795cf3fe-1ed6-46e2-844e-38e94d51fbb4","html_url":"https://github.com/arduino/go-serial-utils","commit_stats":null,"previous_names":["arduino/go-serial-utils"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arduino%2Fgo-serial-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arduino%2Fgo-serial-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arduino%2Fgo-serial-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arduino%2Fgo-serial-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arduino","download_url":"https://codeload.github.com/arduino/go-serial-utils/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247092373,"owners_count":20882217,"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-09-27T00:24:39.188Z","updated_at":"2026-01-18T02:51:52.456Z","avatar_url":"https://github.com/arduino.png","language":"Go","funding_links":["https://github.com/sponsors/arduino","https://www.arduino.cc/en/Main/Donate"],"categories":[],"sub_categories":[],"readme":"## go-serial-utils: a golang library with a bunch of procedures to handle serial ports on Arduino (and compatible) boards.\n\n### Board reset\n\nTo reset a board you must use the `Reset` method.\n\n```go\nReset(portToTouch string, wait bool, dryRun bool, portsMapper PortsMapper, cb *ResetProgressCallbacks) (string, error)\n```\n\n`Reset` will reset a board using the 1200 bps port-touch and waits for the bootloader port that is returned.\nBoth reset and wait are optional:\n- if `portToTouch` is the empty string \"\" the reset will be skipped\n- if `wait` is false waiting will be skipped\nIf `wait` is true, this function will wait for a new port to appear after the reset and returns it. If a new port can not be detected or if the `wait` parameter is `false`, then the empty string is returned.\n\nIf `dryRun` is set to `true` this function will only emulate the port reset without actually performing it, this is useful to mockup for unit-testing and CI. In dryRun mode if the `portToTouch` ends with `\"999\"` and `wait` is `true`, the function will return a new \"mocked\" bootloader port as `portToTouch+\"0\"`.\n\n`portMapper` is a method called to obtain the current serial port list. If `portMapper` is `nil` the default internal port mapper will be used.\n\n`cb` is a struct defining a bunch of callback functions called during the reset operation to provide progress feedback to the caller.\n\n## Security\n\nIf you think you found a vulnerability or other security-related bug in this project, please read our\n[security policy](https://github.com/arduino/go-paths-helper/security/policy) and report the bug to our Security Team 🛡️\nThank you!\n\ne-mail contact: security@arduino.cc\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farduino%2Fgo-serial-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farduino%2Fgo-serial-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farduino%2Fgo-serial-utils/lists"}