-
Notifications
You must be signed in to change notification settings - Fork 52
/
Copy pathheart-beat-sensor-element.ts
191 lines (189 loc) · 8.86 KB
/
heart-beat-sensor-element.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
import { html, LitElement } from 'lit';
import { customElement } from 'lit/decorators.js';
import { ElementPin, GND, VCC } from './pin';
@customElement('wokwi-heart-beat-sensor')
export class HeartBeatSensorElement extends LitElement {
readonly pinInfo: ElementPin[] = [
{ name: 'GND', y: 17.8, x: 87, number: 1, signals: [GND()] },
{ name: 'VCC', y: 27.5, x: 87, number: 2, signals: [VCC()] },
{ name: 'OUT', y: 37.5, x: 87, number: 3, signals: [] },
];
render() {
return html`
<svg
width="23.4mm"
height="20.943mm"
version="1.1"
viewBox="0 0 88.4 79.2"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="m71.2 0h-71.2v55.6h71.2zm-62.6 41.4c2.65 0 4.79 2.15 4.79 4.79 0 2.64-2.15 4.79-4.79 4.79-2.64 0-4.79-2.15-4.79-4.79 0-2.65 2.15-4.79 4.79-4.79zm0-36.7c2.65 0 4.79 2.15 4.79 4.79 0 2.64-2.15 4.79-4.79 4.79-2.64 0-4.79-2.15-4.79-4.79 0-2.65 2.15-4.79 4.79-4.79z"
fill="#19365e"
/>
<g transform="rotate(-90 31 151)">
<text
x="132.20599"
y="184.995"
fill="#fffefe"
font-family="sans-serif"
font-size="10.3px"
>
s
</text>
</g>
<circle cx="22.6" cy="46.9" r="3.23" fill="#bbb9b9" />
<circle cx="33.4" cy="46.9" r="3.23" fill="#bbb9b9" />
<path d="m57.5 13.5v28.6h8.39v-28.6z" fill="none" stroke="#fff" stroke-width=".9px" />
<g fill="#29261c">
<path d="m58.4 34.2v6.55h6.55v-6.55z" />
<path d="m58.4 24.5v6.55h6.55v-6.55z" />
<path d="m58.4 14.8v6.56h6.55v-6.56z" />
</g>
<g fill="#9f9f9f">
<path
d="m61.9 36.1c-0.382 0-0.748 0.152-1.02 0.422s-0.422 0.637-0.422 1.02 0.152 0.748 0.422 1.02c0.27 0.27 0.636 0.422 1.02 0.422h26.1c0.234 0 0.423-0.19 0.423-0.424v-2.04c0-0.233-0.189-0.423-0.423-0.423h-26.1z"
/>
<path
d="m61.9 26.3c-0.382 0-0.748 0.152-1.02 0.422s-0.422 0.637-0.422 1.02 0.152 0.748 0.422 1.02c0.27 0.27 0.636 0.422 1.02 0.422h26.1c0.234 0 0.423-0.19 0.423-0.424v-2.04c0-0.233-0.189-0.423-0.423-0.423h-26.1z"
/>
<path
d="m61.9 16.6c-0.382 0-0.748 0.152-1.02 0.422s-0.422 0.636-0.422 1.02v1e-3c0 0.382 0.152 0.748 0.422 1.02s0.636 0.422 1.02 0.422h26.1c0.234 0 0.423-0.189 0.423-0.423v-2.04c0-0.234-0.189-0.423-0.423-0.423h-26.1z"
/>
</g>
<g
transform="translate(-6.88 -4.2)"
fill="#0e0f0d"
stroke="#bbb9b9"
stroke-linejoin="miter"
stroke-width="1.83px"
>
<circle cx="29.8" cy="22.6" r="2.59" />
<circle cx="29.8" cy="12.2" r="2.59" />
<circle cx="29.8" cy="41.3" r="2.59" />
<circle cx="39.9" cy="22.6" r="2.59" />
<circle cx="39.9" cy="12.2" r="2.59" />
<circle cx="39.9" cy="41.3" r="2.59" />
</g>
<circle
cx="8.58"
cy="9.42"
r="4.79"
fill="none"
stroke="#bbb9b9"
stroke-linejoin="miter"
stroke-width="1.1px"
/>
<circle
cx="8.58"
cy="46.2"
r="4.79"
fill="none"
stroke="#bbb9b9"
stroke-linejoin="miter"
stroke-width="1.1px"
/>
<g transform="translate(-6.88 -4.2)">
<rect x="26.5" y="59.8" width="16.4" height="20.9" fill="#d3d9de" />
<circle cx="34.8" cy="64.3" r="2.37" fill="#a8b2c8" />
<path
d="m40.7 62.8h-2.75v19.2c0 0.364 0.145 0.713 0.403 0.971 0.257 0.258 0.607 0.402 0.971 0.402h1e-3c0.364 0 0.714-0.144 0.971-0.402 0.258-0.258 0.403-0.607 0.403-0.971v-19.2z"
fill="#b9c5de"
/>
<rect x="37.9" y="62.8" width="2.75" height="17.9" fill="#a8b2c8" />
<path
d="m32.4 69.5h-2.75v12.5c0 0.364 0.145 0.713 0.402 0.971 0.258 0.258 0.607 0.402 0.972 0.402s0.714-0.144 0.972-0.402c0.257-0.258 0.402-0.607 0.402-0.971v-12.5z"
fill="#b9c5de"
/>
<g fill="#a8b2c8">
<rect x="29.6" y="69.5" width="2.75" height="11.2" />
<path
d="m35.5 72.2c0.142 0 0.277-0.056 0.377-0.156 0.101-0.1 0.157-0.236 0.157-0.377v-1.68c0-0.142-0.056-0.277-0.157-0.377-0.1-0.1-0.235-0.157-0.377-0.157h-3.97c-0.364 0-0.714 0.145-0.971 0.403-0.258 0.257-0.403 0.607-0.403 0.971v1e-3c0 0.364 0.145 0.713 0.403 0.971 0.257 0.258 0.607 0.402 0.971 0.402h3.97z"
/>
<path
d="m38.8 65.5c0.141 0 0.277-0.056 0.377-0.156s0.157-0.236 0.157-0.377v-1.68c0-0.142-0.057-0.277-0.157-0.377-0.1-0.101-0.236-0.157-0.377-0.157h-3.97c-0.364 0-0.714 0.145-0.972 0.403-0.257 0.257-0.402 0.607-0.402 0.971v1e-3c0 0.364 0.145 0.713 0.402 0.971 0.258 0.258 0.608 0.402 0.972 0.402h3.97z"
/>
</g>
</g>
<path
d="m31.8 15h2.49v-6.79c0-0.33-0.131-0.647-0.365-0.88-0.233-0.234-0.55-0.365-0.88-0.365h-1e-3c-0.33 0-0.647 0.131-0.88 0.365-0.234 0.233-0.365 0.55-0.365 0.88z"
fill="#d2d2d2"
/>
<path
d="m21.7 15h2.49v-6.79c0-0.33-0.131-0.647-0.365-0.88-0.233-0.234-0.55-0.365-0.88-0.365h-1e-3c-0.33 0-0.647 0.131-0.88 0.365-0.234 0.233-0.365 0.55-0.365 0.88z"
fill="#d2d2d2"
/>
<g transform="translate(-6.88 -4.2)">
<rect x="47" y="29.2" width="13.4" height="4.43" fill="#bbb9b9" />
<rect x="50.3" y="29" width="6.77" height="4.74" fill="#29261c" />
</g>
<g transform="translate(-6.88 -4.2)">
<rect x="47" y="20" width="13.4" height="4.43" fill="#bbb9b9" />
<rect x="50.3" y="19.9" width="6.77" height="4.74" fill="#29261c" />
</g>
<path
d="m38.9 23.3h15.9v7.76h-15.9z"
fill="none"
stroke="#fff"
stroke-linejoin="miter"
stroke-width=".6px"
/>
<path
d="m38.9 14.1h15.9v7.76h-15.9z"
fill="none"
stroke="#fff"
stroke-linejoin="miter"
stroke-width=".6px"
/>
<path
d="m37.4 15.4h-19v19.1c0 5.24 4.24 9.48 9.48 9.48 5.24 0 9.48-4.24 9.48-9.48z"
fill="#fdfefe"
/>
<clipPath id="c">
<path d="m44.3 19.6h-19v19.1c0 5.24 4.24 9.48 9.48 9.48 5.24 0 9.48-4.24 9.48-9.48z" />
</clipPath>
<g transform="translate(-6.88 -4.2)" clip-path="url(#c)">
<path
d="m30.6 18.1c0 8.12-1.48 16.2-0.263 24.3 0.388 2.58 1.14 4.94 2.59 7.11 0.478 0.718 0.956 1.5 1.51 2.16 0.201 0.236 0.416 0.375 0.672 0.529 0.102 0.061 0.438 0.157 0.319 0.157-3.1 0-5.53-2.5-7.49-4.64-4.21-4.59-5.36-8.3-5.88-14.5-0.078-0.921-0.402-1.9-0.353-2.81 0.073-1.36 0.578-2.79 0.921-4.11 0.564-2.16 1.08-4.18 2.51-5.92 0.417-0.508 0.545-1.27 1.08-1.69 0.624-0.494 2.43-0.722 3.1-0.28 0.189 0.124 0.829 0.279 0.829 0.56"
fill="#fff"
/>
</g>
<path
d="m35.4 15.4h-15v18.8c0 1.98 0.789 3.89 2.19 5.29 1.4 1.4 3.31 2.19 5.29 2.19s3.89-0.788 5.29-2.19c1.4-1.4 2.19-3.31 2.19-5.29z"
fill="#d5d5d5"
/>
<clipPath id="b">
<path
d="m42.3 19.6h-15v18.8c0 1.98 0.789 3.89 2.19 5.29 1.4 1.4 3.31 2.19 5.29 2.19s3.89-0.788 5.29-2.19c1.4-1.4 2.19-3.31 2.19-5.29z"
/>
</clipPath>
<g transform="translate(-6.88 -4.2)" clip-path="url(#b)">
<g fill="#b1b1b1">
<path d="m31.4 29.6v-10h-3.02v13.7h12.9l-3.67-3.65z" />
<path d="m41.3 30.4-3.18-3.2v-7.56h3.18z" />
</g>
<path
d="m30.6 18.1c0 8.12-1.48 16.2-0.263 24.3 0.388 2.58 1.14 4.94 2.59 7.11 0.478 0.718 0.956 1.5 1.51 2.16 0.201 0.236 0.416 0.375 0.672 0.529 0.102 0.061 0.438 0.157 0.319 0.157-3.1 0-5.53-2.5-7.49-4.64-4.21-4.59-5.36-8.3-5.88-14.5-0.078-0.921-0.402-1.9-0.353-2.81 0.073-1.36 0.578-2.79 0.921-4.11 0.564-2.16 1.08-4.18 2.51-5.92 0.417-0.508 0.545-1.27 1.08-1.69 0.624-0.494 2.43-0.722 3.1-0.28 0.189 0.124 0.829 0.279 0.829 0.56"
fill="#e2e2e2"
/>
<clipPath id="a">
<path
d="m30.6 18.1c0 8.12-1.48 16.2-0.263 24.3 0.388 2.58 1.14 4.94 2.59 7.11 0.478 0.718 0.956 1.5 1.51 2.16 0.201 0.236 0.416 0.375 0.672 0.529 0.102 0.061 0.438 0.157 0.319 0.157-3.1 0-5.53-2.5-7.49-4.64-4.21-4.59-5.36-8.3-5.88-14.5-0.078-0.921-0.402-1.9-0.353-2.81 0.073-1.36 0.578-2.79 0.921-4.11 0.564-2.16 1.08-4.18 2.51-5.92 0.417-0.508 0.545-1.27 1.08-1.69 0.624-0.494 2.43-0.722 3.1-0.28 0.189 0.124 0.829 0.279 0.829 0.56"
/>
</clipPath>
<g clip-path="url(#a)">
<path d="m31.4 29.6v-10h-3.02v13.7h12.9l-3.67-3.65z" fill="#c7c7c7" />
</g>
</g>
<rect x="17.3" y="11.7" width="21.3" height="3.68" fill="#fdfefe" />
<path
d="m64 9.39h-4.68"
fill="none"
stroke="#fffefe"
stroke-linejoin="miter"
stroke-width=".85px"
/>
</svg>
`;
}
}