diff options
author | Thomas White <taw@bitwiz.me.uk> | 2021-01-09 12:13:24 +0100 |
---|---|---|
committer | Thomas White <taw@bitwiz.me.uk> | 2021-01-09 12:13:24 +0100 |
commit | 95075434e0d9d44c9761b458fb41456764a34f31 (patch) | |
tree | c0a48d686f777daafc6457f88ab8386bc203c840 /guile/starlet | |
parent | 3d4cdbf5bd80883e38a43db85595f20befec773d (diff) |
Cap values at maximum
Diffstat (limited to 'guile/starlet')
-rw-r--r-- | guile/starlet/base.scm | 10 |
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)))) |