Modular detection system with resource manager.
Includes pull request !87 with modifications by Adam Honse (calcprogrammer1@gmail.com).
This commit is contained in:
parent
b3a7b7be81
commit
ddc69778dc
50 changed files with 318 additions and 145 deletions
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "AMDWraithPrismController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_AMDWraithPrism.h"
|
||||
|
|
@ -49,3 +50,5 @@ void DetectAMDWraithPrismControllers(std::vector<RGBController*>& rgb_controller
|
|||
info = info->next;
|
||||
}
|
||||
}
|
||||
|
||||
REGISTER_DETECTOR(DetectAMDWraithPrismControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "AuraCoreController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_AuraCore.h"
|
||||
|
|
@ -43,3 +44,5 @@ void DetectAuraCoreControllers(std::vector<RGBController*>& rgb_controllers)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
REGISTER_DETECTOR(DetectAuraCoreControllers);
|
||||
|
|
@ -6,6 +6,7 @@
|
|||
| Jan Rettig (Klapstuhl) 14.02.2020 |
|
||||
\*-----------------------------------------*/
|
||||
|
||||
#include "Detector.h"
|
||||
#include "AuraGPUController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_AuraGPU.h"
|
||||
|
|
@ -82,4 +83,6 @@ void DetectAuraGPUControllers(std::vector<i2c_smbus_interface*> &busses, std::ve
|
|||
std::this_thread::sleep_for(1ms);
|
||||
}
|
||||
}
|
||||
} /* DetectAuraGPUControllers() */
|
||||
} /* DetectAuraGPUControllers() */
|
||||
|
||||
REGISTER_I2C_DETECTOR(DetectAuraGPUControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "AuraSMBusController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_AuraSMBus.h"
|
||||
|
|
@ -188,3 +189,5 @@ void DetectAuraSMBusControllers(std::vector<i2c_smbus_interface*> &busses, std::
|
|||
}
|
||||
|
||||
} /* DetectAuraSMBusControllers() */
|
||||
|
||||
REGISTER_I2C_DETECTOR(DetectAuraSMBusControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "AuraAddressableController.h"
|
||||
#include "AuraMainboardController.h"
|
||||
#include "RGBController.h"
|
||||
|
|
@ -74,4 +75,6 @@ void DetectAuraUSBControllers(std::vector<RGBController*>& rgb_controllers)
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} /* DetectAuraUSBControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectAuraUSBControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "CMMP750Controller.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_CMMP750Controller.h"
|
||||
|
|
@ -63,4 +64,6 @@ void DetectCoolerMasterControllers(std::vector<RGBController*>& rgb_controllers)
|
|||
info = info->next;
|
||||
}
|
||||
hid_free_enumeration(info);
|
||||
}
|
||||
} /* DetectCoolerMasterControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectCoolerMasterControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "CorsairLightingNodeController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_CorsairLightingNode.h"
|
||||
|
|
@ -77,3 +78,5 @@ void DetectCorsairLightingNodeControllers(std::vector<RGBController*> &rgb_contr
|
|||
}
|
||||
}
|
||||
} /* DetectCorsairLightingNodeControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectCorsairLightingNodeControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "CorsairPeripheralController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_CorsairPeripheral.h"
|
||||
|
|
@ -157,4 +158,6 @@ void DetectCorsairPeripheralControllers(std::vector<RGBController*>& rgb_control
|
|||
info = info->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
} /* DetectCorsairPeripheralControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectCorsairPeripheralControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "CorsairVengeanceController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_CorsairVengeance.h"
|
||||
|
|
@ -122,4 +123,6 @@ void DetectCorsairVengeanceControllers(std::vector<i2c_smbus_interface*> &busses
|
|||
}
|
||||
}
|
||||
|
||||
} /* DetectCorsairVengeanceControllers() */
|
||||
} /* DetectCorsairVengeanceControllers() */
|
||||
|
||||
REGISTER_I2C_DETECTOR(DetectCorsairVengeanceControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "CorsairVengeanceProController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_CorsairVengeancePro.h"
|
||||
|
|
@ -130,4 +131,6 @@ void DetectCorsairVengeanceProControllers(std::vector<i2c_smbus_interface*> &bus
|
|||
}
|
||||
}
|
||||
|
||||
} /* DetectCorsairVengeanceProControllers() */
|
||||
} /* DetectCorsairVengeanceProControllers() */
|
||||
|
||||
REGISTER_I2C_DETECTOR(DetectCorsairVengeanceProControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "CrucialController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_Crucial.h"
|
||||
|
|
@ -86,3 +87,5 @@ void DetectCrucialControllers(std::vector<i2c_smbus_interface*> &busses, std::ve
|
|||
}
|
||||
|
||||
} /* DetectCrucialControllers() */
|
||||
|
||||
REGISTER_I2C_DETECTOR(DetectCrucialControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "DuckyKeyboardController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_DuckyKeyboard.h"
|
||||
|
|
@ -78,4 +79,6 @@ void DetectDuckyKeyboardControllers(std::vector<RGBController*>& rgb_controllers
|
|||
info = info->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
} /* DetectDuckyKeyboardControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectDuckyKeyboardControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "EKController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_EKController.h"
|
||||
|
|
@ -61,4 +62,6 @@ void DetectEKControllers(std::vector<RGBController*>& rgb_controllers)
|
|||
info = info->next;
|
||||
}
|
||||
hid_free_enumeration(info);
|
||||
}
|
||||
} /* DetectEKControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectEKControllers);
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
| Niels Westphal (crashniels) 12.07.2020 |
|
||||
\*-----------------------------------------*/
|
||||
|
||||
#include "Detector.h"
|
||||
#include "GalaxGPUController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_GalaxGPU.h"
|
||||
|
|
@ -66,3 +67,5 @@ void DetectGalaxGPUControllers(std::vector<i2c_smbus_interface*> &busses, std::v
|
|||
}
|
||||
|
||||
} /* DetectGalaxGPUControllers() */
|
||||
|
||||
REGISTER_I2C_DETECTOR(DetectGalaxGPUControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "GloriousModelOController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_GloriousModelO.h"
|
||||
|
|
@ -57,4 +58,6 @@ void DetectGloriousModelOControllers(std::vector<RGBController*>& rgb_controller
|
|||
|
||||
rgb_controllers.push_back(rgb_controller);
|
||||
}
|
||||
}
|
||||
} /* DetectGloriousModelOControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectGloriousModelOControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "HoltekA070Controller.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_HoltekA070.h"
|
||||
|
|
@ -83,4 +84,6 @@ void DetectHoltekControllers(std::vector<RGBController*>& rgb_controllers)
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
} /* DetectHoltekControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectHoltekControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "HuePlusController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_HuePlus.h"
|
||||
|
|
@ -35,3 +36,5 @@ void DetectHuePlusControllers(std::vector<RGBController*> &rgb_controllers)
|
|||
}
|
||||
}
|
||||
} /* DetectHuePlusControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectHuePlusControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "HyperXDRAMController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_HyperXDRAM.h"
|
||||
|
|
@ -93,3 +94,5 @@ void DetectHyperXDRAMControllers(std::vector<i2c_smbus_interface*> &busses, std:
|
|||
}
|
||||
|
||||
} /* DetectHyperXDRAMControllers() */
|
||||
|
||||
REGISTER_I2C_DETECTOR(DetectHyperXDRAMControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "HyperXAlloyOriginsController.h"
|
||||
#include "HyperXKeyboardController.h"
|
||||
#include "RGBController.h"
|
||||
|
|
@ -104,4 +105,6 @@ void DetectHyperXKeyboardControllers(std::vector<RGBController*>& rgb_controller
|
|||
info = info->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
} /* DetectHyperXKeyboardControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectHyperXKeyboardControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "HyperXPulsefireSurgeController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_HyperXPulsefireSurge.h"
|
||||
|
|
@ -78,4 +79,6 @@ void DetectHyperXMouseControllers(std::vector<RGBController*>& rgb_controllers)
|
|||
info = info->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
} /* DetectHyperXMouseControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectHyperXMouseControllers);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "LEDStripController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_LEDStrip.h"
|
||||
|
|
@ -21,7 +22,7 @@
|
|||
* DetectLEDStripControllers *
|
||||
* *
|
||||
* Detect devices supported by the LEDStrip driver *
|
||||
* * *
|
||||
* *
|
||||
\******************************************************************************************/
|
||||
|
||||
void DetectLEDStripControllers(std::vector<RGBController*> &rgb_controllers)
|
||||
|
|
@ -84,5 +85,6 @@ void DetectLEDStripControllers(std::vector<RGBController*> &rgb_controllers)
|
|||
}
|
||||
}
|
||||
|
||||
} /* DetectLEDStripControllers() */
|
||||
|
||||
} /* DetectLEDStripControllers() */
|
||||
REGISTER_DETECTOR(DetectLEDStripControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "LogitechG203Controller.h"
|
||||
#include "LogitechG203LController.h"
|
||||
#include "LogitechG403Controller.h"
|
||||
|
|
@ -208,4 +209,6 @@ void DetectLogitechControllers(std::vector<RGBController*>& rgb_controllers)
|
|||
}
|
||||
|
||||
}
|
||||
}
|
||||
} /* DetectLogitechControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectLogitechControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "MSI3ZoneController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_MSI3Zone.h"
|
||||
|
|
@ -33,4 +34,6 @@ void DetectMSI3ZoneControllers(std::vector<RGBController*>& rgb_controllers)
|
|||
|
||||
rgb_controllers.push_back(rgb_controller);
|
||||
}
|
||||
}
|
||||
} /* DetectMSI3ZoneControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectMSI3ZoneControllers);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
| |
|
||||
\*-----------------------------------------*/
|
||||
|
||||
#include "Detector.h"
|
||||
#include "MSIGPUController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_MSIGPU.h"
|
||||
|
|
@ -111,3 +112,5 @@ void DetectMSIGPUControllers(std::vector<i2c_smbus_interface*> &busses, std::vec
|
|||
}
|
||||
}
|
||||
} /* DetectMSIGPUControllers() */
|
||||
|
||||
REGISTER_I2C_DETECTOR(DetectMSIGPUControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "MSIMysticLightController.h"
|
||||
#include "RGBController_MSIMysticLight.h"
|
||||
|
||||
|
|
@ -98,4 +99,8 @@ void DetectMSIMysticLightControllers(std::vector<RGBController*> &rgb_controller
|
|||
rgb_controllers.push_back(rgb_controller);
|
||||
}
|
||||
}
|
||||
}
|
||||
} /* DetectMSIMysticLightControllers() */
|
||||
|
||||
// The MSI Mystic Light controller is disabled due to bricking risk
|
||||
// Uncomment this line to enable. Do so at your own risk.
|
||||
//REGISTER_DETECTOR(DetectMSIMysticLightControllers);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "MSIRGBController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_MSIRGB.h"
|
||||
|
|
@ -38,3 +39,5 @@ void DetectMSIRGBControllers(std::vector<RGBController*> &rgb_controllers)
|
|||
}
|
||||
}
|
||||
} /* DetectMSIRGBControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectMSIRGBControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "NZXTHue2Controller.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_NZXTHue2.h"
|
||||
|
|
@ -76,3 +77,5 @@ void DetectNZXTHue2Controllers(std::vector<RGBController*> &rgb_controllers)
|
|||
}
|
||||
}
|
||||
} /* DetectNZXTHue2Controllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectNZXTHue2Controllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "NZXTKrakenController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_NZXTKraken.h"
|
||||
|
|
@ -48,4 +49,6 @@ void DetectNZXTKrakenControllers(std::vector<RGBController*> &rgb_controllers)
|
|||
info = info->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
} /* DetectNZXTKrakenControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectNZXTKrakenControllers);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "PatriotViperController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_PatriotViper.h"
|
||||
|
|
@ -70,3 +71,5 @@ void DetectPatriotViperControllers(std::vector<i2c_smbus_interface*> &busses, st
|
|||
}
|
||||
|
||||
} /* DetectPatriotViperControllers() */
|
||||
|
||||
REGISTER_I2C_DETECTOR(DetectPatriotViperControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "PolychromeController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_Polychrome.h"
|
||||
|
|
@ -67,3 +68,5 @@ void DetectPolychromeControllers(std::vector<i2c_smbus_interface*>& busses, std:
|
|||
}
|
||||
|
||||
} /* DetectPolychromeControllers() */
|
||||
|
||||
REGISTER_I2C_DETECTOR(DetectPolychromeControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "PoseidonZRGBController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_PoseidonZRGB.h"
|
||||
|
|
@ -50,5 +51,6 @@ void DetectPoseidonZRGBControllers(std::vector<RGBController*>& rgb_controllers)
|
|||
info = info->next;
|
||||
}
|
||||
|
||||
} /* DetectPoseidonZRGBControllers() */
|
||||
|
||||
}
|
||||
REGISTER_DETECTOR(DetectPoseidonZRGBControllers);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "RGBFusion2DRAMController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_RGBFusion2DRAM.h"
|
||||
|
|
@ -65,3 +66,6 @@ void DetectRGBFusion2DRAMControllers(std::vector<i2c_smbus_interface*>& busses,
|
|||
}
|
||||
|
||||
} /* DetectRGBFusion2DRAMControllers() */
|
||||
|
||||
// This detector is disabled as proper detection isn't implemented
|
||||
//REGISTER_I2C_DETECTOR(DetectRGBFusion2DRAMControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "RGBFusion2SMBusController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_RGBFusion2SMBus.h"
|
||||
|
|
@ -71,3 +72,6 @@ void DetectRGBFusion2SMBusControllers(std::vector<i2c_smbus_interface*>& busses,
|
|||
}
|
||||
|
||||
} /* DetectRGBFusion2SMBusControllers() */
|
||||
|
||||
// This detector is disabled as proper detection is not implemented
|
||||
//REGISTER_DETECTOR(DetectRGBFusion2SMBusControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "RGBFusion2USBController.h"
|
||||
#include "RGBController_RGBFusion2USB.h"
|
||||
#include "dependencies/dmiinfo.h"
|
||||
|
|
@ -67,4 +68,6 @@ void DetectRGBFusion2USBControllers(std::vector<RGBController*> &rgb_controllers
|
|||
}
|
||||
|
||||
hid_free_enumeration(info);
|
||||
}
|
||||
} /* DetectRGBFusion2USBControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectRGBFusion2USBControllers);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "RGBFusionController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_RGBFusion.h"
|
||||
|
|
@ -64,4 +65,6 @@ void DetectRGBFusionControllers(std::vector<i2c_smbus_interface*>& busses, std::
|
|||
}
|
||||
}
|
||||
|
||||
} /* DetectRGBFusionControllers() */
|
||||
} /* DetectRGBFusionControllers() */
|
||||
|
||||
REGISTER_I2C_DETECTOR(DetectRGBFusionControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "RGBFusionGPUController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_RGBFusionGPU.h"
|
||||
|
|
@ -81,3 +82,5 @@ void DetectRGBFusionGPUControllers(std::vector<i2c_smbus_interface*>& busses, st
|
|||
}
|
||||
|
||||
} /* DetectRGBFusionGPUControllers() */
|
||||
|
||||
REGISTER_I2C_DETECTOR(DetectRGBFusionGPUControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "RedragonK556Controller.h"
|
||||
#include "RedragonM711Controller.h"
|
||||
#include "RGBController.h"
|
||||
|
|
@ -123,4 +124,6 @@ void DetectRedragonControllers(std::vector<RGBController*>& rgb_controllers)
|
|||
info = info->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
} /* DetectRedragonControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectRedragonControllers);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "SapphireGPUController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_SapphireGPU.h"
|
||||
|
|
@ -57,3 +58,6 @@ void DetectSapphireGPUControllers(std::vector<i2c_smbus_interface*>& busses, std
|
|||
}
|
||||
|
||||
} /* DetectSapphireGPUControllers() */
|
||||
|
||||
// This detector is disabled as it does not properly detect
|
||||
//REGISTER_I2C_DETECTOR(DetectSapphireGPUControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "SteelSeriesRivalController.h"
|
||||
#include "SteelSeriesSiberiaController.h"
|
||||
#include "SteelSeriesApexController.h"
|
||||
|
|
@ -155,4 +156,6 @@ void DetectSteelSeriesControllers(std::vector<RGBController*>& rgb_controllers)
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} /* DetectSteelSeriesControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectSteelSeriesControllers);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "ThermaltakeRiingController.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_ThermaltakeRiing.h"
|
||||
|
|
@ -53,4 +54,6 @@ void DetectThermaltakeRiingControllers(std::vector<RGBController*>& rgb_controll
|
|||
rgb_controllers.push_back(rgb_controller);
|
||||
}
|
||||
}
|
||||
}
|
||||
} /* DetectThermaltakeRiingControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectThermaltakeRiingControllers);
|
||||
|
|
|
|||
6
Detector.h
Normal file
6
Detector.h
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#include "DeviceDetector.h"
|
||||
|
||||
#define REGISTER_DETECTOR(func) static DeviceDetector device_detector_obj(func)
|
||||
#define REGISTER_I2C_DETECTOR(func) static I2CDeviceDetector device_detector_obj(func)
|
||||
24
DeviceDetector.h
Normal file
24
DeviceDetector.h
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
#pragma once
|
||||
|
||||
#include <functional>
|
||||
#include <vector>
|
||||
|
||||
#include "ResourceManager.h"
|
||||
|
||||
class DeviceDetector
|
||||
{
|
||||
public:
|
||||
DeviceDetector(DeviceDetectorFunction detector)
|
||||
{
|
||||
ResourceManager::get()->RegisterDeviceDetector(detector);
|
||||
}
|
||||
};
|
||||
|
||||
class I2CDeviceDetector
|
||||
{
|
||||
public:
|
||||
I2CDeviceDetector(I2CDeviceDetectorFunction detector)
|
||||
{
|
||||
ResourceManager::get()->RegisterI2CDeviceDetector(detector);
|
||||
}
|
||||
};
|
||||
126
OpenRGB.cpp
126
OpenRGB.cpp
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include "RGBController.h"
|
||||
#include "i2c_smbus.h"
|
||||
#include "ResourceManager.h"
|
||||
#include <vector>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
@ -31,8 +32,6 @@
|
|||
|
||||
#endif /* WIN32 */
|
||||
|
||||
std::vector<i2c_smbus_interface*> busses;
|
||||
std::vector<RGBController*> rgb_controllers;
|
||||
|
||||
#ifdef WIN32
|
||||
/******************************************************************************************\
|
||||
|
|
@ -44,7 +43,7 @@ std::vector<RGBController*> rgb_controllers;
|
|||
* *
|
||||
\******************************************************************************************/
|
||||
|
||||
void DetectNuvotonI2CBusses()
|
||||
void DetectNuvotonI2CBusses(std::vector<i2c_smbus_interface*> &busses)
|
||||
{
|
||||
i2c_smbus_interface* bus;
|
||||
int sioaddr = 0x2E;
|
||||
|
|
@ -102,7 +101,7 @@ void DetectNuvotonI2CBusses()
|
|||
* *
|
||||
\******************************************************************************************/
|
||||
|
||||
void DetectNvAPII2CBusses()
|
||||
void DetectNvAPII2CBusses(std::vector<i2c_smbus_interface*> &busses)
|
||||
{
|
||||
static NV_PHYSICAL_GPU_HANDLE gpu_handles[64];
|
||||
static NV_S32 gpu_count = 0;
|
||||
|
|
@ -146,7 +145,7 @@ void DetectNvAPII2CBusses()
|
|||
* *
|
||||
\******************************************************************************************/
|
||||
|
||||
void DetectADLI2C()
|
||||
void DetectADLI2C(std::vector<i2c_smbus_interface*> &busses)
|
||||
{
|
||||
int adl_status;
|
||||
int gpu_count = 0;
|
||||
|
|
@ -176,7 +175,7 @@ void DetectADLI2C()
|
|||
* *
|
||||
\******************************************************************************************/
|
||||
|
||||
void DetectI2CBusses()
|
||||
void DetectI2CBusses(std::vector<i2c_smbus_interface*> &busses)
|
||||
{
|
||||
i2c_smbus_interface * bus;
|
||||
HRESULT hres;
|
||||
|
|
@ -247,13 +246,13 @@ void DetectI2CBusses()
|
|||
}
|
||||
|
||||
// Detect Nuvoton Super IO SMBus adapters
|
||||
DetectNuvotonI2CBusses();
|
||||
DetectNuvotonI2CBusses(busses);
|
||||
|
||||
// Detect NVidia NvAPI I2C adapters
|
||||
DetectNvAPII2CBusses();
|
||||
DetectNvAPII2CBusses(busses);
|
||||
|
||||
// Detect AMD ADL I2C adadpters
|
||||
DetectADLI2C();
|
||||
DetectADLI2C(busses);
|
||||
|
||||
} /* DetectI2CBusses() */
|
||||
|
||||
|
|
@ -268,7 +267,7 @@ void DetectI2CBusses()
|
|||
* *
|
||||
\******************************************************************************************/
|
||||
|
||||
void DetectI2CBusses()
|
||||
void DetectI2CBusses(std::vector<i2c_smbus_interface*> &busses)
|
||||
{
|
||||
i2c_smbus_linux * bus;
|
||||
char device_string[1024];
|
||||
|
|
@ -411,49 +410,6 @@ void DetectI2CBusses()
|
|||
|
||||
#endif /* WIN32 */
|
||||
|
||||
void DetectAuraSMBusControllers(std::vector<i2c_smbus_interface*> &busses, std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectAuraGPUControllers(std::vector<i2c_smbus_interface*> &busses, std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectCorsairVengeanceControllers(std::vector<i2c_smbus_interface*> &busses, std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectCorsairVengeanceProControllers(std::vector<i2c_smbus_interface*> &busses, std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectCrucialControllers(std::vector<i2c_smbus_interface*> &busses, std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectHyperXDRAMControllers(std::vector<i2c_smbus_interface*> &busses, std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectPatriotViperControllers(std::vector<i2c_smbus_interface*> &busses, std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectPolychromeControllers(std::vector<i2c_smbus_interface*>& busses, std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectRGBFusionControllers(std::vector<i2c_smbus_interface*>& busses, std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectRGBFusionGPUControllers(std::vector<i2c_smbus_interface*>& busses, std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectRGBFusion2SMBusControllers(std::vector<i2c_smbus_interface*>& busses, std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectRGBFusion2DRAMControllers(std::vector<i2c_smbus_interface*>& busses, std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectMSIGPUControllers(std::vector<i2c_smbus_interface*>& busses, std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectSapphireGPUControllers(std::vector<i2c_smbus_interface*>& busses, std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectGalaxGPUControllers(std::vector<i2c_smbus_interface*>& busses, std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectMSIMysticLightControllers(std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectMSIRGBControllers(std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectAuraUSBControllers(std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectAuraCoreControllers(std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectLEDStripControllers(std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectNZXTHue2Controllers(std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectHuePlusControllers(std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectOpenRazerControllers(std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectE131Controllers(std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectAMDWraithPrismControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectCoolerMasterControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectMSI3ZoneControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectPoseidonZRGBControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectCorsairPeripheralControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectCorsairLightingNodeControllers(std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectFaustusControllers(std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectHyperXKeyboardControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectHyperXMouseControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectThermaltakeRiingControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectRGBFusion2USBControllers(std::vector<RGBController*> &rgb_controllers);
|
||||
void DetectRedragonControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectLogitechControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectNZXTKrakenControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectSteelSeriesControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectGloriousModelOControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectHoltekControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectDuckyKeyboardControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
void DetectEKControllers(std::vector<RGBController*>& rgb_controllers);
|
||||
|
||||
/******************************************************************************************\
|
||||
* *
|
||||
|
|
@ -465,67 +421,7 @@ void DetectEKControllers(std::vector<RGBController*>& rgb_controllers);
|
|||
|
||||
void DetectRGBControllers(void)
|
||||
{
|
||||
DetectI2CBusses();
|
||||
|
||||
DetectAuraSMBusControllers(busses, rgb_controllers);
|
||||
DetectAuraGPUControllers(busses, rgb_controllers);
|
||||
DetectCorsairVengeanceControllers(busses, rgb_controllers);
|
||||
DetectCorsairVengeanceProControllers(busses, rgb_controllers);
|
||||
DetectCrucialControllers(busses, rgb_controllers);
|
||||
DetectGalaxGPUControllers(busses, rgb_controllers);
|
||||
DetectHyperXDRAMControllers(busses, rgb_controllers);
|
||||
DetectPatriotViperControllers(busses, rgb_controllers);
|
||||
DetectPolychromeControllers(busses, rgb_controllers);
|
||||
DetectRGBFusionGPUControllers(busses, rgb_controllers);
|
||||
DetectMSIGPUControllers(busses, rgb_controllers);
|
||||
DetectSapphireGPUControllers(busses, rgb_controllers);
|
||||
|
||||
//TODO: Implement better detection before enabling these controllers
|
||||
//DetectRGBFusion2SMBusControllers(busses, rgb_controllers);
|
||||
//DetectRGBFusion2DRAMControllers(busses, rgb_controllers);
|
||||
|
||||
DetectRGBFusionControllers(busses, rgb_controllers);
|
||||
//DetectMSIMysticLightControllers(rgb_controllers);
|
||||
DetectMSIRGBControllers(rgb_controllers);
|
||||
|
||||
DetectAuraUSBControllers(rgb_controllers);
|
||||
DetectAuraCoreControllers(rgb_controllers);
|
||||
DetectLEDStripControllers(rgb_controllers);
|
||||
DetectNZXTHue2Controllers(rgb_controllers);
|
||||
DetectHuePlusControllers(rgb_controllers);
|
||||
|
||||
DetectAMDWraithPrismControllers(rgb_controllers);
|
||||
DetectCoolerMasterControllers(rgb_controllers);
|
||||
DetectMSI3ZoneControllers(rgb_controllers);
|
||||
DetectPoseidonZRGBControllers(rgb_controllers);
|
||||
DetectHyperXKeyboardControllers(rgb_controllers);
|
||||
DetectHyperXMouseControllers(rgb_controllers);
|
||||
DetectCorsairPeripheralControllers(rgb_controllers);
|
||||
DetectCorsairLightingNodeControllers(rgb_controllers);
|
||||
DetectThermaltakeRiingControllers(rgb_controllers);
|
||||
DetectRGBFusion2USBControllers(rgb_controllers);
|
||||
DetectRedragonControllers(rgb_controllers);
|
||||
DetectLogitechControllers(rgb_controllers);
|
||||
DetectNZXTKrakenControllers(rgb_controllers);
|
||||
DetectSteelSeriesControllers(rgb_controllers);
|
||||
DetectGloriousModelOControllers(rgb_controllers);
|
||||
DetectHoltekControllers(rgb_controllers);
|
||||
DetectDuckyKeyboardControllers(rgb_controllers);
|
||||
DetectEKControllers(rgb_controllers);
|
||||
|
||||
DetectE131Controllers(rgb_controllers);
|
||||
|
||||
DetectOpenRazerControllers(rgb_controllers);
|
||||
|
||||
/*-------------------------------------*\
|
||||
| Windows-only devices |
|
||||
\*-------------------------------------*/
|
||||
#ifdef WIN32
|
||||
/*-------------------------------------*\
|
||||
| Linux-only devices |
|
||||
\*-------------------------------------*/
|
||||
#else
|
||||
DetectFaustusControllers(rgb_controllers);
|
||||
#endif
|
||||
DetectI2CBusses(ResourceManager::get()->GetI2CBusses());
|
||||
|
||||
ResourceManager::get()->DetectDevices();
|
||||
} /* DetectRGBControllers() */
|
||||
|
|
|
|||
|
|
@ -95,6 +95,9 @@ HEADERS += \
|
|||
NetworkProtocol.h \
|
||||
NetworkServer.h \
|
||||
ProfileManager.h \
|
||||
ResourceManager.h \
|
||||
Detector.h \
|
||||
DeviceDetector.h \
|
||||
qt/OpenRGBClientInfoPage.h \
|
||||
qt/OpenRGBDeviceInfoPage.h \
|
||||
qt/OpenRGBDevicePage.h \
|
||||
|
|
@ -223,6 +226,7 @@ SOURCES += \
|
|||
NetworkClient.cpp \
|
||||
NetworkServer.cpp \
|
||||
ProfileManager.cpp \
|
||||
ResourceManager.cpp \
|
||||
qt/OpenRGBClientInfoPage.cpp \
|
||||
qt/OpenRGBDeviceInfoPage.cpp \
|
||||
qt/OpenRGBDevicePage.cpp \
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_E131.h"
|
||||
#include <vector>
|
||||
|
|
@ -170,3 +171,5 @@ void DetectE131Controllers(std::vector<RGBController*> &rgb_controllers)
|
|||
}
|
||||
|
||||
} /* DetectE131Controllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectE131Controllers);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_OpenRazer.h"
|
||||
#include <vector>
|
||||
|
|
@ -14,7 +15,7 @@
|
|||
* DetectOpenRazerControllers *
|
||||
* *
|
||||
* Detect devices supported by the OpenRazer kernel drivers *
|
||||
* * *
|
||||
* *
|
||||
\******************************************************************************************/
|
||||
|
||||
void DetectOpenRazerControllers(std::vector<RGBController*> &rgb_controllers)
|
||||
|
|
@ -121,3 +122,5 @@ void DetectOpenRazerControllers(std::vector<RGBController*> &rgb_controllers)
|
|||
}
|
||||
|
||||
} /* DetectOpenRazerControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectOpenRazerControllers);
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "Detector.h"
|
||||
#include "RGBController.h"
|
||||
#include "RGBController_OpenRazerWindows.h"
|
||||
#include <vector>
|
||||
|
|
@ -250,3 +251,5 @@ void DetectOpenRazerControllers(std::vector<RGBController*> &rgb_controllers)
|
|||
}
|
||||
|
||||
} /* DetectOpenRazerControllers() */
|
||||
|
||||
REGISTER_DETECTOR(DetectOpenRazerControllers);
|
||||
71
ResourceManager.cpp
Normal file
71
ResourceManager.cpp
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
#include "ResourceManager.h"
|
||||
|
||||
|
||||
std::unique_ptr<ResourceManager> ResourceManager::instance;
|
||||
|
||||
|
||||
ResourceManager *ResourceManager::get()
|
||||
{
|
||||
if(!instance)
|
||||
{
|
||||
instance = std::make_unique<ResourceManager>();
|
||||
}
|
||||
|
||||
return instance.get();
|
||||
}
|
||||
|
||||
ResourceManager::~ResourceManager()
|
||||
{
|
||||
for(i2c_smbus_interface* bus : busses)
|
||||
{
|
||||
delete bus;
|
||||
}
|
||||
|
||||
for(RGBController* rgb_controller : rgb_controllers)
|
||||
{
|
||||
delete rgb_controller;
|
||||
}
|
||||
}
|
||||
|
||||
void ResourceManager::RegisterI2CBus(i2c_smbus_interface *bus)
|
||||
{
|
||||
busses.push_back(bus);
|
||||
}
|
||||
|
||||
std::vector<i2c_smbus_interface*> & ResourceManager::GetI2CBusses()
|
||||
{
|
||||
return busses;
|
||||
}
|
||||
|
||||
void ResourceManager::RegisterRGBController(RGBController *rgb_controller)
|
||||
{
|
||||
rgb_controllers.push_back(rgb_controller);
|
||||
}
|
||||
|
||||
std::vector<RGBController*> & ResourceManager::GetRGBControllers()
|
||||
{
|
||||
return rgb_controllers;
|
||||
}
|
||||
|
||||
void ResourceManager::RegisterI2CDeviceDetector(I2CDeviceDetectorFunction detector)
|
||||
{
|
||||
i2c_device_detectors.push_back(detector);
|
||||
}
|
||||
|
||||
void ResourceManager::RegisterDeviceDetector(DeviceDetectorFunction detector)
|
||||
{
|
||||
device_detectors.push_back(detector);
|
||||
}
|
||||
|
||||
void ResourceManager::DetectDevices()
|
||||
{
|
||||
for(int i2c_detector_idx = 0; i2c_detector_idx < i2c_device_detectors.size(); i2c_detector_idx++)
|
||||
{
|
||||
i2c_device_detectors[i2c_detector_idx](busses, rgb_controllers);
|
||||
}
|
||||
|
||||
for(int detector_idx = 0; detector_idx < device_detectors.size(); detector_idx++)
|
||||
{
|
||||
device_detectors[detector_idx](rgb_controllers);
|
||||
}
|
||||
}
|
||||
39
ResourceManager.h
Normal file
39
ResourceManager.h
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
#include <functional>
|
||||
|
||||
#include "i2c_smbus.h"
|
||||
#include "RGBController.h"
|
||||
|
||||
typedef std::function<void(std::vector<RGBController*>&)> DeviceDetectorFunction;
|
||||
typedef std::function<void(std::vector<i2c_smbus_interface*>&, std::vector<RGBController*>&)> I2CDeviceDetectorFunction;
|
||||
|
||||
class ResourceManager
|
||||
{
|
||||
public:
|
||||
static ResourceManager *get();
|
||||
|
||||
ResourceManager() = default;
|
||||
~ResourceManager();
|
||||
|
||||
void RegisterI2CBus(i2c_smbus_interface *);
|
||||
std::vector<i2c_smbus_interface*> & GetI2CBusses();
|
||||
|
||||
void RegisterRGBController(RGBController *);
|
||||
std::vector<RGBController*> & GetRGBControllers();
|
||||
|
||||
void RegisterDeviceDetector (DeviceDetectorFunction detector);
|
||||
void RegisterI2CDeviceDetector (I2CDeviceDetectorFunction detector);
|
||||
|
||||
void DetectDevices();
|
||||
|
||||
private:
|
||||
static std::unique_ptr<ResourceManager> instance;
|
||||
|
||||
std::vector<i2c_smbus_interface*> busses;
|
||||
std::vector<RGBController*> rgb_controllers;
|
||||
std::vector<DeviceDetectorFunction> device_detectors;
|
||||
std::vector<I2CDeviceDetectorFunction> i2c_device_detectors;
|
||||
};
|
||||
11
main.cpp
11
main.cpp
|
|
@ -6,6 +6,7 @@
|
|||
* *
|
||||
\******************************************************************************************/
|
||||
|
||||
#include "ResourceManager.h"
|
||||
#include "NetworkClient.h"
|
||||
#include "NetworkServer.h"
|
||||
#include "OpenRGB.h"
|
||||
|
|
@ -23,9 +24,6 @@ using namespace std::chrono_literals;
|
|||
|
||||
std::vector<NetworkClient*> clients;
|
||||
|
||||
extern std::vector<i2c_smbus_interface*> busses;
|
||||
extern std::vector<RGBController*> rgb_controllers;
|
||||
|
||||
/*-------------------------------------------------------------*\
|
||||
| Command line functionality and return flags |
|
||||
\*-------------------------------------------------------------*/
|
||||
|
|
@ -84,7 +82,7 @@ void InitializeTimerResolutionThreadFunction()
|
|||
* *
|
||||
\******************************************************************************************/
|
||||
|
||||
bool AttemptLocalConnection()
|
||||
bool AttemptLocalConnection(std::vector<RGBController*> &rgb_controllers)
|
||||
{
|
||||
bool success = false;
|
||||
|
||||
|
|
@ -134,10 +132,13 @@ int main(int argc, char* argv[])
|
|||
InitializeTimerResolutionThread->detach();
|
||||
#endif
|
||||
|
||||
std::vector<i2c_smbus_interface*> &busses = ResourceManager::get()->GetI2CBusses();
|
||||
std::vector<RGBController*> &rgb_controllers = ResourceManager::get()->GetRGBControllers();
|
||||
|
||||
ProfileManager profile_manager(rgb_controllers);
|
||||
NetworkServer server(rgb_controllers);
|
||||
|
||||
if(!AttemptLocalConnection())
|
||||
if(!AttemptLocalConnection(rgb_controllers))
|
||||
{
|
||||
DetectRGBControllers();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue