func (t *Timer) AddTo(em *emulator.Emulator) { t.em = em em.RegisterPortByName(fmt.Sprintf("TCCR%dA", t.digit), tccra{t}) em.RegisterPortByName(fmt.Sprintf("TCCR%dB", t.digit), tccrb{t}) em.RegisterPortByName(fmt.Sprintf("TCNT%d", t.digit), tcnt{t}) em.RegisterPortByName(fmt.Sprintf("OCR%dA", t.digit), ocra{t}) em.RegisterPortByName(fmt.Sprintf("OCR%dB", t.digit), ocrb{t}) em.RegisterPortByName(fmt.Sprintf("TIMSK%d", t.digit), timsk{t}) em.RegisterPortByName(fmt.Sprintf("TIFR%d", t.digit), tifr{t}) }
func (g *GPIO) AddTo(em *emulator.Emulator) { em.RegisterPortByName(fmt.Sprintf("PORT%c", g.letter), port{g}) em.RegisterPortByName(fmt.Sprintf("DDR%c", g.letter), ddr{g}) em.RegisterPortByName(fmt.Sprintf("PIN%c", g.letter), pin{g}) }