summaryrefslogtreecommitdiff
path: root/src/input_common/drivers/udp_client.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2022-01-22 01:28:14 -0800
committerGravatar GitHub2022-01-22 01:28:14 -0800
commit8433edacb34be3e3db9462c91d91c4a78987871d (patch)
tree34116e9c9f4f6384c76641b893a90021e290c475 /src/input_common/drivers/udp_client.cpp
parentMerge pull request #7737 from bunnei/fix-dummy-thread-leak (diff)
parentinput_common: Report battery for UDP controllers (diff)
downloadyuzu-8433edacb34be3e3db9462c91d91c4a78987871d.tar.gz
yuzu-8433edacb34be3e3db9462c91d91c4a78987871d.tar.xz
yuzu-8433edacb34be3e3db9462c91d91c4a78987871d.zip
Merge pull request #7735 from german77/udp_battery
input_common: Report battery for UDP controllers
Diffstat (limited to 'src/input_common/drivers/udp_client.cpp')
-rw-r--r--src/input_common/drivers/udp_client.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/input_common/drivers/udp_client.cpp b/src/input_common/drivers/udp_client.cpp
index c8a12c7d5..9aaeb91be 100644
--- a/src/input_common/drivers/udp_client.cpp
+++ b/src/input_common/drivers/udp_client.cpp
@@ -192,6 +192,25 @@ std::size_t UDPClient::GetClientNumber(std::string_view host, u16 port) const {
192 return MAX_UDP_CLIENTS; 192 return MAX_UDP_CLIENTS;
193} 193}
194 194
195BatteryLevel UDPClient::GetBatteryLevel(Response::Battery battery) const {
196 switch (battery) {
197 case Response::Battery::Dying:
198 return BatteryLevel::Empty;
199 case Response::Battery::Low:
200 return BatteryLevel::Critical;
201 case Response::Battery::Medium:
202 return BatteryLevel::Low;
203 case Response::Battery::High:
204 return BatteryLevel::Medium;
205 case Response::Battery::Full:
206 case Response::Battery::Charged:
207 return BatteryLevel::Full;
208 case Response::Battery::Charging:
209 default:
210 return BatteryLevel::Charging;
211 }
212}
213
195void UDPClient::OnVersion([[maybe_unused]] Response::Version data) { 214void UDPClient::OnVersion([[maybe_unused]] Response::Version data) {
196 LOG_TRACE(Input, "Version packet received: {}", data.version); 215 LOG_TRACE(Input, "Version packet received: {}", data.version);
197} 216}
@@ -299,6 +318,8 @@ void UDPClient::OnPadData(Response::PadData data, std::size_t client) {
299 const int button = static_cast<int>(buttons[i]); 318 const int button = static_cast<int>(buttons[i]);
300 SetButton(identifier, button, button_status); 319 SetButton(identifier, button, button_status);
301 } 320 }
321
322 SetBattery(identifier, GetBatteryLevel(data.info.battery));
302} 323}
303 324
304void UDPClient::StartCommunication(std::size_t client, const std::string& host, u16 port) { 325void UDPClient::StartCommunication(std::size_t client, const std::string& host, u16 port) {