Update Periphery IO

This commit is contained in:
2024-09-29 15:52:35 +02:00
parent 3fab693049
commit 4b935e3984
4 changed files with 77 additions and 61 deletions

View File

@@ -11,27 +11,27 @@ namespace JabyEngine {
using namespace Periphery_IO;
static void connect_to(uint16_t port) {
JOY_CTRL.write(JOY_CTRL::create_for(port));
JOY_CTRL.write(Value::JOY_CTRL::create_for(port));
busy_loop(500);
}
static void close_connection() {
JOY_CTRL.write(JOY_CTRL::close());
JOY_CTRL.write(Value::JOY_CTRL::close());
}
static void send_byte(uint8_t byte) {
while(!JOY_STAT.read().is_ready_transfer());
JOY_TX_DATA.write(JOY_TX_DATA::create(byte));
while(!JOY_STAT.is_ready_transfer());
JOY_TX_DATA.write(Value::JOY_TX_DATA::create(byte));
}
static uint8_t read_byte() {
while(!JOY_STAT.read().has_response());
while(!JOY_STAT.has_response());
return JOY_RX_DATA.read().raw;
}
static void acknowledge() {
while(JOY_STAT.read().is_set(JOY_STAT::ACKIrqLow));
JOY_CTRL.write(JOY_CTRL.read().set(JOY_CTRL::ACK));
while(JOY_STAT.read().is_set(Value::JOY_STAT::ACKIrqLow));
JOY_CTRL.write(JOY_CTRL.read().set(Value::JOY_CTRL::ACK));
Interrupt::ack_irq(Interrupt::Periphery);
}

View File

@@ -5,8 +5,8 @@ namespace JabyEngine {
namespace boot {
namespace Periphery {
void setup() {
Periphery_IO::JOY_MODE.write(Periphery_IO::JOY_MODE::create());
Periphery_IO::JOY_BAUD.write(Periphery_IO::JOY_BAUD::create());
Periphery_IO::JOY_MODE.write(Periphery_IO_Values::JOY_MODE::create());
Periphery_IO::JOY_BAUD.write(Periphery_IO_Values::JOY_BAUD::create());
SysCall::EnterCriticalSection();
Interrupt::disable_irq(Interrupt::Periphery);