ENESMBusController robustness improvements - only register controller if valid device name and LED count were read

This commit is contained in:
Adam Honse committed 2026-09-23 12:00:59 -05:00
1 parent 6838d9d9c0
commit 05983e2db2
3 files changed
+28 -8

No files matched your search

@@ -198,11 +198,19 @@ DetectedControllers DetectENESMBusDRAMControllers(std::vector<i2c_smbus_interfac
{
if(TestForENESMBusController(buses[bus], ene_ram_addresses[address_list_idx]))
{
ENESMBusInterface_i2c_smbus* interface = new ENESMBusInterface_i2c_smbus(buses[bus]);
ENESMBusController* controller = new ENESMBusController(interface, ene_ram_addresses[address_list_idx], "ENE DRAM", DEVICE_TYPE_DRAM);
RGBController_ENESMBus* rgb_controller = new RGBController_ENESMBus(controller);
ENESMBusInterface_i2c_smbus* interface = new ENESMBusInterface_i2c_smbus(buses[bus]);
ENESMBusController* controller = new ENESMBusController(interface, ene_ram_addresses[address_list_idx], "ENE DRAM", DEVICE_TYPE_DRAM);
detected_controllers.push_back(rgb_controller);
if(controller->GetLEDCount() > 0)
{
RGBController_ENESMBus* rgb_controller = new RGBController_ENESMBus(controller);
detected_controllers.push_back(rgb_controller);
}
else
{
delete controller;
}
}
std::this_thread::sleep_for(1ms);