Compare commits

...

4 Commits

Author SHA1 Message Date
Nikolay Puzanov
37b7a54d3b Visual improvements 2022-12-07 17:55:21 +03:00
Nikolay Puzanov
01c982fada Fix parsing canvas width 2022-12-07 17:54:50 +03:00
Nikolay Puzanov
931f4d8aa4 Fix signals sorting (put clock on the top) 2022-12-07 17:53:50 +03:00
Nikolay Puzanov
90905544d4 Upcase signal values 2022-12-07 17:53:17 +03:00
2 changed files with 33 additions and 28 deletions

View File

@ -15,7 +15,13 @@
body { body {
padding: 3px; padding: 3px;
font-size: 14px; font-family: 'JetBrains Mono', monospace;
font-size: 10pt;
}
pre {
font-family: 'JetBrains Mono', monospace;
font-size: 10pt;
} }
#buttons { #buttons {
@ -43,11 +49,6 @@
button span.text { padding: 4px; } button span.text { padding: 4px; }
#text {
font-family: 'JetBrains Mono', monospace;
font-size: inherit;
}
#editor { #editor {
height: 75vh; height: 75vh;
width: 100%; width: 100%;
@ -70,6 +71,12 @@
shape-rendering: crispEdges; shape-rendering: crispEdges;
} }
svg text {
font-family: 'JetBrains Mono', monospace;
font-size: 10pt;
fill: white;
}
svg #wave-signals { svg #wave-signals {
stroke: #00fcff; stroke: #00fcff;
stroke-width: 1; stroke-width: 1;
@ -77,20 +84,18 @@
svg #wave-clock { svg #wave-clock {
stroke: #fffe9a; stroke: #fffe9a;
font-size: 8pt;
stroke-width: 1; stroke-width: 1;
} }
svg #wave-signals text { font-size: 8pt; }
svg #wave-clock text { font-size: 8pt; }
svg #wave-delim { svg #wave-delim {
stroke: #d0d0d0; stroke: #d0d0d0;
stroke-width: 2; stroke-width: 2;
} }
svg text {
font-family: 'JetBrains Mono', monospace;
font-size: 14px;
fill: white;
}
svg #wave-background { fill: #1e2426; } svg #wave-background { fill: #1e2426; }
@media (orientation: landscape) and (not (pointer: coarse)) { @media (orientation: landscape) and (not (pointer: coarse)) {

View File

@ -304,10 +304,10 @@
(- x1 x0 (* data-hw 2)) (- x1 x0 (* data-hw 2))
(- y1 y0)) (- y1 y0))
(format-inex "<text x=\"~a\" y=\"~a\">" 0 text-position) (format-inex "<text x=\"~a\" y=\"~a\">" 0 text-position)
(if (or (eq? sig-type 'real)
(< sig-width 4))
value
(string-upcase (string-upcase
(if (or (eq? sig-type 'real)
(<= sig-width 4))
value
(vcd-binary->hex value #t))) (vcd-binary->hex value #t)))
"</text></svg>")))) "</text></svg>"))))
@ -334,7 +334,7 @@
;;; ;;;
(define* (vcd->svg vcd width #:key (define* (vcd->svg vcd width #:key
(signal-height 15) (signal-height 15)
(signal-text-position 13) (signal-text-position 12)
(margin 5) (margin 5)
(signal-spacing 5) (signal-spacing 5)
(legend-width 100) (legend-width 100)
@ -343,10 +343,9 @@
(let ((tstart (apply min (vcd-timestamps vcd))) (let ((tstart (apply min (vcd-timestamps vcd)))
(tend (apply max (vcd-timestamps vcd))) (tend (apply max (vcd-timestamps vcd)))
(signals (sort (signals (sort
(remove (vcd-signals vcd)
(lambda (sig) (< (length (vcd-signal-scope sig)) 2))
(vcd-signals vcd))
(lambda (a b) (lambda (a b)
(and (not (equal? (vcd-signal-name b) "clock"))
(or (or
(and (equal? (vcd-signal-name a) "clock") (and (equal? (vcd-signal-name a) "clock")
(not (equal? (vcd-signal-name b) "clock"))) (not (equal? (vcd-signal-name b) "clock")))
@ -355,7 +354,7 @@
(length (vcd-signal-scope b))) (length (vcd-signal-scope b)))
(string-ci<? (vcd-signal-name a) (string-ci<? (vcd-signal-name a)
(vcd-signal-name b))))))) (vcd-signal-name b))))))))
(if (<= tend tstart) (if (<= tend tstart)
'() '()
@ -911,7 +910,8 @@
(let ((canvas-width (let ((canvas-width
(let ((v (assoc "width" query))) (let ((v (assoc "width" query)))
(and v (string->number (cadr v)) DEFAULT-CANVAS-WIDTH)))) (or (and v (string->number (cadr v)))
DEFAULT-CANVAS-WIDTH))))
(make-response (make-response
(make-log-html log vcd canvas-width) (make-log-html log vcd canvas-width)
#:content-type 'text/plain))))) #:content-type 'text/plain)))))