YMF262_devboard_Firmware/Tests/FakeGPIO.hpp

22 lines
930 B
C++

#ifndef FAKE_GPIO_HPP
#define FAKE_GPIO_HPP
#include <cstdint>
#include <vector>
#include <string>
#include "GPIO.hpp"
struct FakeGpio {
std::vector<std::string> log;
void set_data_bus(uint8_t val) { log.push_back("data " + std::to_string(val)); }
void set_a0(Port port) { log.push_back(port == Port::ADDRESS ? "a0 ADDR" : "a0 DATA"); }
void set_a1(Bank bank) { log.push_back(bank == Bank::BANK_0 ? "a1 B0" : "a1 B1"); }
void set_cs(State s) { log.push_back(s == State::ACTIVE ? "cs ON" : "cs OFF"); }
void set_wr(State s) { log.push_back(s == State::ACTIVE ? "wr ON" : "wr OFF"); }
void set_ic(State s) { log.push_back(s == State::ACTIVE ? "ic ON" : "ic OFF"); }
void set_rd(State s) { log.push_back(s == State::ACTIVE ? "rd ON" : "rd OFF"); }
void delay_ticks(uint32_t n) { log.push_back("delay " + std::to_string(n)); }
};
#endif