Special One-Shot Timelines cause Super Cycle learning to clear all Learning buffers.
When a special One-Shot Timeline is used (Booster studies) MECAR sees these special One-Shot timelines as a new Timeline and therefore clears all SC Learning buffers. This is undesirable behavior.
Because these special One-Shot Timelines do not have any MI Resets in them the correct behavior for MECAR is to just ignore them.
#1 Updated by Kevin Martin about 5 years ago
- Status changed from New to Assigned
The workaround for the special One-Shot Timeline problem is to Modify the NewTimeLine_Task() function (in busx_sys.c) such that only the G:TLGSTP value (ID of new/next regular timeline) is looked at to see is the timeline is changing. This will cause MECAR to only be sensitive to regular super cycle time line changes and not the special One-Shot time line changes.
Also, a flag (one_shot_time_line_next) was created to indicate when a special On-Shot Timeline is going to be played (by looking the ID of new/next One-Shot timeline from G:TLGSTP). This enables the Super Cycle ISR (in mecar_rtm.c) to ignore the One-Shot Timeline Super Cycle event.
Testing is on-going in the backup MECAR (mecarb.fnal.gov) crate in the uPit. Once testing is complete the changes will be tried out in MECAR.
#2 Updated by Kevin Martin almost 5 years ago
- Status changed from Assigned to Accepted
- % Done changed from 0 to 100
I was able to load the modified code into the operational MECAR. Booster studies were planned that required the use of One-Shot timelines.
MECAR worked perfectly. MECAR was able to differentiate between upcoming regular SS and One-Shots. MECAR did not clear it's SS learning buffer and ignored the SS TCLK event when it was for a One-Shot.