3 epson-driver: Epson Projector Control
This driver was written to control the Epson EB-Z projector series. It does not present all functions of the hardware.
3.1 Command Line Arguments
-r, --rpc-endpoint —
Endpoint to receive commands on. Defaults to tcp://127.0.0.1:46111. -p, --pub-endpoint —
Endpoint to push notifications from. Defaults to tcp://127.0.0.1:46211. -i, --identity —
Identity for both endpoints. Defaults to epson.
Apart from these flags, the epson-driver command expects an address of the device to connect to via its TCP/IP interface. For example:
epson-driver --identity projector-1 10.8.0.21
Would connect to the device and assume the projector-1 identity.
3.2 Command Messages
To request immediate notification about projector status:
(hasheq 'request "status")
To bring projection on-line or off-line respectively.
(hasheq 'request "online!") (hasheq 'request "offline!") To control aspect ratio of projection:
(hasheq 'request "set-aspect!" 'aspect aspect) Valid aspect values are listed below, but not all of them are supported by all projector types:
"normal" —
fit vertically "4:3" —
force 4:3 "16:9" —
force 16:9 "auto" —
useless magic "full" —
deform to fit "zoom" —
fit horizontally "native" —
no scaling
To control freezing of currently projected picture:
(hasheq 'request "set-freeze!" 'freeze? freeze?) In order to freeze the picture, pass #t for freeze?. To cancel, pass #f.
To control blanking of projection (closing a shutter while leaving the lamps running):
(hasheq 'request "set-mute!" 'mute? mute?) In order to blank the picture, pass #t for mute?. To cancel, pass #f.
Note that since the projector closes an actual, physical shutter in order to blank the picture, there is an audible noise to be heard. This means that blanking projector during input switch and similar operations aiming to improve user experience will probably not yield the desired results.
3.3 Published Messages
When the device is running, following status message is published every 5 seconds:
(hasheq 'full (hasheq 'status status 'aspect aspect 'mute? mute? 'freeze? freeze?)) Where aspect is the current aspect ratio (see above), mute? is set to #t when blanking is active, freeze? is set to #t when the picture is frozen, and status represents current power status.
Possible power statuses are:
"offline" —
projector standing by, network off "online" —
projector running, lamp active "warmup" —
projector starting, lamp pending "cooldown" —
projector shutting down, lamp cooling "standby" —
projector standing by, network on "abnormal" —
projector state abnormal "av-standby" —
projector standing by (A/V)
When either aspect, mute? or freeze? changes, partial status update is published immediately:
(hasheq 'delta (hasheq 'aspect aspect)) (hasheq 'delta (hasheq 'freeze? freeze?)) (hasheq 'delta (hasheq 'mute? mute?))