Joe helped me compile the lsc simulink model, and now we have R&D phase rotation.
Right now, we have to do our own math, and figure out what relative phase to put in. Soonly, I'll figure out how to do subtraction, and we can put in the measured value.
More details when I'm not running around like crazy...
Okie dokie. Last night I had modified the c1lsc.mdl to accommodate the R & D phase rotation. I also made pretty new screens. This morning however, the adventures began.....
Under Joe's supervision, I ran "make c1lsc". The error that came up was something about things not being connected. Joe assures me that this is a temporary problem, that Rolf is already working on. The reason is that right now the LSC model is "flat", i.e. it doesn't have a bunch of sub-boxes and sub-screens in the simulink model. Somehow this causes badness. Joe stuck all the guts of the LSC model into a sub-model. He then enabled "top_names", which makes the channels use the name of the sub-model, not the sub-model AND the main model (so since the sub-model is called LSC, our channels are just C1:LSC-OTHER_STUFF, rather than C1:LSC-LSC_OTHER_STUFF). This fixed things so that the compiling worked (when we did "make c1lsc"). The one other thing that we changed was to delete all of the little "Outs" that were attached to EPICS readouts. These are unneccessary and don't go anywhere, and when we made the sub-model, they made a bunch of empty outputs (unconnected outs on the main simulink model). So, after doing that, we were able to compile, and do "make install-c1lsc", and all was good in the world. Mostly.
Joe then noticed that I was using the CDS part "cdsPhase", which only takes one phase input. I wanted "cdswfsPhase", which actually does the R&D phase rotation that we want. Perhaps Alex/Rolf/whoever should change the name of that CDS part. We switched all of the cdsPhase blocks to be cdswfsPhase, and recompiled. All was still good in the world. Mostly.
The last thing that was funny was that when I wanted to execute the medm screens, they would still look at the old _IQ_MTRX_1_1 and _IQ_MTRX_2_1 values, rather than the newly defined _PHASE_R and _PHASE_D channels, even though while editing the medm screen, it looked like it was pointing to the right place. Anyhow, I opened the text file version of the C1LSC_PDX.adl, and changed the channel names to the _R and _D versions by hand. I don't know if we edit the screens and run generate_screens.py again, if we'll have to re-edit the .adl text files.
After fixing this, all really was good in the world.
Perhaps though, this making a subsystem business broke the filters somehow? Foton is looking at the wrong text file now? Something? The filters are all still there, they just got moved down a level. Joe said that he and Rolf are on it, and he should be able to put the LSC model back to being "flat" in the next few days.