11import { customElement , html , LitElement , property , svg } from 'lit-element' ;
22import { pinsFemalePattern } from './patterns/pins-female' ;
3+ import { analog , ElementPin , i2c , spi , usart } from './pin' ;
34
45@customElement ( 'wokwi-arduino-uno' )
56export class ArduinoUnoElement extends LitElement {
@@ -8,6 +9,40 @@ export class ArduinoUnoElement extends LitElement {
89 @property ( ) ledTX = false ;
910 @property ( ) ledPower = false ;
1011
12+ readonly pinInfo : ElementPin [ ] = [
13+ { name : 'A5.2' , x : 87 , y : 9 , signals : [ analog ( 5 ) , i2c ( 'SCL' ) ] } ,
14+ { name : 'A4.2' , x : 97 , y : 9 , signals : [ analog ( 4 ) , i2c ( 'SDA' ) ] } ,
15+ { name : 'AREF' , x : 106 , y : 9 , signals : [ ] } ,
16+ { name : 'GND.1' , x : 115.5 , y : 9 , signals : [ { type : 'power' , signal : 'GND' } ] } ,
17+ { name : '13' , x : 125 , y : 9 , signals : [ spi ( 'SCK' ) ] } ,
18+ { name : '12' , x : 134.5 , y : 9 , signals : [ spi ( 'MISO' ) ] } ,
19+ { name : '11' , x : 144 , y : 9 , signals : [ spi ( 'MOSI' ) , { type : 'pwm' } ] } ,
20+ { name : '10' , x : 153.5 , y : 9 , signals : [ spi ( 'SS' ) , { type : 'pwm' } ] } ,
21+ { name : '9' , x : 163 , y : 9 , signals : [ { type : 'pwm' } ] } ,
22+ { name : '8' , x : 173 , y : 9 , signals : [ ] } ,
23+ { name : '7' , x : 189 , y : 9 , signals : [ ] } ,
24+ { name : '6' , x : 198.5 , y : 9 , signals : [ { type : 'pwm' } ] } ,
25+ { name : '5' , x : 208 , y : 9 , signals : [ { type : 'pwm' } ] } ,
26+ { name : '4' , x : 217.5 , y : 9 , signals : [ ] } ,
27+ { name : '3' , x : 227 , y : 9 , signals : [ { type : 'pwm' } ] } ,
28+ { name : '2' , x : 236.5 , y : 9 , signals : [ ] } ,
29+ { name : '1' , x : 246 , y : 9 , signals : [ usart ( 'TX' ) ] } ,
30+ { name : '0' , x : 255.5 , y : 9 , signals : [ usart ( 'RX' ) ] } ,
31+ { name : 'IOREF' , x : 131 , y : 191.5 , signals : [ ] } ,
32+ { name : 'RESET' , x : 140.5 , y : 191.5 , signals : [ ] } ,
33+ { name : '3.3V' , x : 150 , y : 191.5 , signals : [ { type : 'power' , signal : 'VCC' , voltage : 3.3 } ] } ,
34+ { name : '5V' , x : 160 , y : 191.5 , signals : [ { type : 'power' , signal : 'VCC' , voltage : 5 } ] } ,
35+ { name : 'GND.2' , x : 169.5 , y : 191.5 , signals : [ { type : 'power' , signal : 'GND' } ] } ,
36+ { name : 'GND.3' , x : 179 , y : 191.5 , signals : [ { type : 'power' , signal : 'GND' } ] } ,
37+ { name : 'VIN' , x : 188.5 , y : 191.5 , signals : [ { type : 'power' , signal : 'VCC' } ] } ,
38+ { name : 'A0' , x : 208 , y : 191.5 , signals : [ analog ( 0 ) ] } ,
39+ { name : 'A1' , x : 217.5 , y : 191.5 , signals : [ analog ( 1 ) ] } ,
40+ { name : 'A2' , x : 227 , y : 191.5 , signals : [ analog ( 2 ) ] } ,
41+ { name : 'A3' , x : 236.5 , y : 191.5 , signals : [ analog ( 3 ) ] } ,
42+ { name : 'A4' , x : 246 , y : 191.5 , signals : [ analog ( 4 ) , i2c ( 'SCL' ) ] } ,
43+ { name : 'A5' , x : 255.5 , y : 191.5 , signals : [ analog ( 5 ) , i2c ( 'SDA' ) ] } ,
44+ ] ;
45+
1146 render ( ) {
1247 const { ledPower, led13, ledRX, ledTX } = this ;
1348 return html `
0 commit comments