From c6ba398335daea46ca33ee000534299dc5e4b6b9 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 26 Jan 2022 20:55:10 +0100 Subject: atmega2560: add missing gpios. herp derp. --- include/arch/atmega2560/driver/gpio.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/include/arch/atmega2560/driver/gpio.h b/include/arch/atmega2560/driver/gpio.h index fa400a1..e6ac43c 100644 --- a/include/arch/atmega2560/driver/gpio.h +++ b/include/arch/atmega2560/driver/gpio.h @@ -168,6 +168,20 @@ class GPIO { DDRC |= _BV(pin - 16); } else if (pin < 32) { DDRD |= _BV(pin - 24); + } else if (pin < 40) { + DDRE |= _BV(pin - 32); + } else if (pin < 48) { + DDRF |= _BV(pin - 40); + } else if (pin < 56) { + DDRG |= _BV(pin - 48); + } else if (pin < 64) { + DDRH |= _BV(pin - 56); + } else if (pin < 72) { + DDRJ |= _BV(pin - 64); + } else if (pin < 80) { + DDRK |= _BV(pin - 72); + } else if (pin < 88) { + DDRL |= _BV(pin - 80); } } inline void output(unsigned char const pin, unsigned char const value) { @@ -183,6 +197,27 @@ class GPIO { } else if (pin < 32) { PORTD = value ? (PORTD | _BV(pin - 24)) : (PORTD & ~_BV(pin - 24)); DDRD |= _BV(pin - 24); + } else if (pin < 40) { + PORTE = value ? (PORTE | _BV(pin - 32)) : (PORTE & ~_BV(pin - 32)); + DDRE |= _BV(pin - 32); + } else if (pin < 48) { + PORTF = value ? (PORTF | _BV(pin - 40)) : (PORTF & ~_BV(pin - 40)); + DDRF |= _BV(pin - 40); + } else if (pin < 56) { + PORTG = value ? (PORTG | _BV(pin - 48)) : (PORTG & ~_BV(pin - 48)); + DDRG |= _BV(pin - 48); + } else if (pin < 64) { + PORTH = value ? (PORTH | _BV(pin - 56)) : (PORTH & ~_BV(pin - 56)); + DDRH |= _BV(pin - 56); + } else if (pin < 72) { + PORTJ = value ? (PORTJ | _BV(pin - 64)) : (PORTJ & ~_BV(pin - 64)); + DDRJ |= _BV(pin - 64); + } else if (pin < 80) { + PORTK = value ? (PORTK | _BV(pin - 72)) : (PORTK & ~_BV(pin - 72)); + DDRK |= _BV(pin - 72); + } else if (pin < 88) { + PORTL = value ? (PORTL | _BV(pin - 80)) : (PORTL & ~_BV(pin - 80)); + DDRL |= _BV(pin - 80); } } inline unsigned char read(unsigned char const pin) { -- cgit v1.2.3