aboutsummaryrefslogtreecommitdiff
path: root/guile
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2022-06-26 21:35:06 +0200
committerThomas White <taw@physics.org>2022-06-26 21:37:17 +0200
commit9f80dbf5c3b8ad17ea2d563e729af1171a3c6d86 (patch)
tree0646e592a6ce0be1067b2a9b24d1d662a8cd84e8 /guile
parent31436be9c2e4fa72d95eacf9c196abc0f9544b31 (diff)
Implement missing strobe channels (including in documentation)
Diffstat (limited to 'guile')
-rw-r--r--guile/starlet/fixture-library/stairville/octagon-theater-cw-ww.scm14
-rw-r--r--guile/starlet/fixture-library/stairville/z120m.scm11
2 files changed, 21 insertions, 4 deletions
diff --git a/guile/starlet/fixture-library/stairville/octagon-theater-cw-ww.scm b/guile/starlet/fixture-library/stairville/octagon-theater-cw-ww.scm
index b42de26..cbabe1e 100644
--- a/guile/starlet/fixture-library/stairville/octagon-theater-cw-ww.scm
+++ b/guile/starlet/fixture-library/stairville/octagon-theater-cw-ww.scm
@@ -30,11 +30,21 @@
(fixture-attributes
(attr-continuous 'intensity '(0 100) 0)
- (attr-continuous 'colour-temperature '(2800 6400) 3200))
+ (attr-continuous 'colour-temperature '(2800 6400) 3200)
+ (attr-list 'strobe '(#f #t) #f)
+ ;; FIXME: Strobe frequency is not stated in manual.
+ ;; I've assumed that "slow" means 1 Hz, "fast" 25 Hz
+ (attr-continuous 'strobe-frequency '(1 25) 1))
(let ((coltemp (get-attr 'colour-temperature)))
(set-chan8 1 (scale-and-clamp-to-range coltemp '(2800 6400) '(0 255)))
(set-chan8 2 (scale-and-clamp-to-range coltemp '(2800 6400) '(255 0))))
- (set-chan8 3 0) ;; Strobe
+ (if (get-attr 'strobe)
+ (set-chan8 3 (scale-and-clamp-to-range
+ (get-attr 'strobe-frequency)
+ '(1 25)
+ '(16 255)))
+ (set-chan8 3 0))
+ (set-chan8 3 0) ;; Strobe
(set-chan8 4 0) ;; Mode (0-15 = direct control)
(set-chan8 5 (percent->dmxval8 (get-attr 'intensity))))
diff --git a/guile/starlet/fixture-library/stairville/z120m.scm b/guile/starlet/fixture-library/stairville/z120m.scm
index 73037ac..60e34b3 100644
--- a/guile/starlet/fixture-library/stairville/z120m.scm
+++ b/guile/starlet/fixture-library/stairville/z120m.scm
@@ -31,12 +31,19 @@
(fixture-attributes
(attr-continuous 'intensity '(0 100) 0)
- (attr-colour 'colour white))
+ (attr-colour 'colour white)
+ (attr-continuous 'strobe-frequency '(1 25) 1)
+ (attr-list 'strobe '(#f #t) #f))
(let ((intensity (get-attr 'intensity))
(rgbw (colour-as-rgbw (get-attr 'colour))))
(set-chan8 1 (percent->dmxval8 intensity))
- (set-chan8 2 255)
+ (if (get-attr 'strobe)
+ (set-chan8 2 (scale-and-clamp-to-range
+ (get-attr 'strobe-frequency)
+ '(1 25)
+ '(106 165)))
+ (set-chan8 2 255))
(set-chan8 3 (percent->dmxval8 (car rgbw)))
(set-chan8 4 (percent->dmxval8 (cadr rgbw)))
(set-chan8 5 (percent->dmxval8 (caddr rgbw)))