aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.me.uk>2021-01-09 12:13:24 +0100
committerThomas White <taw@bitwiz.me.uk>2021-01-09 12:13:24 +0100
commit95075434e0d9d44c9761b458fb41456764a34f31 (patch)
treec0a48d686f777daafc6457f88ab8386bc203c840
parent3d4cdbf5bd80883e38a43db85595f20befec773d (diff)
Cap values at maximum
-rw-r--r--guile/starlet/base.scm10
1 files changed, 5 insertions, 5 deletions
diff --git a/guile/starlet/base.scm b/guile/starlet/base.scm
index 0681da8..d3cc94d 100644
--- a/guile/starlet/base.scm
+++ b/guile/starlet/base.scm
@@ -379,14 +379,14 @@
;; Helper function to set 8-bit DMX value
(define (set-chan relative-channel-number value)
- (set-dmx (get-fixture-universe fix)
- (+ (get-fixture-addr fix)
- (- relative-channel-number 1))
- value))
+ (set-dmx (get-fixture-universe fix)
+ (+ (get-fixture-addr fix)
+ (- relative-channel-number 1))
+ value))
;; Helper function to set 16-bit DMX value
(define (set-chan-16bit relative-channel-number value max-value)
- (let ((val16 (* value (/ 65535 max-value))))
+ (let ((val16 (* (min value max-value) (/ 65535 max-value))))
(set-chan relative-channel-number (msb val16))
(set-chan (+ relative-channel-number 1) (lsb val16))))