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

View File

@ -304,10 +304,10 @@
(- x1 x0 (* data-hw 2))
(- y1 y0))
(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)))
"</text></svg>"))))
@ -334,7 +334,7 @@
;;;
(define* (vcd->svg vcd width #:key
(signal-height 15)
(signal-text-position 13)
(signal-text-position 12)
(margin 5)
(signal-spacing 5)
(legend-width 100)
@ -343,19 +343,18 @@
(let ((tstart (apply min (vcd-timestamps vcd)))
(tend (apply max (vcd-timestamps vcd)))
(signals (sort
(remove
(lambda (sig) (< (length (vcd-signal-scope sig)) 2))
(vcd-signals vcd))
(vcd-signals vcd)
(lambda (a b)
(or
(and (equal? (vcd-signal-name a) "clock")
(not (equal? (vcd-signal-name b) "clock")))
(and (not (equal? (vcd-signal-name b) "clock"))
(or
(and (equal? (vcd-signal-name a) "clock")
(not (equal? (vcd-signal-name b) "clock")))
(< (length (vcd-signal-scope a))
(length (vcd-signal-scope b)))
(< (length (vcd-signal-scope a))
(length (vcd-signal-scope b)))
(string-ci<? (vcd-signal-name a)
(vcd-signal-name b)))))))
(string-ci<? (vcd-signal-name a)
(vcd-signal-name b))))))))
(if (<= tend tstart)
'()
@ -911,7 +910,8 @@
(let ((canvas-width
(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-log-html log vcd canvas-width)
#:content-type 'text/plain)))))