/* * Copyright 2020 Daniel Friesel * * SPDX-License-Identifier: BSD-2-Clause */ #ifndef GPIO_H #define GPIO_H #include class GPIO { private: GPIO(const GPIO ©); unsigned int pin_dir, pin_pull, pin_out, pull_dir; #ifdef GPIO_TRACE void print_pinstate() { unsigned int mask = 1; for (unsigned char i=0; i < 32; i++) { if (i == 0) { fputs("▶ LED ", stdout); } else if (i == 8) { fputs(" GPIO ", stdout); } else if (i == 16) { fputs(" ", stdout); } else if (i == 24) { fputs(" ", stdout); } if (pin_dir & mask) { if (pin_out & (1<