| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| # |
| # Svg data for I2C display |
| |
| # constants in svg tag |
| svgtag_consts = """ |
| xmlns="http://www.w3.org/2000/svg" |
| xmlns:xlink="http://www.w3.org/1999/xlink" |
| overflow="hidden" |
| """ |
| |
| # styles |
| svgstyle = """ |
| <style type="text/css"> |
| text { font-size: 11pt; font-style: normal; font-variant: |
| normal; font-weight: bold; font-stretch: normal; |
| text-align: center; text-anchor: middle; fill-opacity: 1; font-family: |
| Helvetica } |
| |
| .tt { |
| text-anchor: start; font-weight: normal; font-size: 10pt; |
| font-family: monospace |
| } |
| |
| .shost { |
| fill: none; |
| stroke: #000; |
| stroke-width: 1; |
| stroke-linecap: round; |
| stroke-linejoin: miter; |
| stroke-miterlimit: 4; |
| stroke-opacity: 1; |
| stroke-dasharray: none |
| } |
| |
| .dash { |
| fill: none; |
| stroke: #000; |
| stroke-width: 1; |
| stroke-linecap: butt; |
| stroke-linejoin: miter; |
| stroke-miterlimit: 4; |
| stroke-opacity: 1; |
| stroke-dasharray: 8; |
| } |
| |
| .sdev { |
| fill: #CCC; |
| stroke: #000; |
| stroke-width: 1; |
| stroke-linecap: round; |
| stroke-linejoin: miter; |
| stroke-miterlimit: 4; |
| stroke-opacity: 1; |
| stroke-dasharray: none |
| } |
| |
| |
| </style> |
| """ |
| |
| # width of the svg |
| svgw = 1000 |
| |
| # svg defs are made with a bit-box 20,40 so set constants based on that |
| bitw = 20 |
| bith = 40 |
| bytew = 160 |
| |
| # text is offset from the top of a bit |
| txty = 25 |
| |
| # formatting: |
| wrap = 880 # the wrap point for long transactions |
| cindent = 60 # the indentation for continuation lines |
| linesep = 50 # separation between lines |
| |
| svg_defs = """ |
| <defs> |
| <g id="start"> |
| <path d="M0,0 h 20 m0,40 h -20 v -40" class="shost" /> |
| <text x="10" y="25">S</text> |
| </g> |
| <g id="pstop"> |
| <path d="M0,0 h 20 v 40 h -20 M0,0" class="shost" /> |
| <text x="10" y="25">P</text> |
| </g> |
| <g id="ackh"> |
| <path d="M0,0 h 20 v 40 h -20 v -40" class="shost" /> |
| <text x="10" y="25">A</text> |
| </g> |
| <g id="ackd"> |
| <path d="M0,0 h 20 v 40 h -20 v -40" class="sdev" /> |
| <text x="10" y="25">A</text> |
| </g> |
| <g id="nackh"> |
| <path d="M0,0 h 20 v 40 h -20 v -40" class="shost" /> |
| <text x="10" y="25">N</text> |
| </g> |
| <g id="nackd"> |
| <path d="M0,0 h 20 v 40 h -20 v -40" class="sdev" /> |
| <text x="10" y="25">N</text> |
| </g> |
| <g id="norackd"> |
| <path d="M0,0 h 20 v 40 h -20 v -40" class="sdev" /> |
| <text x="5" y="15">A/</text> |
| <text x="15" y="35">N</text> |
| </g> |
| <g id="skip"> |
| <path d="M0,0 h 8 l-5,30 l5,-10 l-5,20 h -3 v -40" class="shost" /> |
| <path d="M17,0 h 3 v 40 h -8 l5,-30 l-5,10 l5,-20" class="shost" /> |
| </g> |
| <g id="hbyte"> |
| <path d="M0,0 h 160 m0,40 h -160 v -40" class="shost" /> |
| </g> |
| <g id="dbyte"> |
| <path d="M0,0 h 160 v 40 h -160 v -40" class="sdev" /> |
| </g> |
| <g id="adr0"> |
| <path d="M0,0 h 160 m0,40 h -160 v -40" class="shost" /> |
| <path d="M140,0 v 40" class="dash" /> |
| <text x="80" y="25">Adr</text> |
| <text x="150" y="25">wr</text> |
| </g> |
| <g id="adr1"> |
| <path d="M0,0 h 160 m0,40 h -160 v -40" class="shost" /> |
| <path d="M140,0 v 40" class="dash" /> |
| <text x="80" y="25">Adr</text> |
| <text x="150" y="25">rd</text> |
| </g> |
| <g id="adr2"> |
| <path d="M0,0 h 160 m0,40 h -160 v -40" class="shost" /> |
| <path d="M140,0 v 40" class="dash" /> |
| <text x="80" y="25">Adr</text> |
| <text x="150" y="25">d</text> |
| </g> |
| |
| </defs> |
| """ |