v4.3.0
Pull Requests Since v4.2.1
Client
Bug
- #595 - Bug in emulator period data type handling
- #599 - Update
set_default_pv
to handle the newRuntimeError
exception - #613 - Change units in read_stream_data
Enhancement
- #617 - Update tracking_setup, add feedback_gain and documentation
- #587 - Issue586 - Changing name of NEI_to_NEP to get_NEI_to_NEP_factor
- #590 - Adding retry attempt to caget
- #607 - Fixes #605.
Core
Interface-change
- #553 - Add external trigger (from timing system) to the downsampler
- #593 - Smurf Server Publisher modifications
Bug
- #615 - Update smurf-rogue base image to version R2.8.3
Enhancement
- #553 - Add external trigger (from timing system) to the downsampler
- #593 - Smurf Server Publisher modifications
Unlabeled
Pull Request Details
Update tracking_setup, add feedback_gain and documentation
Author: | Edward [email protected] |
Date: | Tue Mar 2 18:09:31 2021 -0800 |
Pull: | #617 (49 additions, 4 deletions, 1 files changed) |
Branch: | slaclab/feedback-doc |
Issues: | #592 |
Labels: | client, enhancement |
Notes:
Issue
This PR resolves #592.
Description
Adds doc strings for LMS gain. Also introduces feedback_gain parameter to tracking
Does this PR break any interface?
- Yes
- No
Which interface changed?
[Indicate here what is the interface that changed, preferable with a link to the code where the interface is defined]
What was the interface before the change
[Describe here how was the original interface]
What will be the new interface after the change
[Describe here how is the new interface, and what the difference with the original interface]
Update smurf-rogue base image to version R2.8.3
Author: | Jesus Vasquez [email protected] |
Date: | Fri Feb 26 19:38:51 2021 -0800 |
Pull: | #615 (1 additions, 1 deletions, 1 files changed) |
Branch: | slaclab/ESCRYODET-728 |
Jira: | https://jira.slac.stanford.edu/issues/ESCRYODET-728 |
Labels: | bug, core |
Notes:
Issue
This PR resolves ESCRYODET-728.
Description
This PR updates Rogue to version v4.11.7. This version of Rogue contains a fix for the unbound memory usage increase described in ESCRYODET-728.
Does this PR break any interface?
- Yes
- No
Change units in read_stream_data
Author: | Edward [email protected] |
Date: | Fri Feb 26 13:31:01 2021 -0800 |
Pull: | #613 (1 additions, 1 deletions, 1 files changed) |
Branch: | slaclab/issue612 |
Issues: | #612 |
Labels: | bug, client |
Notes:
Issue
This PR resolves #612
Description
Corrects doc-string for read_stream_data.
Does this PR break any interface?
- Yes
- No
Fixes #605.
Author: | Edward [email protected] |
Date: | Wed Feb 17 14:44:02 2021 -0800 |
Pull: | #607 (6 additions, 2 deletions, 1 files changed) |
Branch: | slaclab/issue605 |
Labels: | client, enhancement |
Notes:
Issue
This PR resolves #605
Description
Adds an output directory keyword (output_dir) to the analyze_iv_from_file so we can dump the analysis results to another location.
Does this PR break any interface?
- Yes
- No
Which interface changed?
Extra keyword in analyze_iv_from_file
What was the interface before the change
IV analysis outputs could only be saved in the folder structure on the smurf server. Would throw errors if the files had been moved.
What will be the new interface after the change
Extra keyword in analyze_iv_from_file means you can tell it where to save the results.
Smurf Server Publisher modifications
Author: | Edward [email protected] |
Date: | Tue Feb 16 16:16:38 2021 -0800 |
Pull: | #593 (36 additions, 4 deletions, 1 files changed) |
Branch: | slaclab/issue588 |
Issues: | #588 |
Labels: | core, enhancement, interface-change |
Notes:
Issue
This PR resolves #588.
Description
This PR adds the following changes to the Publisher class as requested in #588:
- Metadata publishes will now have
msgtype
set tometadata
, instead ofgeneral
,- When publishing metadata, the content of the
data
field will now be key, value pairs, in JSON format, containing the Rogue register path (path
), the register value (value
), and the value type (type
).I tested this changes, with the default variable group, and modifying the _backend_null method to print the received messages, and obtained this:
{"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611797885.3430576, "seq_no": 1565, "type": "metadata", "payload": {"path": "AMCc.SmurfProcessor.ChannelMapper.NumChannels", "value": 1, "type": "int"}} {"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611797885.3466105, "seq_no": 1566, "type": "metadata", "payload": {"path": "AMCc.SmurfProcessor.FrameRxStats.FrameLossCnt", "value": 123, "type": "int"}} {"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611797885.3493185, "seq_no": 1567, "type": "metadata", "payload": {"path": "AMCc.SmurfProcessor.PreDataEmulator.Amplitude", "value": 65535, "type": "int"}} {"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611797885.3505917, "seq_no": 1568, "type": "metadata", "payload": {"path": "AMCc.SmurfProcessor.FileWriter.TotalSize", "value": 0, "type": "int"}} {"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611797885.3531475, "seq_no": 1569, "type": "metadata", "payload": {"path": "AMCc.SmurfProcessor.PostDataEmulator.Amplitude", "value": 4294967295, "type": "int"}} {"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611797885.355861, "seq_no": 1570, "type": "metadata", "payload": {"path": "AMCc.SmurfProcessor.FileWriter.CurrentSize", "value": 0, "type": "int"}} {"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611797885.3562307, "seq_no": 1571, "type": "metadata", "payload": {"path": "AMCc.SmurfProcessor.FrameRxStats.FrameSize", "value": 8320, "type": "int"}} {"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611797885.3567724, "seq_no": 1572, "type": "metadata", "payload": {"path": "AMCc.SmurfProcessor.PostDataEmulator.Offset", "value": 0, "type": "int"}} {"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611797885.3584292, "seq_no": 1573, "type": "metadata", "payload": {"path": "AMCc.SmurfProcessor.FileWriter.FrameCount", "value": 0, "type": "int"}} {"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611797885.3591156, "seq_no": 1574, "type": "metadata", "payload": {"path": "AMCc.SmurfProcessor.FrameRxStats.BadFrameCnt", "value": 0, "type": "int"}} {"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611797885.359428, "seq_no": 1575, "type": "metadata", "payload": {"path": "AMCc.SmurfProcessor.PreDataEmulator.Offset", "value": 0, "type": "int"}} {"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611797885.3594973, "seq_no": 1576, "type": "metadata", "payload": {"path": "AMCc.SmurfProcessor.FrameRxStats.FrameCnt", "value": 791596, "type": "int"}} {"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611797885.36481, "seq_no": 1577, "type": "metadata", "payload": {"path": "AMCc.SmurfProcessor.FrameRxStats.FrameOutOrderCnt", "value": 0, "type": "int"}}
I added a numpy array variable (
np.zeros(5)
) for testing and got this message:{"host": "smurf-srv06", "id": "undeclared", "script": "PySmurf_Server", "time": 1611858311.23576, "seq_no": 1239, "type": "metadata", "payload": {"path": "AMCc.SmurfApplication.NPArrayTest", "value": [0.0, 0.0, 0.0, 0.0, 0.0], "type": "ndarray"}}
Additionally, I added
try-exception
statement when converting the message to JSON to catch exceptions. If an exception occurs, the error message is logged.Does this PR break any interface?
- Yes
- No
Which interface changed?
The content of the metadata send to the
Publisher
What was the interface before the change
msgtype
wasgeneral
,data
was a string containingregister_path=register_value
What will be the new interface after the change
msgtype
is nowmetadata
,data
is now formed by the following key, value pairs in JSON format:
path
: Register path,value
: Register value (numpy arrays are converted to lists)type
: the value type, as a string.
Add external trigger (from timing system) to the downsampler
Author: | Edward [email protected] |
Date: | Tue Feb 16 16:01:54 2021 -0800 |
Pull: | #553 (147 additions, 42 deletions, 4 files changed) |
Branch: | slaclab/ESCRYODET-472 |
Jira: | https://jira.slac.stanford.edu/issues/ESCRYODET-472 |
Labels: | core, enhancement, interface-change |
Notes:
Issue
This PR resolves ESCRYODET-472.
Description
This PR adds a new feature to the downsampler module which allow it to be trigger from the timing system, using the same method used in the old
smurf2mce
application for BICEP: The word 96 in the header (External real time clock from timing system) triggers a release of a frame everytime it changes (following what was done insmurf2mce
).The downsampler have now an additional enum variable
TriggerMode
which can be set to:
Internal
[0]: This is the way the downsampler has always been used so far. A new frame is released on every specified number of received frames; the number of frames is selected by the variablefactor
. This is the default mode.Timing (BICEP)
[1]: A new frame is release every time the word 96 in the header (External real time clock from timing system) changes.Does this PR break any interface?
- Yes
- No
Which interface changed?
The interface is backwards compatible, but these variables were added to the
Downsampler
module:
FrameCnt
: Counts the number of released frames,TriggerMode
: Select the trigger mode (0:Internal
(default), 1:Timing (BICEP)
).and the following commands:
clearCnt
: Clear theFrameCnt
variable.
Updating smurf_cmd.py
Author: | Edward [email protected] |
Date: | Tue Feb 16 15:43:02 2021 -0800 |
Pull: | #597 (519 additions, 119 deletions, 5 files changed) |
Branch: | slaclab/issue596 |
Issues: | #596, #606 |
Labels: | client |
Notes:
Issue
Fixes #596
smurf_cmd.py
has not been updated since the pole deployment. Lots of broken functions.Description
[Describe what this PR does here]
Does this PR break any interface?
- Yes
- No
Which interface changed?
[Indicate here what is the interface that changed, preferable with a link to the code where the interface is defined]
What was the interface before the change
[Describe here how was the original interface]
What will be the new interface after the change
[Describe here how is the new interface, and what the difference with the original interface]
Adding function for finding probe tone gap
Author: | Edward [email protected] |
Date: | Fri Feb 12 16:39:49 2021 -0800 |
Pull: | #602 (88 additions, 0 deletions, 1 files changed) |
Branch: | slaclab/issue601 |
Issues: | #601 |
Labels: | client |
Notes:
Issue
This PR resolves #601
This finds a gap in the resonators to put a tone
Description
[Describe what this PR does here]
Does this PR break any interface?
- Yes
- No
Which interface changed?
[Indicate here what is the interface that changed, preferable with a link to the code where the interface is defined]
What was the interface before the change
[Describe here how was the original interface]
What will be the new interface after the change
[Describe here how is the new interface, and what the difference with the original interface]
Update set_default_pv
to handle the new RuntimeError
exception
Author: | Edward [email protected] |
Date: | Fri Feb 5 17:26:37 2021 -0800 |
Pull: | #599 (10 additions, 4 deletions, 1 files changed) |
Branch: | slaclab/issue598 |
Issues: | #598, #590 |
Labels: | bug, client |
Notes:
Issue
This PR resolves #598.
Description
This PR makes the set_default_pv method behaves the same it was before introducing the changes in #590.
In order to do that, we need to read the status of the configuration in progress PV, disabling the new
retry_on_fail
and instead catching theRuntimeError
exceptions and keep retying fornum_retries
.I tested this in a system where I modified the
AppTop.Init()
method to always fail (which will be the worse case scenario) and then trying to setup the system from the client. This is what you will see:
- On the client:
In [4]: S = pysmurf.client.SmurfControl(epics_root=epics_prefix, setup=True, cfg_file=config_file, make_logfile=False) [ 2021-02-02 22:43:59 ] Setting up... [ 2021-02-02 22:43:59 ] Toggling DACs [ 2021-02-02 22:43:59 ] caput smurf_server_s2:AMCc:FpgaTopLevel:AppTop:AppCore:MicrowaveMuxCore[0]:DBG:dacReset[0] 1 [ 2021-02-02 22:43:59 ] caput smurf_server_s2:AMCc:FpgaTopLevel:AppTop:AppCore:MicrowaveMuxCore[0]:DBG:dacReset[1] 1 [ 2021-02-02 22:43:59 ] caput smurf_server_s2:AMCc:FpgaTopLevel:AppTop:AppCore:MicrowaveMuxCore[0]:DBG:dacReset[0] 0 [ 2021-02-02 22:43:59 ] caput smurf_server_s2:AMCc:FpgaTopLevel:AppTop:AppCore:MicrowaveMuxCore[0]:DBG:dacReset[1] 0 [ 2021-02-02 22:43:59 ] caput smurf_server_s2:AMCc:ReadAll 1 [ 2021-02-02 22:44:04 ] Waiting 20.00 seconds after... [ 2021-02-02 22:44:24 ] Done waiting. [ 2021-02-02 22:44:24 ] caget smurf_server_s2:AMCc:SmurfApplication:SmurfVersion [ 2021-02-02 22:44:24 ] 4.2.1+9.g02aa2cc1 [ 2021-02-02 22:44:24 ] caput smurf_server_s2:AMCc:setDefaults 1 CA.Client.Exception............................................... Warning: "Virtual circuit unresponsive" Context: "localhost:5064" Source File: ../tcpiiu.cpp line 920 Current Time: Tue Feb 02 2021 22:44:59.859849152 .................................................................. [ 2021-02-02 22:44:59 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:45:09 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:45:19 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:45:29 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:45:39 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:45:49 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:45:59 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:46:09 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:46:19 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:46:29 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:46:39 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:46:49 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:46:59 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:47:09 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:47:19 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:47:29 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:47:39 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:47:49 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:47:59 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:48:09 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:48:19 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:48:29 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:48:39 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:48:49 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:48:59 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:49:09 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:49:19 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:49:29 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:49:39 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:49:49 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:49:59 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:50:09 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:50:19 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:50:29 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:50:39 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:50:49 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:50:59 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:51:09 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:51:19 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:51:29 ] caget smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress cannot connect to smurf_server_s2:AMCc:SmurfApplication:ConfiguringInProgress [ 2021-02-02 22:51:39 ] The system configuration did not finish after 400.0 seconds. [ 2021-02-02 22:51:39 ] ERROR : System configuration/setDefaults failed! Do not proceed! Reboot or ask someone for help. You are strongly encouraged to report this as an issue on the pysmurf github repo at https://github.com/slaclab/pysmurf/issues (please provide a state dump using the pysmurf set_read_all/save_state functions). [ 2021-02-02 22:51:39 ] Setup failed! [ 2021-02-02 22:51:39 ] ERROR : System setup failed! Proceed at your own risk! In [5]:
- On the server:
Setting defaults from file /tmp/fw/smurf_cfg/defaults/defaults_c03_lb_none.yml (try number 0) AMCc.FpgaTopLevel.AppTop.writeBlocks() AMCc.FpgaTopLevel.AppTop.AppCore.MicrowaveMuxCore[0].writeBlocks() WARNING:pyrogue.VirtualClient.VirtualClient:I have not heard from AMCc in 10 seconds. It may be busy, continuing to wait... AMCc.FpgaTopLevel.AppTop.Init() Re-executing AppTop.Init(): retryCnt = 1 Re-executing AppTop.Init(): retryCnt = 2 Re-executing AppTop.Init(): retryCnt = 3 Re-executing AppTop.Init(): retryCnt = 4 Re-executing AppTop.Init(): retryCnt = 5 Re-executing AppTop.Init(): retryCnt = 6 Re-executing AppTop.Init(): retryCnt = 7 ERROR:pyrogue.Command.BaseCommand.AMCc.FpgaTopLevel.AppTop.Init:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR:pyrogue.Command.BaseCommand.AMCc.LoadConfig:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 234, in <lambda> excGroups='NoConfig'), File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 730, in loadYaml if not writeEach: self._write() File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 624, in _write self.writeBlocks(force=self.ForceWrite.value(), recurse=True) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_TopLevel.py", line 89, in writeBlocks super().writeBlocks(**kwargs) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 315, in writeBlocks self.Init() File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 98, in __call__ return self._doFunc(arg) File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 120, in _doFunc raise e File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR: Setting defaults try number 0 failed with: AppTop.Init(): Too many retries and giving up on retries Setting defaults from file /tmp/fw/smurf_cfg/defaults/defaults_c03_lb_none.yml (try number 1) WARNING:pyrogue.VirtualClient.VirtualClient:I have finally heard from AMCc. All is good! AMCc.FpgaTopLevel.AppTop.writeBlocks() AMCc.FpgaTopLevel.AppTop.AppCore.MicrowaveMuxCore[0].writeBlocks() WARNING:pyrogue.VirtualClient.VirtualClient:I have not heard from AMCc in 10 seconds. It may be busy, continuing to wait... AMCc.FpgaTopLevel.AppTop.Init() Re-executing AppTop.Init(): retryCnt = 1 Re-executing AppTop.Init(): retryCnt = 2 Re-executing AppTop.Init(): retryCnt = 3 Re-executing AppTop.Init(): retryCnt = 4 Re-executing AppTop.Init(): retryCnt = 5 Re-executing AppTop.Init(): retryCnt = 6 Re-executing AppTop.Init(): retryCnt = 7 ERROR:pyrogue.Command.BaseCommand.AMCc.FpgaTopLevel.AppTop.Init:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR:pyrogue.Command.BaseCommand.AMCc.LoadConfig:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 234, in <lambda> excGroups='NoConfig'), File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 730, in loadYaml if not writeEach: self._write() File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 624, in _write self.writeBlocks(force=self.ForceWrite.value(), recurse=True) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_TopLevel.py", line 89, in writeBlocks super().writeBlocks(**kwargs) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 315, in writeBlocks self.Init() File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 98, in __call__ return self._doFunc(arg) File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 120, in _doFunc raise e File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR: Setting defaults try number 1 failed with: AppTop.Init(): Too many retries and giving up on retries Setting defaults from file /tmp/fw/smurf_cfg/defaults/defaults_c03_lb_none.yml (try number 2) WARNING:pyrogue.VirtualClient.VirtualClient:I have finally heard from AMCc. All is good! AMCc.FpgaTopLevel.AppTop.writeBlocks() AMCc.FpgaTopLevel.AppTop.AppCore.MicrowaveMuxCore[0].writeBlocks() WARNING:pyrogue.VirtualClient.VirtualClient:I have not heard from AMCc in 10 seconds. It may be busy, continuing to wait... AMCc.FpgaTopLevel.AppTop.Init() Re-executing AppTop.Init(): retryCnt = 1 Re-executing AppTop.Init(): retryCnt = 2 Re-executing AppTop.Init(): retryCnt = 3 Re-executing AppTop.Init(): retryCnt = 4 Re-executing AppTop.Init(): retryCnt = 5 Re-executing AppTop.Init(): retryCnt = 6 Re-executing AppTop.Init(): retryCnt = 7 ERROR:pyrogue.Command.BaseCommand.AMCc.FpgaTopLevel.AppTop.Init:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR:pyrogue.Command.BaseCommand.AMCc.LoadConfig:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 234, in <lambda> excGroups='NoConfig'), File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 730, in loadYaml if not writeEach: self._write() File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 624, in _write self.writeBlocks(force=self.ForceWrite.value(), recurse=True) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_TopLevel.py", line 89, in writeBlocks super().writeBlocks(**kwargs) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 315, in writeBlocks self.Init() File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 98, in __call__ return self._doFunc(arg) File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 120, in _doFunc raise e File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR: Setting defaults try number 2 failed with: AppTop.Init(): Too many retries and giving up on retries Setting defaults from file /tmp/fw/smurf_cfg/defaults/defaults_c03_lb_none.yml (try number 3) WARNING:pyrogue.VirtualClient.VirtualClient:I have finally heard from AMCc. All is good! AMCc.FpgaTopLevel.AppTop.writeBlocks() AMCc.FpgaTopLevel.AppTop.AppCore.MicrowaveMuxCore[0].writeBlocks() WARNING:pyrogue.VirtualClient.VirtualClient:I have not heard from AMCc in 10 seconds. It may be busy, continuing to wait... AMCc.FpgaTopLevel.AppTop.Init() AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 1 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 2 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 3 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 4 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 5 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 6 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 7 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 ERROR:pyrogue.Command.BaseCommand.AMCc.FpgaTopLevel.AppTop.Init:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR:pyrogue.Command.BaseCommand.AMCc.LoadConfig:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 234, in <lambda> excGroups='NoConfig'), File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 730, in loadYaml if not writeEach: self._write() File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 624, in _write self.writeBlocks(force=self.ForceWrite.value(), recurse=True) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_TopLevel.py", line 89, in writeBlocks super().writeBlocks(**kwargs) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 315, in writeBlocks self.Init() File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 98, in __call__ return self._doFunc(arg) File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 120, in _doFunc raise e File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR: Setting defaults try number 3 failed with: AppTop.Init(): Too many retries and giving up on retries ERROR: Failed to set defaults after 4 retries. Aborting! Aborting! WARNING:pyrogue.VirtualClient.VirtualClient:I have finally heard from AMCc. All is good! WARNING:pyrogue.VirtualClient.VirtualClient:I have not heard from AMCc in 10 seconds. It may be busy, continuing to wait... WARNING:pyrogue.VirtualClient.VirtualClient:I have finally heard from AMCc. All is good! Setting defaults from file /tmp/fw/smurf_cfg/defaults/defaults_c03_lb_none.yml (try number 0) AMCc.FpgaTopLevel.AppTop.writeBlocks() AMCc.FpgaTopLevel.AppTop.AppCore.MicrowaveMuxCore[0].writeBlocks() WARNING:pyrogue.VirtualClient.VirtualClient:I have not heard from AMCc in 10 seconds. It may be busy, continuing to wait... AMCc.FpgaTopLevel.AppTop.Init() Re-executing AppTop.Init(): retryCnt = 1 Re-executing AppTop.Init(): retryCnt = 2 Re-executing AppTop.Init(): retryCnt = 3 Re-executing AppTop.Init(): retryCnt = 4 Re-executing AppTop.Init(): retryCnt = 5 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: DataValid = 1011, PositionErr = 512, AlignErr = 0 Re-executing AppTop.Init(): retryCnt = 6 Re-executing AppTop.Init(): retryCnt = 7 ERROR:pyrogue.Command.BaseCommand.AMCc.FpgaTopLevel.AppTop.Init:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR:pyrogue.Command.BaseCommand.AMCc.LoadConfig:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 234, in <lambda> excGroups='NoConfig'), File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 730, in loadYaml if not writeEach: self._write() File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 624, in _write self.writeBlocks(force=self.ForceWrite.value(), recurse=True) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_TopLevel.py", line 89, in writeBlocks super().writeBlocks(**kwargs) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 315, in writeBlocks self.Init() File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 98, in __call__ return self._doFunc(arg) File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 120, in _doFunc raise e File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR: Setting defaults try number 0 failed with: AppTop.Init(): Too many retries and giving up on retries Setting defaults from file /tmp/fw/smurf_cfg/defaults/defaults_c03_lb_none.yml (try number 1) WARNING:pyrogue.VirtualClient.VirtualClient:I have finally heard from AMCc. All is good! AMCc.FpgaTopLevel.AppTop.writeBlocks() AMCc.FpgaTopLevel.AppTop.AppCore.MicrowaveMuxCore[0].writeBlocks() WARNING:pyrogue.VirtualClient.VirtualClient:I have not heard from AMCc in 10 seconds. It may be busy, continuing to wait... AMCc.FpgaTopLevel.AppTop.Init() Re-executing AppTop.Init(): retryCnt = 1 Re-executing AppTop.Init(): retryCnt = 2 Re-executing AppTop.Init(): retryCnt = 3 Re-executing AppTop.Init(): retryCnt = 4 Re-executing AppTop.Init(): retryCnt = 5 Re-executing AppTop.Init(): retryCnt = 6 Re-executing AppTop.Init(): retryCnt = 7 ERROR:pyrogue.Command.BaseCommand.AMCc.FpgaTopLevel.AppTop.Init:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR:pyrogue.Command.BaseCommand.AMCc.LoadConfig:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 234, in <lambda> excGroups='NoConfig'), File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 730, in loadYaml if not writeEach: self._write() File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 624, in _write self.writeBlocks(force=self.ForceWrite.value(), recurse=True) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_TopLevel.py", line 89, in writeBlocks super().writeBlocks(**kwargs) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 315, in writeBlocks self.Init() File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 98, in __call__ return self._doFunc(arg) File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 120, in _doFunc raise e File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR: Setting defaults try number 1 failed with: AppTop.Init(): Too many retries and giving up on retries Setting defaults from file /tmp/fw/smurf_cfg/defaults/defaults_c03_lb_none.yml (try number 2) WARNING:pyrogue.VirtualClient.VirtualClient:I have finally heard from AMCc. All is good! AMCc.FpgaTopLevel.AppTop.writeBlocks() AMCc.FpgaTopLevel.AppTop.AppCore.MicrowaveMuxCore[0].writeBlocks() WARNING:pyrogue.VirtualClient.VirtualClient:I have not heard from AMCc in 10 seconds. It may be busy, continuing to wait... AMCc.FpgaTopLevel.AppTop.Init() AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 1 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 2 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 3 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 4 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 5 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 6 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 Re-executing AppTop.Init(): retryCnt = 7 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdTx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 AppTop.Init().AMCc.FpgaTopLevel.AppTop.AppTopJesd[0].JesdRx: Link Not Locked: SysRefPeriodmin = 14, SysRefPeriodmax = 16 ERROR:pyrogue.Command.BaseCommand.AMCc.FpgaTopLevel.AppTop.Init:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR:pyrogue.Command.BaseCommand.AMCc.LoadConfig:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 234, in <lambda> excGroups='NoConfig'), File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 730, in loadYaml if not writeEach: self._write() File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 624, in _write self.writeBlocks(force=self.ForceWrite.value(), recurse=True) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_TopLevel.py", line 89, in writeBlocks super().writeBlocks(**kwargs) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 315, in writeBlocks self.Init() File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 98, in __call__ return self._doFunc(arg) File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 120, in _doFunc raise e File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR: Setting defaults try number 2 failed with: AppTop.Init(): Too many retries and giving up on retries Setting defaults from file /tmp/fw/smurf_cfg/defaults/defaults_c03_lb_none.yml (try number 3) WARNING:pyrogue.VirtualClient.VirtualClient:I have finally heard from AMCc. All is good! AMCc.FpgaTopLevel.AppTop.writeBlocks() AMCc.FpgaTopLevel.AppTop.AppCore.MicrowaveMuxCore[0].writeBlocks() WARNING:pyrogue.VirtualClient.VirtualClient:I have not heard from AMCc in 10 seconds. It may be busy, continuing to wait... AMCc.FpgaTopLevel.AppTop.Init() Re-executing AppTop.Init(): retryCnt = 1 Re-executing AppTop.Init(): retryCnt = 2 Re-executing AppTop.Init(): retryCnt = 3 Re-executing AppTop.Init(): retryCnt = 4 Re-executing AppTop.Init(): retryCnt = 5 Re-executing AppTop.Init(): retryCnt = 6 Re-executing AppTop.Init(): retryCnt = 7 ERROR:pyrogue.Command.BaseCommand.AMCc.FpgaTopLevel.AppTop.Init:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR:pyrogue.Command.BaseCommand.AMCc.LoadConfig:AppTop.Init(): Too many retries and giving up on retries Traceback (most recent call last): File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 234, in <lambda> excGroups='NoConfig'), File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 730, in loadYaml if not writeEach: self._write() File "/usr/local/src/rogue/python/pyrogue/_Root.py", line 624, in _write self.writeBlocks(force=self.ForceWrite.value(), recurse=True) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_TopLevel.py", line 89, in writeBlocks super().writeBlocks(**kwargs) File "/usr/local/src/rogue/python/pyrogue/_Device.py", line 296, in writeBlocks value.writeBlocks(force=force, recurse=True, checkEach=checkEach) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 315, in writeBlocks self.Init() File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 98, in __call__ return self._doFunc(arg) File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 120, in _doFunc raise e File "/usr/local/src/rogue/python/pyrogue/_Command.py", line 116, in _doFunc return pr.varFuncHelper(self._function,pargs, self._log,self.path) File "/usr/local/src/rogue/python/pyrogue/_Variable.py", line 868, in varFuncHelper return func(**args) File "/tmp/fw/rogue_MicrowaveMuxBpEthGen2_v1.0.3.zip/python/AmcCarrierCore/AppTop/_AppTop.py", line 288, in Init raise pr.DeviceError('AppTop.Init(): Too many retries and giving up on retries') pyrogue._Device.DeviceError: AppTop.Init(): Too many retries and giving up on retries ERROR: Setting defaults try number 3 failed with: AppTop.Init(): Too many retries and giving up on retries ERROR: Failed to set defaults after 4 retries. Aborting! Aborting!
Of course, this test intentionally failed at the end, in order to test the worse case scenario, and make sure that the client waits until the end of the process (compare this with the example shown in #598 when the client didn't wait and failed before the server finished trying to setup the system). In a different situation, the server will eventually recover and the setting defaults will succeed. In that situation, the client code will be able to continuer normally.
Does this PR break any interface?
- Yes
- No
Adding retry attempt to caget
Author: | Shawn Henderson [email protected] |
Date: | Thu Jan 28 23:23:32 2021 -0800 |
Pull: | #590 (20 additions, 2 deletions, 1 files changed) |
Branch: | slaclab/issue589 |
Issues: | #589 |
Labels: | client, enhancement |
Notes:
Issue
Resolves #589
Description
Catches and retries if
epics.caget
returns None.Does this PR break any interface?
- Yes
- No
Which interface changed?
[Indicate here what is the interface that changed, preferable with a link to the code where the interface is defined]
What was the interface before the change
[Describe here how was the original interface]
What will be the new interface after the change
[Describe here how is the new interface, and what the difference with the original interface]
Bug in emulator period data type handling
Author: | Shawn Henderson [email protected] |
Date: | Thu Jan 28 23:17:37 2021 -0800 |
Pull: | #595 (22 additions, 4 deletions, 1 files changed) |
Branch: | slaclab/issue594 |
Issues: | #594 |
Labels: | bug, client |
Notes:
Issue
This PR resolves #594 .
Description
the set and get function to emulator periods are strings. Handle that properly.
Does this PR break any interface?
- Yes
- No
Which interface changed?
[Indicate here what is the interface that changed, preferable with a link to the code where the interface is defined]
What was the interface before the change
[Describe here how was the original interface]
What will be the new interface after the change
[Describe here how is the new interface, and what the difference with the original interface]
Issue586 - Changing name of NEI_to_NEP to get_NEI_to_NEP_factor
Author: | Edward [email protected] |
Date: | Sun Jan 24 19:22:23 2021 -0800 |
Pull: | #587 (20 additions, 10 deletions, 1 files changed) |
Branch: | slaclab/issue586 |
Issues: | #586 |
Labels: | client, enhancement |
Notes:
Issue
This PR resolves #586 .
Description
Changes the name of the
NEI_to_NEP
function toget_NEI_to_NEP_factor
. The previous name did not make sense.Does this PR break any interface?
- Yes
- No
Which interface changed?
NEI_to_NEP
function name changed toget_NEI_to_NEP_factor
What was the interface before the change
Function was called
NEI_to_NEP
What will be the new interface after the change
Now it is called
get_NEI_to_NEP_factor