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' ;
33import { ElementPin } from '.' ;
44import { GND , VCC } from './pin' ;
55
66@customElement ( 'wokwi-gas-sensor' )
77export class GasSensorElement extends LitElement {
8+ @property ( ) ledPower = false ;
9+ @property ( ) ledD0 = false ;
10+
811 readonly pinInfo : ElementPin [ ] = [
912 { name : 'AOUT' , y : 16.5 , x : 137 , number : 1 , signals : [ ] } ,
1013 { name : 'DOUT' , y : 26.4 , x : 137 , number : 2 , signals : [ ] } ,
@@ -13,6 +16,7 @@ export class GasSensorElement extends LitElement {
1316 ] ;
1417
1518 render ( ) {
19+ const { ledPower, ledD0 } = this ;
1620 return html `
1721 < svg
1822 width ="36.232mm "
@@ -63,6 +67,48 @@ export class GasSensorElement extends LitElement {
6367 < tspan x ="94.656 " y ="35.911 "> GND</ tspan >
6468 < tspan x ="94.656 " y ="45.696 "> VCC</ tspan >
6569 </ 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 >
66112 </ svg >
67113 ` ;
68114 }
0 commit comments