XPG SSD working on Linux - DO NOT USE IF YOU DON'T HAVE XPG S40G AS /dev/nvme0!

This commit is contained in:
Adam Honse
2021-11-16 19:44:13 -06:00
parent 571e4f4d38
commit 5196ff7772
11 changed files with 1186 additions and 6 deletions

View File

@@ -0,0 +1,36 @@
/*-------------------------------------------------------------------*\
| XPGSpectrixS40GControllerDetect.cpp |
| |
| Driver for XPG's Spectrix S40G NVMe |
| |
| NicolasNewman 25th Mar 2021 |
| |
\*-------------------------------------------------------------------*/
#include "Detector.h"
#include "XPGSpectrixS40GController.h"
#include "RGBController.h"
#include "RGBController_XPGSpectrixS40G.h"
#include <vector>
#include <fcntl.h>
#include <unistd.h>
#include <dirent.h>
#include <string.h>
#include <sys/ioctl.h>
void DetectSpectrixS40GControllers(std::vector<RGBController*>& rgb_controllers)
{
XPGSpectrixS40GController* new_xpg_s40g;
RGBController_XPGSpectrixS40G* new_controller;
int nvme_fd = open("/dev/nvme0", O_RDWR);
new_xpg_s40g = new XPGSpectrixS40GController(nvme_fd, 0x67);
new_controller = new RGBController_XPGSpectrixS40G(new_xpg_s40g);
rgb_controllers.push_back(new_controller);
} /* DetectSpectrixS40GControllers() */
REGISTER_DETECTOR("XPG Spectrix S40G NVMe", DetectSpectrixS40GControllers);