Add nwm::UDS

This commit is contained in:
wheremyfoodat 2023-09-10 17:33:21 +03:00
parent f37b47f2d0
commit db50054128
7 changed files with 83 additions and 4 deletions

View file

@ -35,6 +35,7 @@ namespace KernelHandles {
NFC, // NFC (Duh), used for Amiibo
NIM, // Updates, DLC, etc
NDM, // ?????
NWM_UDS, // Local multiplayer
NEWS_U, // This service literally has 1 command (AddNotification) and I don't even understand what it does
PTM, // PTM service (Used for accessing various console info, such as battery, shell and pedometer state)
SOC, // Socket service
@ -90,6 +91,7 @@ namespace KernelHandles {
case MIC: return "MIC";
case NDM: return "NDM";
case NEWS_U: return "NEWS_U";
case NWM_UDS: return "nwm::UDS";
case NFC: return "NFC";
case NIM: return "NIM";
case PTM: return "PTM";

View file

@ -0,0 +1,28 @@
#pragma once
#include <optional>
#include "helpers.hpp"
#include "kernel_types.hpp"
#include "logger.hpp"
#include "memory.hpp"
// More circular dependencies
class Kernel;
class NwmUdsService {
Handle handle = KernelHandles::NWM_UDS;
Memory& mem;
Kernel& kernel;
MAKE_LOG_FUNCTION(log, nwmUdsLogger)
bool initialized = false;
std::optional<Handle> eventHandle = std::nullopt;
// Service commands
void initializeWithVersion(u32 messagePointer);
public:
NwmUdsService(Memory& mem, Kernel& kernel) : mem(mem), kernel(kernel) {}
void reset();
void handleSyncRequest(u32 messagePointer);
};

View file

@ -28,6 +28,7 @@
#include "services/mcu/mcu_hwc.hpp"
#include "services/mic.hpp"
#include "services/ndm.hpp"
#include "services/nwm_uds.hpp"
#include "services/news_u.hpp"
#include "services/nfc.hpp"
#include "services/nim.hpp"
@ -72,6 +73,7 @@ class ServiceManager {
NDMService ndm;
NewsUService news_u;
NFCService nfc;
NwmUdsService nwm_uds;
NIMService nim;
PTMService ptm;
SOCService soc;