From aca1c664d16235a93c72d3abb1431a25808204f3 Mon Sep 17 00:00:00 2001 From: watts Date: Wed, 29 Oct 2025 18:31:46 +0100 Subject: [PATCH] Update 28-10-2025-Configuration-Changes --- 28-10-2025-Configuration-Changes.-.md | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/28-10-2025-Configuration-Changes.-.md b/28-10-2025-Configuration-Changes.-.md index cf951c8..5833100 100644 --- a/28-10-2025-Configuration-Changes.-.md +++ b/28-10-2025-Configuration-Changes.-.md @@ -4,7 +4,7 @@ This is a work in progress Many of the hardware drivers for the PCI cards used by Pixelator are from the Comedi project, which has been merged into the mainline Linux kernel. One consequence of this change is that the "comedi number" of a device is no longer stable between reboots and we have to switch to using the /sys virtual file system to refer to specific hardware in a stable way. So wherever we used to see things like a "device number", or a "/dev/comedi0", we will now need to set a "deviceName" option with a path string like "/sys/bus/pci/devices/0000:00:00.0/". This has been implemented in commits to the Pixelator repository on October 28th, 2025, and updating your installation after this date will require a change in configuration for both Pixelator and Orocos. -**WARNING**: This procedure involved compiling a new version of the Orocos modules, which will overwrite the previously compiled ones. Therefore, going back to a previous version will involve more than just switching the link to the previous version since the old Orocos modules will need to be compiled again. +**WARNING**: This procedure involves compiling a new version of the Orocos modules, which will overwrite the previously compiled ones. Therefore, going back to a previous version will involve more than [just switching the stxm-directory link to the previous version](https://gitea.psi.ch/MicroSpectro/Pixelator/wiki/Update-Pixelator-Version.-#activate-a-different-version) since the old Orocos modules will need to be compiled again. ## Backup Config Files @@ -32,10 +32,7 @@ Here, references to a "comedi number", "devicePath", or "device number" of "0" ( ## Installing a New Version -Please use [these instructions](https://gitea.psi.ch/MicroSpectro/Pixelator/wiki/Update-Pixelator-Version.-) to install the new version. Note that the update includes new code in the Orocos modules, so you will need to do the extra compiling for this. - - - +Please use [these instructions](https://gitea.psi.ch/MicroSpectro/Pixelator/wiki/Update-Pixelator-Version.-) to install the new version. Note that the update includes new code in the Orocos modules, so you will need to do the extra [compiling](https://gitea.psi.ch/MicroSpectro/Pixelator/wiki/Update-Pixelator-Version.-#compiling) for this. Further, be sure to [copy across your current config files](https://gitea.psi.ch/MicroSpectro/Pixelator/wiki/Update-Pixelator-Version.-#config-files), in case they are different from what is stored in the repository. ## Reconfigure Orocos start.ops @@ -56,6 +53,25 @@ DI1.deviceName = "/sys/bus/pci/devices/0000:03:04.0/" ## Update Pixelator Repository With New Config Files +Pixelator includes some devices that used Comedi configuration that needs to be updated to the new /sys configuration method. Search through your Pixelator config files and replace any `"devicePath" : "/dev/comedi0"` option (where the "0" can be any integer) with a corresponding `deviceName` option, e.g. `deviceName : "/sys/bus/pci/devices/0000:03:04.0/"`. + +You are likely to find options to change in: +* `pixelClock.json` +* `positioner.json` +* `detector.json` + +PolLux examples can be viewed in [this commit](https://gitea.psi.ch/MicroSpectro/Pixelator/commit/066c45aed39ce7c5f93877e43b928aa4c2248e01). + +## Test + +[Restart Orocos](https://gitea.psi.ch/MicroSpectro/Pixelator/wiki/Running-Orocos) and look at the output for any text like `[Error]` or `failed`. Note which device type has the issue and check that part of the `start.ops` for mistakes. + +Start Pixelator and check the output for issues. If you make it to "Pixelator is ready for client requests" without any bad messages, then it is probably all OK. If a `devicePath` option is accidentally left in, then it will just give a warning, which you will only see if your `log4cpp.properties` is configured to show warnings (e.g. the first line looks like `log4cpp.rootCategory=WARN, stdout`). + +## Save New Config Files in Gitea Repository + + + ### With Internet Access 1. Check your startup script for PixelatorController to see which settings file (probably `settings.json`) file is being used (don't assume you know!).