29 lines
1.4 KiB
C++
29 lines
1.4 KiB
C++
#pragma once
|
|
#include "IOValues/periphery_io_values.hpp"
|
|
|
|
namespace JabyEngine {
|
|
namespace Periphery_IO {
|
|
struct JOY_STAT_IO : public IOPort<Periphery_IO_Values::JOY_STAT> {
|
|
inline bool has_response() const {
|
|
return this->read().is_set(Periphery_IO_Values::JOY_STAT::RXFifoNonEmpty);
|
|
}
|
|
|
|
inline bool is_ready_transfer() const {
|
|
return this->read().is_set(Periphery_IO_Values::JOY_STAT::TXReadyFinished);
|
|
}
|
|
};
|
|
|
|
using JOY_BAUD_IO = IOPort<Periphery_IO_Values::JOY_BAUD>;
|
|
using JOY_CTRL_IO = IOPort<Periphery_IO_Values::JOY_CTRL>;
|
|
using JOY_MODE_IO = IOPort<Periphery_IO_Values::JOY_MODE>;
|
|
using JOY_RX_DATA_IO = IOPort<Periphery_IO_Values::JOY_RX_DATA>;
|
|
using JOY_TX_DATA_IO = IOPort<Periphery_IO_Values::JOY_TX_DATA>;
|
|
|
|
static auto& JOY_TX_DATA = __declare_io_port(JOY_TX_DATA_IO, 0x1F801040);
|
|
static const auto& JOY_RX_DATA = __declare_io_port(JOY_RX_DATA_IO, 0x1F801040);
|
|
static const auto& JOY_STAT = __declare_io_port(JOY_STAT_IO, 0x1F801044);
|
|
static auto& JOY_MODE = __declare_io_port(JOY_MODE_IO, 0x1F801048);
|
|
static auto& JOY_CTRL = __declare_io_port(JOY_CTRL_IO, 0x1F80104A);
|
|
static auto& JOY_BAUD = __declare_io_port(JOY_BAUD_IO, 0x1F80104E);
|
|
}
|
|
} |