{"id":22753691,"url":"https://github.com/slaclab/pysmurf","last_synced_at":"2026-03-08T11:02:55.782Z","repository":{"id":35668203,"uuid":"173169994","full_name":"slaclab/pysmurf","owner":"slaclab","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-03T19:05:38.000Z","size":58494,"stargazers_count":2,"open_issues_count":156,"forks_count":11,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-04-03T20:21:29.783Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/slaclab.png","metadata":{"files":{"readme":"README.CustomDataTransmitter.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-28T18:56:07.000Z","updated_at":"2025-03-05T20:26:13.000Z","dependencies_parsed_at":"2024-01-31T21:33:29.524Z","dependency_job_id":"a087ff7a-f808-4de6-a633-330e4395d502","html_url":"https://github.com/slaclab/pysmurf","commit_stats":null,"previous_names":[],"tags_count":64,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2Fpysmurf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2Fpysmurf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2Fpysmurf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2Fpysmurf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slaclab","download_url":"https://codeload.github.com/slaclab/pysmurf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248906420,"owners_count":21181175,"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-12-11T06:12:37.481Z","updated_at":"2026-03-08T11:02:55.708Z","avatar_url":"https://github.com/slaclab.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Data Custom Transmitter\n\nThe SMuRF processor pipeline has a placeholder to insert a user-defined processing block which will take the processed data packet and send them to a third party system.\n\nA base C++ class called [BaseTransmitter](include/smurf/core/transmitters/BaseTransmitter.h) is provided. The user code should write a derivate class from this base class.\n\nThe base class contains two virtual methods:\n - `dataTransmit`: This method is called when a new processed data packet is available. An object of type `SmurfPacketROPtr` is passed as an argument to this method; this object is an (smart) pointer to a [SmurfPacket class](include/smurf/core/common/SmurfPacket.h) object, which will give RO access to the content of the SMuRF packet (see [here](README.SmurfPacket.md) for details).\n - `metaTransmit`: This method is called when a new frame with metadata is available. The metadata is passed as a `std::string` object to this method.\n\nAn example on how to write a custom data transmitter and use it with the pysmurf server is available in the [pysmurf-custom-transmitter-example](https://github.com/slaclab/pysmurf-custom-transmitter-example) git repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslaclab%2Fpysmurf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslaclab%2Fpysmurf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslaclab%2Fpysmurf/lists"}