{"id":18142421,"url":"https://github.com/benoitberanger/api_brainvisionrecorder_remotecontrolserver","last_synced_at":"2025-04-06T19:20:42.694Z","repository":{"id":199739483,"uuid":"703621737","full_name":"benoitberanger/API_BrainVisionRecorder_RemoteControlServer","owner":"benoitberanger","description":"API to control BrainVisionRecorder (BVR) from MATLAB","archived":false,"fork":false,"pushed_at":"2023-11-29T16:25:17.000Z","size":45,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-13T01:24:54.692Z","etag":null,"topics":["api","brainvisionrecorder","bvr","matlab","pnet","rcs","remotecontrolserver"],"latest_commit_sha":null,"homepage":"","language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benoitberanger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2023-10-11T15:27:13.000Z","updated_at":"2023-10-16T16:50:59.000Z","dependencies_parsed_at":"2024-11-01T18:26:05.325Z","dependency_job_id":"d7122424-a095-41d5-a27f-af578e5d2c89","html_url":"https://github.com/benoitberanger/API_BrainVisionRecorder_RemoteControlServer","commit_stats":null,"previous_names":["benoitberanger/api_brainvisionrecorder_remotecontrolserver"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benoitberanger%2FAPI_BrainVisionRecorder_RemoteControlServer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benoitberanger%2FAPI_BrainVisionRecorder_RemoteControlServer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benoitberanger%2FAPI_BrainVisionRecorder_RemoteControlServer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benoitberanger%2FAPI_BrainVisionRecorder_RemoteControlServer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benoitberanger","download_url":"https://codeload.github.com/benoitberanger/API_BrainVisionRecorder_RemoteControlServer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247535890,"owners_count":20954642,"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":["api","brainvisionrecorder","bvr","matlab","pnet","rcs","remotecontrolserver"],"created_at":"2024-11-01T18:21:57.038Z","updated_at":"2025-04-06T19:20:42.650Z","avatar_url":"https://github.com/benoitberanger.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API_BrainVisionRecorder_RemoteControlServer\n\nThis repo contains a class to handle communication between MATLAB and **B**rain**V**ision**R**ecorder (BVR) using **R**emote**C**ontrol**S**erver (RCS), typicaly to Start and Stop recording in BVR from MATLAB.\n\nThe network communication uses `pnet`, a mex file.\n`pnet` can be found here : https://www.mathworks.com/matlabcentral/fileexchange/345-tcp-udp-ip-toolbox-2-0-6'\n`pnet` may be bundled with PsychToobox.\n\n\n# Exemple\n\n```matlab\n% create object, and close all previous connections\nrc = BVR_RCS();\nrc.closeAll()\n\n% set connection IP and port, then connect\nrc.setRecorderIP('127.0.0.1')\nrc.setPort(6700)\nrc.tcpConnect()\n\n% start (or check) that BVR is in Monitoring mode, ready to start record\nrc.sendMonitoring()\n\n% up to you if you want to allow or not file overwrite\nrc.sendOverwriteOFF()\n\n% output file name will be \u003cExperimentNumber\u003e_\u003cSubjectID\u003e[.eeg, .vhdr .vmrk]\nrc.sendExperimentNumber(date)\nrc.sendSubjectID('test_subjectID_rcs')\n\n% lets go ! start the recording\nrc.sendStartRecording()\npause(1.0)\n\n% send annotations\nrc.sendAnnotation('blank','stim_visual')\npause(0.1)\nrc.sendAnnotation('fixation_cross','stim_visual')\npause(0.1)\nrc.sendAnnotation('bip','audio_cue')\npause(0.1)\nrc.sendAnnotation('fixation_cross','stim_visual')\npause(0.1)\nrc.sendAnnotation('blank','stim_visual')\npause(0.1)\n\n% pause and continue\nrc.sendPauseRecording()\npause(0.1)\nrc.sendContinueRecording()\npause(0.5)\n\n% and now stop recording\nrc.sendStopRecording()\n\n% close the connection\nrc.closeAll()\n\n```\n\n\n# GUI\n\n![readme_figures/gui.png](readme_figures/gui.png)  \n**There are tooltips on graphic elements : place your mouse cursor over it.**\n\nIn the exemples bellow `rc` is the object associted with the GUI, freshly created by `openGUI()` static method\n\n## Standalone\n```matlab\nrc = BVR_RCS.openGUI()\n```\n\n## Embeded in a _container_\n```matlab\n% containter = figure OR axes OR uipanel\ncontainer = uipanel()\n\n\nrc = BVR_RCS.openGUI(container)\n```\n\n\n# Limitations\n\nSome RCS commandes **not** programmed in this API, in particular the comandes whith variable returned message size.\n\n\n# MATLAB version\nEven old versions shoud work, as long as they have object oriented capabilities (R2011+ ?)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenoitberanger%2Fapi_brainvisionrecorder_remotecontrolserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenoitberanger%2Fapi_brainvisionrecorder_remotecontrolserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenoitberanger%2Fapi_brainvisionrecorder_remotecontrolserver/lists"}