diff --git a/README.md b/README.md index 239ab34..b4a120c 100644 --- a/README.md +++ b/README.md @@ -94,3 +94,39 @@ repository is checked out AND the change is commited (`git status` shows no non-committed changes). Please see the section "Usage as static dependency" in https://gitea.psi.ch/lin-epics-modules/sinqMotor/src/branch/main/README.md for more details. + +## FAQ +### Axis hardware error at startup + +If at IOC startup you are met with the following errors: +``` +2026/02/02 16:56:49.470 Controller "turboPmac1", axis 3 => asynStatus turboPmacAxis::handleError(int, char*, int), line 735 +Driver hardware error triggered. +2026/02/02 16:56:49.485 Controller "turboPmac1", axis 7 => asynStatus turboPmacAxis::handleError(int, char*, int), line 735 +Driver hardware error triggered. +2026/02/02 16:56:49.492 Controller "turboPmac1", axis 8 => asynStatus turboPmacAxis::handleError(int, char*, int), line 735 +Driver hardware error triggered. +``` +You may need to reset to do a axis reset. This can be done with +`utils/writeRead.py`. The following example does so for axis 3. + +Confirm the hardware error: +``` +utils/writeRead.py 172.28.87.24:1025 P0301 # 03 specifies axis 3, 01 is the command to read out the error. +# If it returns 13 it's a hardware error. +# For the full list of errors see TurboPMAC_manual.pdf or src/turboPmacAxis.cpp, function "handleError". +``` +Reset the axis: +``` +utils/writeRead.py 172.28.87.24:1025 P0301=0 +``` +Check if the error has appeared again: +``` +utils/writeRead.py 172.28.87.24:1025 P0301 +``` +If the console output is not 0, the error has been deleted, but appeared +immediately again. In this case, the error cannot be reset remotely. +If it is an error such as 10 (limit switches hit), the motor needs to be +moved away from the limits, this resets the error automatically. +Other errors like 13 represent an actual issue on the hardware which +needs to be resolved by the electronics motion engineers.