...
- Matlab Framework for Feedback Applications
- DONE:read EGU from PVs and display units wherever possible - DONE except matrix params and PID values (??? ask juhao)
- DONE:use new event API - see matlab prog. man. - DONE cant use one-shot, will stick with F1,F2 1Hz 5Hz 10Hz setup
- DONE:use lcaUtil_NewMonitorValue - DONE
- add limits checking on actuators, states, measurements - inlcuding checking TMIT on all measurements for validity? see notes on disc. w/Paul
- add readback of actuators and compare to desired value
- before starting loop, read current actuator value as initial value
- add error checking on devices - DONE upon init: reports severity of all act, states, meas PVs
- add error checking on communications, calculations -
- rename source files for flat file system (prefix=fb)
- DONE:add a Stop() function : DONE first cut- if anything goes wrong, STOP the feedback (if we try to take any corrective action our single-minded (threaded) matlab stops looping anyway)
- may need to check pulse-ids on all measurements and compare to be sure they are from same pulse - try this later when we have a 'real' pulse-id
- test all feedbacks individually on Kiosks, sunrays determine where best to run in control room.
- investigate long-term run (must be able to run well for at least a full shift 8 hours)
- investigate memory and processor usage, determine if they run well enough with more than one matlab/feedback instance at a time on a processor
- application to collect reference orbit data - TBD
- (application to experimentally determine matrix???) - TBD
- EDM screens to monitor feedbacks
- use EGU to display units
- re-do screen and update to LCLS display colors, formats etc
...
- soft IOC simulator to generate data for feedback testing (this will never be a production softIOC)
- add simulation of user controls for LLRF
- DONE: add calc of real BPM x-position values, replace virtual energy device for Energy feedbacks- DONE
- add calc of real BL11 reading, replace virtual current device for Energy / Bunch length feedbackadd calc of absolute? LOB phase, L1S amp/phase => energy
- as ICDs become available add limits, resolutions, EGU etc to simulator
- Individual Feedbacks
- Bunch Charge
- gotta get going on this soon!
- need ICD for toroid
- need ICD and additional info on inner laser energy loop
- Energy at DL1 / Spectrometer Dump
- LLRF questions - need ICD (including PV names and how they work)
- add control records on LLRF Amp and Phase to lock out users during automated feedback
- need BPM ICD
- DONE:need dispersion values for each BPM - DONE:hard-coded in initLongLoop.m
- they are not in SLC Database, store in config file? Need that oracle database here...
- read amp and phase actual values before starting loop
- change DL1 actuator to LOB phase, not amplitude, will also use phase as main actuator for BC1 energy
- DL1 Energy + BC1 Energy + Bunch Length
- need to use IM01 to calc Bunch Length values (along with BL11 reading)
- where to get calibration constant C for BL11/ IM01 calcs? See doc from Paul
- We need the BL11, BL12 to calculate the Ipk vs. energy curve and store as part of it's calibration. It can then report Ipk, TBD in EPICS Db (like magnet polynomials?)
- Ipk vs. energy needs toroid and TCAV LI29 values - can be done ahead of time?
- need ICDs for toroids and BLEN
- change actuator for DL1 and BC1 to phase, not amplitude
- Injector Launch
- test Paul's latest optimization algorithm with latest simulator BPM values and noise levels
- need BPM ICD
- read magnet actual values before starting loop
- test further with reference orbit data
- Bunch Charge
...