1
- import { html , LitElement } from 'lit' ;
2
- import { customElement } from 'lit/decorators.js' ;
1
+ import { html , LitElement , svg } from 'lit' ;
2
+ import { customElement , property } from 'lit/decorators.js' ;
3
3
import { ElementPin } from '.' ;
4
4
import { GND , VCC } from './pin' ;
5
5
6
6
@customElement ( 'wokwi-gas-sensor' )
7
7
export class GasSensorElement extends LitElement {
8
+ @property ( ) ledPower = false ;
9
+ @property ( ) ledD0 = false ;
10
+
8
11
readonly pinInfo : ElementPin [ ] = [
9
12
{ name : 'AOUT' , y : 16.5 , x : 137 , number : 1 , signals : [ ] } ,
10
13
{ name : 'DOUT' , y : 26.4 , x : 137 , number : 2 , signals : [ ] } ,
@@ -13,6 +16,7 @@ export class GasSensorElement extends LitElement {
13
16
] ;
14
17
15
18
render ( ) {
19
+ const { ledPower, ledD0 } = this ;
16
20
return html `
17
21
< svg
18
22
width ="36.232mm "
@@ -63,6 +67,48 @@ export class GasSensorElement extends LitElement {
63
67
< tspan x ="94.656 " y ="35.911 "> GND</ tspan >
64
68
< tspan x ="94.656 " y ="45.696 "> VCC</ tspan >
65
69
</ text >
70
+
71
+ <!-- LEDs -->
72
+
73
+ < rect
74
+ style ="opacity:1;fill:#999999;stroke-width:1.5747;paint-order:stroke markers fill "
75
+ id ="rect17 "
76
+ width ="8.5262499 "
77
+ height ="3.8281121 "
78
+ x ="81.321793 "
79
+ y ="5.8179226 "
80
+ />
81
+ < rect
82
+ style ="opacity:1;fill:#e6e6e6;stroke-width:2.05589;paint-order:stroke markers fill "
83
+ id ="rect18 "
84
+ width ="4.8444595 "
85
+ height ="3.8281121 "
86
+ x ="83.162689 "
87
+ y ="5.8179226 "
88
+ />
89
+ ${ ledPower &&
90
+ svg `< circle cx ="85.5 " cy ="8 " r ="1.8 " fill ="#03f704 " filter ="url(#ledFilter) " /> ` }
91
+ < rect
92
+ style ="fill:#999999;stroke-width:1.5747;paint-order:stroke markers fill "
93
+ id ="rect17-9 "
94
+ width ="8.5262499 "
95
+ height ="3.8281121 "
96
+ x ="81.018036 "
97
+ y ="48.700188 "
98
+ />
99
+ < rect
100
+ style ="fill:#e6e6e6;stroke-width:2.05589;paint-order:stroke markers fill "
101
+ id ="rect18-0 "
102
+ width ="4.8444595 "
103
+ height ="3.8281121 "
104
+ x ="82.858932 "
105
+ y ="48.700188 "
106
+ />
107
+ ${ ledD0 && svg `< circle cx ="85 " cy ="50 " r ="1.8 " fill ="#03f704 " filter ="url(#ledFilter) " /> ` }
108
+ < text fill ="#ffffff " font-family ="sans-serif " font-size ="3px ">
109
+ < tspan x ="80.213432 " y ="4.7265162 "> PWR LED</ tspan >
110
+ < tspan x ="80.463821 " y ="55.852409 "> D0 LED</ tspan >
111
+ </ text >
66
112
</ svg >
67
113
` ;
68
114
}
0 commit comments