J. Kissel, B. Weaver Work Permit: #5880 FRS Ticket: #5489 Integration Issue: #FRS 5506 ECR: E1500045 As a band-aid solution to the ganged-coil-driver-state-switching-lock-losses-during-acquisition, recently identified to be PRM (see LHO aLOG 27158), we're going to modify the M3 stage of the HSTS's library part to have individual control over coil switching similar to what was done with the M2 stage of the Beam Splitter some time ago (see E1500045). Because of the breakdown of suspension-type library parts, we must changes to /opt/rtcds/userapps/release/sus/common/models/ HSTS_MASTER.mdl MC_MASTER.mdl and instead of copying the un-library-parted BSFM_MASTER M2 COILOUTF bank, we created a new library part to be copied into the HSTS_ and MC_MASTER_M3 stages, called /opt/rtcds/userapps/release/sus/common/models/FOUROSEM_COILOUTF_MASTER_INDIVIDUAL_CTRL.mdl We've confirmed that these updated models compile, and they've been committed to the userapps repo. We'll work on MEDM screens tomorrow morning, once we've compiled the updated models and we have new channels. There will be some settings (namely the coil driver state settings) that will be lost from the channel name switch, so we'll make sure to replace those in the SDF system accordingly. We'll also make our best attempt EVER at preserving the alignment of these SUS after the restart.
Here are some screen captures of the HSTS BIO and EULER2OSEM matricies which we will be incorporated into new MEDM screens tomorrow.
J. Kissel, B. Weaver, [J. Betzwiser remotely] As usual, we were only able to find bugs in the above SUS model changes for individual coil driver state switching after we'd finished making the MEDM screen modifications. After checking the coil driver compensation functionality after the model changes, we were immediately reminded that the STATE MACHINE logic for those HSTSs stages which have modified TACQ drivers is different from those stages without modification. The beam splitter M2 stage -- which we'd used as an example for the new infrastructure -- which uses an unmodified TACQ driver, where as the recycling-cavity HSTS's (PRM PR2 SRM and SR2 -- at H1 at least) have both their M2 and M3 TACQ drivers modified for extra actuation range. Once we reminded ourselves which suspensions had which drivers modified, we found it best to create a new library part in the /opt/rtcds/userapps/release/sus/common/models/STATE_BIO_MASTER.mdl library capable of individual coil state switching library that uses the correct compensation switching code for the modified driver. It's obscure, but it's as simple as copying over the existing INDIVIDUAL_CTRL block, then changing inline TACQ $SUS_SRC/CD_STATE_MACHINE.c to inline TACQ_M2 $SUS_SRC/CD_STATE_MACHINE.c in each of the cdsFunctionCall block. I've attached screenshots of the updated STATE_BIO_MASTER library and the innards of the parts inside. Note that I've - changed the names of the library blocks associated with the TACQ drivers at the top level to better differentiate between the differences. - made the inline function call visible under the cdsFunctionCall block (right-click > Properties ... > Block Annotation tab > double click on "Description" block property token to add to the list of things for annotation > hit OK) so that the difference in the code call is obvious without digging into the properties. These new library blocks (and the renamed existing blocks for the unmodified driver) were hooked up to the HSTS master models according to their arrangement of TACQ driver modifications: [For H1 ONLY see E1400369 and E1200931] HSTS_MASTER MC1, MC3 No TACQ Driver Mods MC_MASTER MC2 M2 stage driver modified RC_MASTER PRM, PR2, SRM, SR2 Both M2 and M3 stages modified Also, for convenience, remember you can find details of the modification in L1200226, but in summary, the modified driver is a factor of 10 stronger than an unmodified driver (and there's no longer frequency response in the output impedance network, which is why the digital compensation has to change). Also, also, the state machine diagrams that outline how the digital compensation works with the analog driver state can be found in T1100507 These updated models have been committed to the sus/common/models/ directory of the userapps repo, so one needs not do anything different than the above update instructions to receive the bug fix. Since the distinction between whether no, one, or two of an HSTS's TACQ drivers are modified is made at the top-level of the model, i.e. by which of the HSTS_, MC_, or RC_MASTER blocks are used, there shouldn't be a need to change any top-level stuff at LLO to receive this model update. Just update that sus/common/model/ corner of the repo, and recompile, re-install, and re-start.