{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":593202986,"defaultBranch":"master","name":"ADExternal","ownerLogin":"DiamondLightSource","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-01-25T13:33:05.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1233618?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718719091.0","currentOid":""},"activityList":{"items":[{"before":"9a45cd673b5b4a98339a5347622e3065ab43e7bb","after":"ff449512fba3d3e40f3c2f538c4dd4028c521c48","ref":"refs/heads/master","pushedAt":"2024-06-18T15:16:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"builder: set shared memory name in every instance","shortMessageHtmlLink":"builder: set shared memory name in every instance"}},{"before":"9c83de0a016e19b5c6918238934d51a421347ed6","after":"9a45cd673b5b4a98339a5347622e3065ab43e7bb","ref":"refs/heads/master","pushedAt":"2024-06-18T15:15:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Set shared memory name in Initialise to have a value in every instance","shortMessageHtmlLink":"Set shared memory name in Initialise to have a value in every instance"}},{"before":"7cb1a2ae293ce6ab5accbf3a97030e2535fae524","after":"9c83de0a016e19b5c6918238934d51a421347ed6","ref":"refs/heads/master","pushedAt":"2024-06-18T14:01:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Use dependencies from production","shortMessageHtmlLink":"Use dependencies from production"}},{"before":"ca0b6ad37767855e8b2ae2874d126eaa0789e1f7","after":"7cb1a2ae293ce6ab5accbf3a97030e2535fae524","ref":"refs/heads/master","pushedAt":"2024-06-18T13:57:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Use dependencies from production","shortMessageHtmlLink":"Use dependencies from production"}},{"before":"2cff253b46a989e1f79f30b21fd0d9bae64bee85","after":"ca0b6ad37767855e8b2ae2874d126eaa0789e1f7","ref":"refs/heads/master","pushedAt":"2024-04-16T11:57:02.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Add script injectfrompv.py for testing purposes\n\nIt will listen to a waveform PV, copy the value to shared memory and\nnotify a worker of a frame with the dimensions passed as argument","shortMessageHtmlLink":"Add script injectfrompv.py for testing purposes"}},{"before":"5c773a0c029f92ad2b35759ca341fcffd8bc3d84","after":"2cff253b46a989e1f79f30b21fd0d9bae64bee85","ref":"refs/heads/master","pushedAt":"2024-03-19T16:59:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Pass the python path used in builder instead of relying on the shebang","shortMessageHtmlLink":"Pass the python path used in builder instead of relying on the shebang"}},{"before":"d60054f07d92413c496c71b44199a13bf928c41c","after":"5c773a0c029f92ad2b35759ca341fcffd8bc3d84","ref":"refs/heads/master","pushedAt":"2024-03-19T16:37:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Pass the python path used in builder instead of relying on the shebang","shortMessageHtmlLink":"Pass the python path used in builder instead of relying on the shebang"}},{"before":"2d0e7a309e2ec8964810b4191b3dbeff5a7e7542","after":"d60054f07d92413c496c71b44199a13bf928c41c","ref":"refs/heads/master","pushedAt":"2024-03-19T16:23:52.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Add a plugin that forwards frame information using ZMQ\n\nZmqForwarder will impersonate a plugin with the name passed as parameter\nand will transparently send frame information to the endpoint specified.","shortMessageHtmlLink":"Add a plugin that forwards frame information using ZMQ"}},{"before":"9af773b6a4a60d41901b4325b1f02a12f2cc1b35","after":"2d0e7a309e2ec8964810b4191b3dbeff5a7e7542","ref":"refs/heads/master","pushedAt":"2024-03-12T10:55:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Make builder script create worker start script for convenience","shortMessageHtmlLink":"Make builder script create worker start script for convenience"}},{"before":"8b5f2f09b92f4a6eb917a484b3acc96fa9a7b7f8","after":"9af773b6a4a60d41901b4325b1f02a12f2cc1b35","ref":"refs/heads/master","pushedAt":"2024-02-12T11:53:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Provide also the epics timestamp to the frame worker\n\nNow we have 2 timestamps:\n- ts: it usually comes from the camera and it's a double\n- epics_ts: it is captured by the IOC and it's an integer","shortMessageHtmlLink":"Provide also the epics timestamp to the frame worker"}},{"before":"c8a0ba6512f0f6fc7855d46d4f5712afd423e4e6","after":"8b5f2f09b92f4a6eb917a484b3acc96fa9a7b7f8","ref":"refs/heads/master","pushedAt":"2024-02-12T09:46:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Update README to be explicit about the ADCore version required","shortMessageHtmlLink":"Update README to be explicit about the ADCore version required"}},{"before":"ced4a994b10da72f2460d7550c9a796f837c843a","after":"c8a0ba6512f0f6fc7855d46d4f5712afd423e4e6","ref":"refs/heads/master","pushedAt":"2023-11-28T16:40:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Use pthread condition variable instead of epics events\n\nepics events don't expose the internal mutex which we need to\nlock while checking the condition (avoiding a race)","shortMessageHtmlLink":"Use pthread condition variable instead of epics events"}},{"before":"20844e209bfdbf243df7673af94d4083a721967a","after":"ced4a994b10da72f2460d7550c9a796f837c843a","ref":"refs/heads/master","pushedAt":"2023-11-20T15:48:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Update deprecated comments","shortMessageHtmlLink":"Update deprecated comments"}},{"before":"ac2858f843b0b50c5dd8268c91ce347cc235e2af","after":"20844e209bfdbf243df7673af94d4083a721967a","ref":"refs/heads/master","pushedAt":"2023-11-20T11:59:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Don't use static allocated message buffer\n\nThis is a problem when we instantiate the plugin from different threads,\nthey would use the same buffer leading to corruption.","shortMessageHtmlLink":"Don't use static allocated message buffer"}},{"before":"fe2bd694a984ec0d2a59c7d21c704873a2f148fb","after":"ac2858f843b0b50c5dd8268c91ce347cc235e2af","ref":"refs/heads/master","pushedAt":"2023-11-14T16:02:27.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Minor code style changes in Gaussian2DFitter","shortMessageHtmlLink":"Minor code style changes in Gaussian2DFitter"}},{"before":"e284d7f3f512c81800eebcae9b4bd95f857231cc","after":"fe2bd694a984ec0d2a59c7d21c704873a2f148fb","ref":"refs/heads/master","pushedAt":"2023-11-06T14:21:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Split functionality in 3 different worker types\n\n- Gaussian2DFitter: only does the Gaussian fit\n- MedianFilter: only does the median filtering\n- AutoExposure: only handles the exposure adjustment","shortMessageHtmlLink":"Split functionality in 3 different worker types"}},{"before":"8be745940f541d5862cf04e086bb9153d1b67062","after":"e284d7f3f512c81800eebcae9b4bd95f857231cc","ref":"refs/heads/master","pushedAt":"2023-10-19T16:14:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Function to override memory allocation functions was moved","shortMessageHtmlLink":"Function to override memory allocation functions was moved"}},{"before":"7ace09cfaae676389db2bebb310e9062baf5a346","after":"8be745940f541d5862cf04e086bb9153d1b67062","ref":"refs/heads/master","pushedAt":"2023-10-05T16:39:19.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Gaussian2DFitter: allow doing auto exposure each N frames","shortMessageHtmlLink":"Gaussian2DFitter: allow doing auto exposure each N frames"}},{"before":"1e8bd5fa644999e553c9345055427ab20b4987a3","after":"7ace09cfaae676389db2bebb310e9062baf5a346","ref":"refs/heads/master","pushedAt":"2023-09-28T09:31:02.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Gaussian2DFitter: add autoexposure capability\n\nNow, the exposure of a camera can be adjusted based on the maximum pixel\nvalue","shortMessageHtmlLink":"Gaussian2DFitter: add autoexposure capability"}},{"before":"37b6e0a3ab2825c95829dfb3358751d58939f5de","after":"1e8bd5fa644999e553c9345055427ab20b4987a3","ref":"refs/heads/master","pushedAt":"2023-09-25T10:27:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Rename worker scripts to a shorter one","shortMessageHtmlLink":"Rename worker scripts to a shorter one"}},{"before":"fa36f7270cfc3e45be61cd5ae86748f610e2a7e1","after":"37b6e0a3ab2825c95829dfb3358751d58939f5de","ref":"refs/heads/master","pushedAt":"2023-09-15T13:00:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Add frame timestamp to the message sent to a worker","shortMessageHtmlLink":"Add frame timestamp to the message sent to a worker"}},{"before":"dd1fbb2423f9e2b0b622ff01b9b369cbb18290f3","after":"fa36f7270cfc3e45be61cd5ae86748f610e2a7e1","ref":"refs/heads/master","pushedAt":"2023-08-22T10:51:00.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"Allow multiple instances of ADExternalPlugin\n\n- Each one should have a different socket path\n- Only the first instance will create the shared memory, the rest will\n reuse the same one.","shortMessageHtmlLink":"Allow multiple instances of ADExternalPlugin"}},{"before":"a796a4b58a74cc016267784a7d1daeebc3b257c2","after":"dd1fbb2423f9e2b0b622ff01b9b369cbb18290f3","ref":"refs/heads/master","pushedAt":"2023-06-30T15:44:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"EmilioPeJu","name":"Emilio PJ","path":"/EmilioPeJu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26623273?s=80&v=4"},"commit":{"message":"builder: make the worker type be a choice","shortMessageHtmlLink":"builder: make the worker type be a choice"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xOFQxNToxNjoxMi4wMDAwMDBazwAAAARong9B","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xOFQxNToxNjoxMi4wMDAwMDBazwAAAARong9B","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNi0zMFQxNTo0NDoxMS4wMDAwMDBazwAAAANMZ3zS"}},"title":"Activity ยท DiamondLightSource/ADExternal"}