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