22 lines
930 B
C++
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 |