Pete,
I don't quite follow "level2" etc., but will take it to mean the F19 and F21 keys, ie. "level2 F9=F19" and "level3 F1=F21".
This makes an assumption on the sound file writer. The assumption is they didn't change the default mapping of Aux7 and Aux8 from mapping lines 35 and 36 (see table on Page 60 "Standard mapping - LokSound XL V4.0" of the ESU manual), then this works without worry. There is a small risk that the sound file writer used those lines for something else (perhaps they used Line 35 for "F16=fireman swears sound"). If you want to be super-sure about things, you need to read all 16 CVs on each line and make sure they don't do anything you otherwise need in the decoder (I'd be surprised if they were doing other things, but its possible).
If the soundwriter just left the defaults in place, then the keys F27 (Level3, F7 ?) and F28 (level3 F8 ?) should operate the outputs (page 60 of the manual).
In the following, the Index CV's, CV31 and CV32 need to be set (Page 51 of manual). ESU only use CV31=16 (page 51).
As the values for both CV31 and CV32 stay the same for this exercise (CV31=16, CV32=4), you can set them once and not need to set them again as you go through each step. At the end, I suggest you set them back to CV31=0 and CV32=0.
You can do most of this in Ops-mode (programming on the main) if you wish.
Mapping Line 35, mapping F19 key to control Aux7.
(Page 52 of ESU manual, and subsequent pages for what each block A through Q means)
For F19 we need condition block F and a value of 4 (page 53 of manual), condition block F on line 35 is at CV294,
so set these CV31=16, CV32=4 (first column of page 52 table) and CV294=4.
For the output Aux7, this is in Physical Output L (page 55), with a value of 1, thus CV31=16, CV32=4, CV299=1 (This would readback as CV299=1 before you make any changes if the defaults were followed by the sound file writer)
It is also necessary to look to remove the previous default value (assuming it was set) of Function key F27. This is in condition block H, and on line 35, this is CV31=16, CV32=4, CV295. Read this back (on programming track) and its probably set to 4 for F27. Set it to zero to remove F27.
Now the F19 key should control Aux7.
Mapping Line 36, mapping F21 key to control Aux8.
F21 is in condition block F, with a value of 64. On Line 36 we find block F at CV310, so set: CV31=16, CV32=4, CV310=64.
For output Aux8, this is in Physical Output L, with a value of 2, thus, CV31=16, CV32=4, CV315=2
As with above, look to remove the previous default value (assuming it was set) of Function key F28. This is in condition block H, and on line 36, this is CV31=16, CV32=4, CV316. Read this back (on programming track) and its probably set to 16. Set it to zero.
Should be complete and F19 and F21 will operate the lights as required.
Finally, set the Index CV's back to default values CV31=0, CV32=0.
On Sprogs, for O gauge (and I guess a LokSound XL is O gauge or bigger), it may be worth the extra for a Sprog-3 over a Sprog-2. The difference is more current availability for test running. For S/4mm scale and smaller, I'd point people at a Sprog-2 for programming locos. The JMRI/DecoderPro user interface for function mapping of an ESU decoder is now looks and behaves pretty much the same as the ESU LokProgrammer.
Tim's comment: which function mapping in Zimo do you want to use today ? - NMRA, Zimo extended function mapping, cv61=xyz for different country lighting systems, cv61=98 teaching method, Swiss Mapping, Zimo Input Mapping, PseudoProgramming. Seven different partially overlapping ways to do function mapping (and I think there is another undocumented one). So many ways to tie yourself in knots !
- Nigel