From d4b3b1e90fc61d3a85111e9661aa811a49c01176 Mon Sep 17 00:00:00 2001 From: yellows8 Date: Wed, 25 Nov 2020 20:05:17 -0500 Subject: [PATCH] hidbus: Updated HidbusJoyPollingMode. --- nx/include/switch/services/hidbus.h | 6 +++--- nx/source/runtime/ringcon.c | 2 +- nx/source/services/hidbus.c | 30 ++++++++++++++--------------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/nx/include/switch/services/hidbus.h b/nx/include/switch/services/hidbus.h index 1518a44f..8fe8e277 100644 --- a/nx/include/switch/services/hidbus.h +++ b/nx/include/switch/services/hidbus.h @@ -19,9 +19,9 @@ typedef enum { /// JoyPollingMode typedef enum { - HidbusJoyPollingMode_JoyDisableSixAxisPollingData = 0, ///< JoyDisableSixAxisPollingData - HidbusJoyPollingMode_JoyEnableSixAxisPollingData = 1, ///< JoyEnableSixAxisPollingData - HidbusJoyPollingMode_JoyButtonOnlyPollingData = 2, ///< [6.0.0+] JoyButtonOnlyPollingData + HidbusJoyPollingMode_SixAxisSensorDisable = 0, ///< SixAxisSensorDisable + HidbusJoyPollingMode_SixAxisSensorEnable = 1, ///< JoyEnableSixAxisPollingData + HidbusJoyPollingMode_ButtonOnly = 2, ///< [6.0.0+] ButtonOnly } HidbusJoyPollingMode; /// BusHandle diff --git a/nx/source/runtime/ringcon.c b/nx/source/runtime/ringcon.c index 98570783..bf2c2ed5 100644 --- a/nx/source/runtime/ringcon.c +++ b/nx/source/runtime/ringcon.c @@ -84,7 +84,7 @@ Result ringconCreate(RingCon *c, HidNpadIdType id) { if (R_SUCCEEDED(rc)) c->bus_initialized = true; if (R_SUCCEEDED(rc)) rc = hidbusEnableExternalDevice(c->handle, true, 0x20); - if (R_SUCCEEDED(rc)) rc = hidbusEnableJoyPollingReceiveMode(c->handle, &cmd, sizeof(cmd), c->workbuf, c->workbuf_size, HidbusJoyPollingMode_JoyEnableSixAxisPollingData); + if (R_SUCCEEDED(rc)) rc = hidbusEnableJoyPollingReceiveMode(c->handle, &cmd, sizeof(cmd), c->workbuf, c->workbuf_size, HidbusJoyPollingMode_SixAxisSensorEnable); if (R_SUCCEEDED(rc)) rc = _ringconSetup(c); diff --git a/nx/source/services/hidbus.c b/nx/source/services/hidbus.c index 22ae5ee6..6d171df2 100644 --- a/nx/source/services/hidbus.c +++ b/nx/source/services/hidbus.c @@ -453,13 +453,13 @@ Result hidbusGetJoyPollingReceivedData(HidbusBusHandle handle, HidbusJoyPollingR HidbusDataAccessorHeader *accessor_header; HidbusJoyPollingMode polling_mode = _hidbusGetStatusManagerEntryPollingMode(index); - if (polling_mode == HidbusJoyPollingMode_JoyDisableSixAxisPollingData) { + if (polling_mode == HidbusJoyPollingMode_SixAxisSensorDisable) { accessor_header = &joydisable_accessor->hdr; } - else if (polling_mode == HidbusJoyPollingMode_JoyEnableSixAxisPollingData) { + else if (polling_mode == HidbusJoyPollingMode_SixAxisSensorEnable) { accessor_header = &joyenable_accessor->hdr; } - else if (hosversionAtLeast(6,0,0) && polling_mode == HidbusJoyPollingMode_JoyButtonOnlyPollingData) { + else if (hosversionAtLeast(6,0,0) && polling_mode == HidbusJoyPollingMode_ButtonOnly) { accessor_header = &joybutton_accessor->hdr; } else { @@ -477,13 +477,13 @@ Result hidbusGetJoyPollingReceivedData(HidbusBusHandle handle, HidbusJoyPollingR HidbusJoyButtonOnlyPollingDataAccessorEntryData joybutton[0xa]; } tmp_entries; - if (polling_mode == HidbusJoyPollingMode_JoyDisableSixAxisPollingData) { + if (polling_mode == HidbusJoyPollingMode_SixAxisSensorDisable) { memset(tmp_entries.joydisable, 0, sizeof(tmp_entries.joydisable)); } - else if (polling_mode == HidbusJoyPollingMode_JoyEnableSixAxisPollingData) { + else if (polling_mode == HidbusJoyPollingMode_SixAxisSensorEnable) { memset(tmp_entries.joyenable, 0, sizeof(tmp_entries.joyenable)); } - else if (hosversionAtLeast(6,0,0) && polling_mode == HidbusJoyPollingMode_JoyButtonOnlyPollingData) { + else if (hosversionAtLeast(6,0,0) && polling_mode == HidbusJoyPollingMode_ButtonOnly) { memset(tmp_entries.joybutton, 0, sizeof(tmp_entries.joybutton)); } @@ -492,7 +492,7 @@ Result hidbusGetJoyPollingReceivedData(HidbusBusHandle handle, HidbusJoyPollingR u64 timestamp0=0, timestamp1=0; bool retry=false; - if (polling_mode == HidbusJoyPollingMode_JoyDisableSixAxisPollingData) { + if (polling_mode == HidbusJoyPollingMode_SixAxisSensorDisable) { timestamp0 = atomic_load_explicit(&joydisable_accessor->entries[entrypos].timestamp, memory_order_acquire); memcpy(&tmp_entries.joydisable[newcount-i-1], &joydisable_accessor->entries[entrypos].data, sizeof(HidbusJoyDisableSixAxisPollingDataAccessorEntryData)); timestamp1 = atomic_load_explicit(&joydisable_accessor->entries[entrypos].timestamp, memory_order_acquire); @@ -500,7 +500,7 @@ Result hidbusGetJoyPollingReceivedData(HidbusBusHandle handle, HidbusJoyPollingR if (timestamp0 != timestamp1 || (i>0 && joydisable_accessor->entries[entrypos].data.timestamp - tmp_entries.joydisable[newcount-i].timestamp != 1)) retry=true; } - else if (polling_mode == HidbusJoyPollingMode_JoyEnableSixAxisPollingData) { + else if (polling_mode == HidbusJoyPollingMode_SixAxisSensorEnable) { timestamp0 = atomic_load_explicit(&joyenable_accessor->entries[entrypos].timestamp, memory_order_acquire); memcpy(&tmp_entries.joyenable[newcount-i-1], &joyenable_accessor->entries[entrypos].data, sizeof(HidbusJoyEnableSixAxisPollingDataAccessorEntryData)); timestamp1 = atomic_load_explicit(&joyenable_accessor->entries[entrypos].timestamp, memory_order_acquire); @@ -508,7 +508,7 @@ Result hidbusGetJoyPollingReceivedData(HidbusBusHandle handle, HidbusJoyPollingR if (timestamp0 != timestamp1 || (i>0 && joyenable_accessor->entries[entrypos].data.timestamp - tmp_entries.joyenable[newcount-i].timestamp != 1)) retry=true; } - else if (hosversionAtLeast(6,0,0) && polling_mode == HidbusJoyPollingMode_JoyButtonOnlyPollingData) { + else if (hosversionAtLeast(6,0,0) && polling_mode == HidbusJoyPollingMode_ButtonOnly) { timestamp0 = atomic_load_explicit(&joybutton_accessor->entries[entrypos].timestamp, memory_order_acquire); memcpy(&tmp_entries.joybutton[newcount-i-1], &joybutton_accessor->entries[entrypos].data, sizeof(HidbusJoyButtonOnlyPollingDataAccessorEntryData)); timestamp1 = atomic_load_explicit(&joybutton_accessor->entries[entrypos].timestamp, memory_order_acquire); @@ -528,13 +528,13 @@ Result hidbusGetJoyPollingReceivedData(HidbusBusHandle handle, HidbusJoyPollingR } bool dataready=false; - if (polling_mode == HidbusJoyPollingMode_JoyDisableSixAxisPollingData) { + if (polling_mode == HidbusJoyPollingMode_SixAxisSensorDisable) { dataready = tmp_entries.joydisable[count-1].timestamp != 0; } - else if (polling_mode == HidbusJoyPollingMode_JoyEnableSixAxisPollingData) { + else if (polling_mode == HidbusJoyPollingMode_SixAxisSensorEnable) { dataready = tmp_entries.joyenable[count-1].timestamp != 0; } - else if (hosversionAtLeast(6,0,0) && polling_mode == HidbusJoyPollingMode_JoyButtonOnlyPollingData) { + else if (hosversionAtLeast(6,0,0) && polling_mode == HidbusJoyPollingMode_ButtonOnly) { dataready = tmp_entries.joybutton[count-1].timestamp != 0; } if (!dataready) rc = MAKERESULT(218, 7); @@ -544,21 +544,21 @@ Result hidbusGetJoyPollingReceivedData(HidbusBusHandle handle, HidbusJoyPollingR for (s32 i=0; i sizeof(tmp_entries.joydisable[i].data)) return MAKERESULT(Module_Libnx, LibnxError_ShouldNotHappen); memcpy(recv_data[i].data, tmp_entries.joydisable[i].data, size); recv_data[i].size = size; recv_data[i].timestamp = tmp_entries.joydisable[i].timestamp; } - else if (polling_mode == HidbusJoyPollingMode_JoyEnableSixAxisPollingData) { + else if (polling_mode == HidbusJoyPollingMode_SixAxisSensorEnable) { size = tmp_entries.joyenable[i].size; if (size > sizeof(tmp_entries.joyenable[i].data)) return MAKERESULT(Module_Libnx, LibnxError_ShouldNotHappen); memcpy(recv_data[i].data, tmp_entries.joyenable[i].data, size); recv_data[i].size = size; recv_data[i].timestamp = tmp_entries.joyenable[i].timestamp; } - else if (hosversionAtLeast(6,0,0) && polling_mode == HidbusJoyPollingMode_JoyButtonOnlyPollingData) { + else if (hosversionAtLeast(6,0,0) && polling_mode == HidbusJoyPollingMode_ButtonOnly) { size = tmp_entries.joybutton[i].size; if (size > sizeof(tmp_entries.joybutton[i].data)) return MAKERESULT(Module_Libnx, LibnxError_ShouldNotHappen); memcpy(recv_data[i].data, tmp_entries.joybutton[i].data, size);