Private
Public Access
11
1

Update Orocos Configuration

2024-02-21 16:19:12 +01:00
parent cc6006c9b9
commit 5c9511bb20

@@ -112,13 +112,23 @@ It is probably best to start with the file configured for PolLux ([PixelatorReal
Currently, the device numbers at PolLux match the hard-coded defaults and so no device numbers are set. The section above discusses how to set the appropriate device numbers in `start.ops`.
### Interferometer Module(s) and Axes
An interferometer module is first imported (`import()`) and then loaded and assigned a name (`loadComponent()`). PolLux uses an Agilent interferometer for the X- and Y-axes, and an Attocube interferometer for the Z-axis. You should only import the module(s) that you need for the interferometer type(s) used in your instrument. If you only have one interferometer type, then you should delete one of the `import()` commands and one of the 'loadComponent()` commands so that the remaining commands refer to the interferometer module that you want to use. Further, ensure that the `loadComponent()` command uses the name (first argument) "Sensor1". Next, you will need to modify or delete a bunch of commands, depending on whether you have a Z-axis interferometer.
An interferometer module is first imported (`import()`) and then loaded and assigned a name (`loadComponent()`). PolLux uses an Agilent interferometer for the X- and Y-axes, and an Attocube interferometer for the Z-axis. You should only import the module(s) that you need for the interferometer type(s) used in your instrument. If you only have one interferometer type, then you should delete one of the `import()` commands and one of the `loadComponent()` commands so that the remaining commands refer to the interferometer module that you want to use. Further, ensure that the `loadComponent()` command uses a name (first argument, e.g. "Sensor1") that is used consistently for later commands.
### Two Interferometer Axes (of same type)
If you have only X- and Y-axis interferometers, you can delete all commands (the full line) that include either "Sensor2" or "PID2" (or both).
Next, you should set the interferometer resolution for each channel, for example:
```
Sensor1.resolution[0]=0.000309078
Sensor1.resolution[1]=0.000309078
Sensor1.resolution[2]=0.000309078
```
It is OK to set as many channels as exists on the hardware (usually 3), even if you are not measuring that many axes. The resolution value is calculated by the laser wavelength (in microns) divided by the interpolator factor (Agilent N1231A is 512 and N1231B is 1024) and then divided by the number of laser paths (a double-pass, with 2 bounces off the mirror gives 4).
### Three Interferometer Axes (of same type)
If you have X-, Y- and Z-axis interferometers, you should first look at every `connect()` command and change any instance of "Sensor2.*Output_0" (where * is either "position" or "status") in that command to "Sensor1.*Output_2". After doing this throughout the file, you should delete any command (the full line) that still contains "Sensor2".
Next, you will need to modify or delete a bunch of commands, depending on whether you have a Z-axis interferometer.
#### Two Interferometer Axes (of same type)
If you have only X- and Y-axis interferometers, you can delete all commands (the full line) that include either "Sensor2" or "PID2" (or both). Need to include the line `ComCon.nrPID=2` in start.ops.
#### Three Interferometer Axes (of same type)
If you have X-, Y- and Z-axis interferometers, you should first look at every `connect()` command and change any instance of "Sensor2.*Output_0" (where * is either "position" or "status") in that command to "Sensor1.*Output_2". After doing this throughout the file, you should delete any command (the full line) that still contains "Sensor2". Need to include the line `ComCon.nrPID=3` in start.ops.
## Manual Loading of Kernel Driver Modules (optional)