The audio path and the control logic of the v1_0_3 Tesira design in one place. One TesiraFORTÉ X 400 carries two Dante wireless mics and a laptop's USB audio to the room amplifier and back to the laptop. The same DSP runs the logic behind the TEC-X 2000: two Epson L260F projectors, two screens, four volume controls and automatic mic EQ from the Shure ULXD4D. If you've read the separate audio flow and control flow pages, only Part 1 is new: Parts 2 and 3 carry them over, and Part 4 gathers their reference tables.
| Control source | Audio block it acts on | Effect |
|---|---|---|
ULXD4D TX_TYPE replies, through CommandString15 outputs 1 to 8 | Source Selectors WLX1Type, WLX2Type (logic inputs 1 to 4) | Pick HH - 7, Lav - 7, Boundary - 7 or Goose - 7 for each mic. Their logic outputs light the 8-channel Logic Meter. |
TEC-X Volume Up and Down, through Wlx1Ramp, Wlx2Ramp, MicRamp, USBRamp | Level blocks Wireless 1, Wireless 2, Mic Mix, USB Rx (+1 and −1 inputs) | Ramp the four levels feeding Matrix Mixer inputs 2 to 5 while a button is held |
| TEC-X Mute buttons | The same four Level blocks | Write the mute attribute directly |
| Screen Up and Down Pulses, through an OR per screen | "Logic VIA": Tone Generator, Mute, Signal Present Meter | Audio blocks used as a logic path; after a 250 ms Logic Delay they set the screen selector back to idle |
| None | Diagnostics custom block: Aux In, Tone or Noise into Matrix Mixer input 1 | Chosen by hand in Tesira; no button or logic drives it |
Each mic feeds all four EQ presets at once: HH - 7, Lav - 7, Boundary - 7, Goose - 7. The Source Selector (WLX1Type, WLX2Type) passes one of them, chosen by logic from the Shure ULXD4D's TX_TYPE report. A Peak Meter taps both mics straight off Dante.
These four Level blocks are what the TEC-X Volume Up, Volume Down and Mute buttons drive, through the ramp Logic States Wlx1Ramp, Wlx2Ramp, MicRamp and USBRamp.
The DIAG input comes from a Diagnostics custom block: a 3-input Source Selector choosing Aux In, a Tone Generator or a Noise Generator. Crosspoint levels and on/off states are runtime settings that couldn't be read reliably from the file, so check them in the Matrix Mixer dialog.
The AEC Ref after the limiter is the far-end reference for the AEC block, so it hears exactly what the room speakers play. An RMS Meter watches this output.
An RMS Meter watches this send too.
Each lane shows Projector 1 and Projector 2 together; the P1 and P2 blocks are wired identically. Lanes 4, 6 and 9 run right to left: they carry replies and status back into the design.
The Splash page's single button starts RmPowerOn and opens Home. The Confirm page's Power Off starts RmPowerOff and returns to Splash. Each is a one-step Logic Sequence (500 ms on, 500 ms off) whose output goes through a Fan-In OR Pulse to start both projectors' sequences at once.
Power Up Sequence: step 1 lowers the screen at once, step 2 sends PWR ON 1 s in, step 3 sends SOURCE 30 (HDMI 1) 34 s in, after the L260F's 30 s warm-up (steps of 500/500, 500/32,500 and 500/500 ms). Power Off Sequence: step 1 raises the screen, step 2 sends PWR OFF 1 s in, step 3 sends it again 36.5 s in (500/500, 500/35,000, 500/500 ms). Steps 2 and 3 meet at an OR Gate, because the L260F ignores PWR OFF during warm-up. A custom block of two Fan-In OR Pulses turns each step into a single command trigger. The projector pages' Power button is a latch: showing "Power Off" it starts the Up sequence; showing "Power On" it starts the Off sequence.
The init Logic State is saved on, so at boot it fires a Fan-In OR Pulse. That pulse also triggers the ULXD4D query (lane 8), and 250 ms later starts both Polling Sequences. Each has five steps of 500 ms on and 3,000 ms off and repeats indefinitely, so a projector is asked one question every 3.5 s and gets a full pass every 17.5 s. On connect, each projector block first sends the Epson handshake ESC/VP.net from its Connection Sequence.
Each reply that matches a pattern pulses a logic output into one of five Logic Selectors: POWER (standby, normal, warm, cool, abnormal), A/V MUTE, FREEZE, SOURCE (eleven inputs) and ERROR. Their outputs light a 19-indicator Logic Meter per projector. A PWR=05 (abnormal) reply also sends ERR? straight away. In standby the L260F answers only the power query, so the mute, freeze and source indicators hold their last values.
P1Screen is a three-state Logic Selector: 1 Down, 2 Up, 3 idle. Screen Down sets state 1 and Screen Up sets state 2; the power sequences drive inputs 1 and 2 the same way. The Down output pulses Logic Output 1 channel 1, and the Up output pulses channel 2.
A Logic Selector only pulses when its state changes, so a second press of the same button would do nothing. After every move, an OR feeds the "Logic VIA" custom block: the logic drives a mute on a tone, a signal-present meter turns the tone back into logic, and a 250 ms Logic Delay sets the selector to state 3 (idle). The same pulses also set a Screen State selector, which lights the Screen Status meter.
Both are two-state Logic Selectors: state 1 Off, state 2 On. The button sends the opposite of what it shows, so "Video Mute Off" sets state 2 and sends MUTE ON. If the selector is already in that state nothing is sent.
CommandString15 sends < GET 0 TX_TYPE > three ways: from its Connection Sequence when it connects, from the boot pulse on its INIT input, and whenever the receiver reports TX_MUTE_BUTTON_STATUS RELEASED (response 9 sends command 1). So releasing a transmitter's mute button re-checks both channels.
Patterns ?LXD2, ?LXD1, ?LXD6 and ?LXD8 match handheld, bodypack, boundary and gooseneck transmitters; the ? wildcard also covers QLX-D. Outputs 1 to 4 drive channel 1's Source Selector and outputs 5 to 8 drive channel 2's, picking HH - 7, Lav - 7, Boundary - 7 or Goose - 7. A transmitter that matches nothing leaves the last preset in place. An 8-channel Logic Meter shows the current choice.
Each ramp (Wlx1Ramp, Wlx2Ramp, MicRamp, USBRamp) is a two-channel Logic State. Volume Up sets channel 1 on press and hold and clears it on release; Volume Down does the same on channel 2. Channel 1 drives the Level block's +1 input and channel 2 its −1 input, so the level moves only while a button is held. Mute writes the Level block's mute attribute directly, with no logic in between.
Arrows are the Page Flip links. Every page below Home also has a Back or Home button that returns one level up. Confirm's Power Off ends at Splash; its Go Back returns to Home.
| Page | Button | Type | What it sends | Result | Goes to |
|---|---|---|---|---|---|
| Splash | Press to Start Projectors turn on and screens lower | Momentary | Press: RmPowerOn startSequence | Room Power On: starts both projectors' Power Up Sequences | Home |
| Home | Projector Controls | Momentary | Nothing | Page change only | Projector Controls |
| Home | Audio Controls | Momentary | Nothing | Page change only | Audio Controls |
| Home | Power Room Off | Momentary | Nothing | Page change only | Confirm |
| Projector Controls | Home | Momentary | Nothing | Page change only | Home |
| Projector Controls | Projector 1 Controls | Momentary | Nothing | Page change only | Projector 1 |
| Projector Controls | Projector 2 Controls | Momentary | Nothing | Page change only | Projector 2 |
| Projector 1 | Back | Momentary | Nothing | Page change only | Projector Controls |
| Projector 1 | Power Off / Power On | Latch | Showing "Power Off": P1PowerUp startSequenceShowing "Power On": P1PowerDwn startSequence | Projector 1 Power Up Sequence: screen down, PWR ON, then HDMI 1 Projector 1 Power Off Sequence: screen up, PWR OFF, then a PWR OFF retry | |
| Projector 1 | Screen Up | Momentary | Press: P1Screen set state 2 true | Screen 1 up: Logic Output 1, channel 2 | |
| Projector 1 | Screen Down | Momentary | Press: P1Screen set state 1 true | Screen 1 down: Logic Output 1, channel 1 | |
| Projector 1 | Freeze Off / Freeze On | Latch | Showing "Freeze Off": P1Freeze set state 2 trueShowing "Freeze On": P1Freeze set state 1 true | Sends FREEZE ON to Projector 1 Sends FREEZE OFF to Projector 1 | |
| Projector 1 | Video Mute Off / Video Mute On | Latch | Showing "Video Mute Off": P1AVMute set state 2 trueShowing "Video Mute On": P1AVMute set state 1 true | Sends MUTE ON to Projector 1 Sends MUTE OFF to Projector 1 | |
| Projector 2 | Back | Momentary | Nothing | Page change only | Projector Controls |
| Projector 2 | Power Off / Power On | Latch | Showing "Power Off": P2PowerUp startSequenceShowing "Power On": P2PowerDwn startSequence | Projector 2 Power Up Sequence: screen down, PWR ON, then HDMI 1 Projector 2 Power Off Sequence: screen up, PWR OFF, then a PWR OFF retry | |
| Projector 2 | Screen Up | Momentary | Press: P2Screen set state 2 true | Screen 2 up: Logic Output 2, channel 2 | |
| Projector 2 | Screen Down | Momentary | Press: P2Screen set state 1 true | Screen 2 down: Logic Output 2, channel 1 | |
| Projector 2 | Freeze Off / Freeze On | Latch | Showing "Freeze Off": P2Freeze set state 2 trueShowing "Freeze On": P2Freeze set state 1 true | Sends FREEZE ON to Projector 2 Sends FREEZE OFF to Projector 2 | |
| Projector 2 | Video Mute Off / Video Mute On | Latch | Showing "Video Mute Off": P2AVMute set state 2 trueShowing "Video Mute On": P2AVMute set state 1 true | Sends MUTE ON to Projector 2 Sends MUTE OFF to Projector 2 | |
| Audio Controls | Home | Momentary | Nothing | Page change only | Home |
| Audio Controls | Microphone Controls | Momentary | Nothing | Page change only | Microphone Controls |
| Audio Controls | Level Controls | Momentary | Nothing | Page change only | Level Controls |
| Microphone Controls | Back | Momentary | Nothing | Page change only | Audio Controls |
| Microphone Controls | Wireless 1 | Momentary | Nothing | Page change only | Wireless 1 |
| Microphone Controls | Wireless 2 | Momentary | Nothing | Page change only | Wireless 2 |
| Wireless 1 | Back | Momentary | Nothing | Page change only | Microphone Controls |
| Wireless 1 | Volume Up | Momentary | Press: Wlx1Ramp set state 1 trueHold: Wlx1Ramp set state 1 trueRelease: Wlx1Ramp set state 1 false | Starts ramping Wireless 1 up Stops ramping Wireless 1 up | |
| Wireless 1 | Unmuted / Muted | Latch | Showing "Unmuted": Wlx1Level set mute 1 trueShowing "Muted": Wlx1Level set mute 1 false | Mutes Wireless 1 Unmutes Wireless 1 | |
| Wireless 1 | Volume Down | Momentary | Press: Wlx1Ramp set state 2 trueHold: Wlx1Ramp set state 2 trueRelease: Wlx1Ramp set state 2 false | Starts ramping Wireless 1 down Stops ramping Wireless 1 down | |
| Wireless 2 | Back | Momentary | Nothing | Page change only | Microphone Controls |
| Wireless 2 | Volume Up | Momentary | Press: Wlx2Ramp set state 1 trueHold: Wlx2Ramp set state 1 trueRelease: Wlx2Ramp set state 1 false | Starts ramping Wireless 2 up Stops ramping Wireless 2 up | |
| Wireless 2 | Unmuted / Muted | Latch | Showing "Unmuted": Wlx2Level set mute 1 trueShowing "Muted": Wlx2Level set mute 1 false | Mutes Wireless 2 Unmutes Wireless 2 | |
| Wireless 2 | Volume Down | Momentary | Press: Wlx2Ramp set state 2 trueHold: Wlx2Ramp set state 2 trueRelease: Wlx2Ramp set state 2 false | Starts ramping Wireless 2 down Stops ramping Wireless 2 down | |
| Level Controls | Back | Momentary | Nothing | Page change only | Audio Controls |
| Level Controls | Microphone Mix | Momentary | Nothing | Page change only | Microphone Mix |
| Level Controls | USB Audio | Momentary | Nothing | Page change only | USB Audio |
| Microphone Mix | Back | Momentary | Nothing | Page change only | Level Controls |
| Microphone Mix | Volume Up | Momentary | Press: MicRamp set state 1 trueHold: MicRamp set state 1 trueRelease: MicRamp set state 1 false | Starts ramping Mic Mix up Stops ramping Mic Mix up | |
| Microphone Mix | Unmuted / Muted | Latch | Showing "Unmuted": MicLevel set mute 1 trueShowing "Muted": MicLevel set mute 1 false | Mutes Mic Mix Unmutes Mic Mix | |
| Microphone Mix | Volume Down | Momentary | Press: MicRamp set state 2 trueHold: MicRamp set state 2 trueRelease: MicRamp set state 2 false | Starts ramping Mic Mix down Stops ramping Mic Mix down | |
| USB Audio | Back | Momentary | Nothing | Page change only | Level Controls |
| USB Audio | Volume Up | Momentary | Press: USBRamp set state 1 trueHold: USBRamp set state 1 trueRelease: USBRamp set state 1 false | Starts ramping USB Rx up Stops ramping USB Rx up | |
| USB Audio | Unmuted / Muted | Latch | Showing "Unmuted": USBLevel set mute 1 trueShowing "Muted": USBLevel set mute 1 false | Mutes USB Rx Unmutes USB Rx | |
| USB Audio | Volume Down | Momentary | Press: USBRamp set state 2 trueHold: USBRamp set state 2 trueRelease: USBRamp set state 2 false | Starts ramping USB Rx down Stops ramping USB Rx down | |
| Confirm | Power Off | Momentary | Press: RmPowerOff startSequence | Room Power Off: starts both projectors' Power Off Sequences | Splash |
| Confirm | (blank spacer) | Momentary | Nothing | No action | |
| Confirm | Go Back | Momentary | Nothing | Page change only | Home |
Commands are shown exactly as stored in the TEC-X block. A latch button sends the action stored with the state it is showing, then switches to the other state.
| Projector command | String | Sent by |
|---|---|---|
| 1 Power Query | PWR?~0D | Polling step 1 |
| 2 Power Off | PWR OFF~0D | Power Off Sequence, steps 2 and 3 |
| 3 Power On | PWR ON~0D | Power Up Sequence, step 2 |
| 4 A/V Mute Query | MUTE?~0D | Polling step 2 |
| 5 A/V Mute Off | MUTE OFF~0D | AV Mute selector, state 1 |
| 6 A/V Mute On | MUTE ON~0D | AV Mute selector, state 2 |
| 7 Freeze Query | FREEZE?~0D | Polling step 3 |
| 8 Freeze Off | FREEZE OFF~0D | Freeze selector, state 1 |
| 9 Freeze On | FREEZE ON~0D | Freeze selector, state 2 |
| 10 Source Query | SOURCE?~0D | Polling step 4 |
| 11 Source HDMI 1 | SOURCE 30~0D | Power Up Sequence, step 3 |
| 12 Source HDMI 2 | SOURCE A0~0D | Not wired |
| 13 Error Query | ERR?~0D | Polling step 5, and a PWR=05 reply |
| Projector reply | Logic output | Selector input |
|---|---|---|
PWR=00, 04, 09 | 1 | POWER: standby |
PWR=01 | 2 | POWER: normal |
PWR=02 | 3 | POWER: warm |
PWR=03 | 4 | POWER: cool |
PWR=05 | 5 | POWER: abnormal (also sends ERR?) |
MUTE=OFF, MUTE=ON | 6, 7 | A/V MUTE |
FREEZE=OFF, FREEZE=ON | 8, 9 | FREEZE |
SOURCE=30, A0, 10, 20, 41, 51, 52, 53, 56, 59, 58 | 10 to 20 | SOURCE: HDMI 1, HDMI 2, Comp 1, Comp 2, Video, USB Display, USB, LAN, Mirroring 1, Mirroring 2, Spotlight |
ERR=00 | 21 | ERROR: none |
ERR=01, 04, 06, FF | 22 | ERROR: error |
ULXD4D (CommandString15) | Pattern | Result |
|---|---|---|
| Command 1, TX MODEL GET | < GET 0 TX_TYPE > | Asks both channels for their transmitter type |
| Responses 1 to 4 | *< REP 1 TX_TYPE ?LXD2 >, ?LXD1, ?LXD6, ?LXD8 | Outputs 1 to 4: WLX1Type picks HH - 7, Lav - 7, Boundary - 7 or Goose - 7 |
| Responses 5 to 8 | *< REP 2 TX_TYPE ?LXD2 >, ?LXD1, ?LXD6, ?LXD8 | Outputs 5 to 8: WLX2Type, same four presets |
| Response 9 | *< REP ? TX_MUTE_BUTTON_STATUS RELEASED > | Sends command 1 again |
Projector 1 uses ProjectorNCS1 and Projector 2 uses CommandString17; both have the same 13 commands and 27 response patterns, on TCP port 3629. The ULXD4D block uses TCP port 2202.
| Block type | Instance tags | Job |
|---|---|---|
| Logic Sequence | RmPowerOn, RmPowerOff | Room power, one step each |
| Logic Sequence | P1PowerUp, P2PowerUp, P1PowerDwn, P2PowerDwn | Projector power, three steps each |
| Logic Sequence | P1Poll, P2Poll | Status polling, five steps, repeats |
| Logic Selector | P1Screen, P2Screen | Screen control: Down, Up, idle |
| Logic Selector | P1AVMute, P2AVMute, P1Freeze, P2Freeze | Video mute and freeze: Off, On |
| Logic Selector | POWER, A/V MUTE, FREEZE, SOURCE, ERROR per projector; Screen State per screen | Turn replies and screen moves into status |
| Logic State | Wlx1Ramp, Wlx2Ramp, MicRamp, USBRamp | Volume ramps: channel 1 up, channel 2 down |
| Logic State | init | Saved on; fires once at boot |
| Fan-In OR Pulse | Up Pulse, Down Pulse, Power Both On, Power Both Off, boot pulse, and pairs inside the pulse custom blocks | Turn a state change into one short trigger |
| OR | Logic1, Logic2; OR Gates Logic3, Logic4 | Screen re-arm trigger; PWR OFF plus its retry |
| Logic Delay | LogicDelay1, LogicDelay2, LogicDelay3 | 250 ms: screen re-arm and polling start |
| Custom block | "Logic VIA" (one per screen) | Tone, mute and signal-present meter that re-arm the screen selector |
| Custom block | Pulse blocks (three per projector) | Two Fan-In OR Pulses each, for power, A/V mute and freeze |
| Command String | ProjectorNCS1, CommandString17, CommandString15 | Projector 1, Projector 2, ULXD4D |
| Logic Output | LogicOutput1, LogicOutput2 | Screen relays: channel 1 Down, channel 2 Up |
| Logic Meter | Projector Status ×2, Screen Status ×2, Logic Meter 8 Channel | Status shown in Tesira |
| Stage | Block | Instance tag | Feeds |
|---|
Instance tags are the names to use for TTP and for TEC-X actions. Blocks without a custom tag keep Tesira's default name, such as Aec1 or Mixer2.