From 5bc80cce96decd64b09a056ac0ff9ff57befcc30 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Thu, 22 Aug 2019 21:07:13 -0500 Subject: [PATCH] Get reorganized code building on Windows --- .../LEDStripController/LEDStripController.cpp | 3 - .../LEDStripController/LEDStripController.h | 5 + .../LEDStripControllerDetect.cpp | 16 +- OpenAuraSDK.cpp | 6 +- OpenAuraSDK.sln | 6 +- OpenAuraSDK.vcxproj | 120 ++++---- OpenAuraSDK.vcxproj.filters | 279 ++++++++++-------- i2c_smbus/i2c_smbus_nct6775.cpp | 4 +- i2c_smbus/i2c_smbus_nct6775.h | 18 +- main.cpp | 17 +- vc/Resource.rc | Bin 8670 -> 8678 bytes 11 files changed, 270 insertions(+), 204 deletions(-) diff --git a/Controllers/LEDStripController/LEDStripController.cpp b/Controllers/LEDStripController/LEDStripController.cpp index 84a3e3de..785a5b49 100644 --- a/Controllers/LEDStripController/LEDStripController.cpp +++ b/Controllers/LEDStripController/LEDStripController.cpp @@ -10,9 +10,6 @@ #include #include -#define LPSTR char * -#define strtok_s strtok_r - LEDStripController::LEDStripController() { diff --git a/Controllers/LEDStripController/LEDStripController.h b/Controllers/LEDStripController/LEDStripController.h index 56bd0cdf..dc71164e 100644 --- a/Controllers/LEDStripController/LEDStripController.h +++ b/Controllers/LEDStripController/LEDStripController.h @@ -17,6 +17,11 @@ #define FALSE false #endif +#ifndef WIN32 +#define LPSTR char * +#define strtok_s strtok_r +#endif + class LEDStripController { public: diff --git a/Controllers/LEDStripController/LEDStripControllerDetect.cpp b/Controllers/LEDStripController/LEDStripControllerDetect.cpp index af6f11db..aa1f4274 100644 --- a/Controllers/LEDStripController/LEDStripControllerDetect.cpp +++ b/Controllers/LEDStripController/LEDStripControllerDetect.cpp @@ -6,13 +6,16 @@ #include #include -#include -#include #include #include #include #include +#ifndef WIN32 +#include +#include +#endif + /******************************************************************************************\ * * * DetectLEDStripControllers * @@ -31,9 +34,16 @@ void DetectLEDStripControllers(std::vector &rgb_controllers) char filename[2048]; char arg1[64]; +#ifdef WIN32 + GetModuleFileName(NULL, filename, 2048); + strcpy(filename, std::string(filename).substr(0, std::string(filename).find_last_of("\\/")).c_str()); + strcat(filename, "\\settings.txt"); +#else snprintf(arg1, 64, "/proc/%d/exe", getpid()); readlink(arg1, filename, 1024); strcpy(filename, std::string(filename).substr(0, std::string(filename).find_last_of("\\/")).c_str()); +#endif + strcat(filename, "/settings.txt"); //Open settings file @@ -54,7 +64,7 @@ void DetectLEDStripControllers(std::vector &rgb_controllers) value = (char *)line.c_str(); - argument = strtok_r(value, "=", &value); + argument = strtok_s(value, "=", &value); //Strip off new line characters if present argument = strtok(argument, "\r\n"); diff --git a/OpenAuraSDK.cpp b/OpenAuraSDK.cpp index e93301c3..7148c13c 100644 --- a/OpenAuraSDK.cpp +++ b/OpenAuraSDK.cpp @@ -20,7 +20,7 @@ #include #include "i2c_smbus_piix4.h" #include "i2c_smbus_i801.h" -#include "i2c_smbus_nuvoton_nct6775.h" +#include "i2c_smbus_nct6775.h" #include "wmi.h" #include "inpout32.h" @@ -124,14 +124,14 @@ void DetectNuvotonI2CBusses() case SIO_NCT6102_ID: case SIO_NCT6793_ID: case SIO_NCT6796_ID: - bus = new i2c_smbus_nuvoton_nct6775(); + bus = new i2c_smbus_nct6775(); // Set logical device register to get SMBus base address superio_outb(sioaddr, SIO_REG_LOGDEV, SIO_LOGDEV_SMBUS); // Get SMBus base address from configuration register int smba = (superio_inb(sioaddr, SIO_REG_SMBA) << 8) | superio_inb(sioaddr, SIO_REG_SMBA + 1); - ((i2c_smbus_nuvoton_nct6775*)bus)->nuvoton_nct6775_smba = smba; + ((i2c_smbus_nct6775*)bus)->nct6775_smba = smba; // Set device name string switch (val & SIO_ID_MASK) diff --git a/OpenAuraSDK.sln b/OpenAuraSDK.sln index efc9459c..b94bf34b 100644 --- a/OpenAuraSDK.sln +++ b/OpenAuraSDK.sln @@ -1,9 +1,9 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27703.2026 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.28803.452 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OpenAuraSDK", "OpenAuraSDK\OpenAuraSDK.vcxproj", "{6D22BFF3-C1DF-407A-8816-05D63919A991}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OpenAuraSDK", "OpenAuraSDK.vcxproj", "{6D22BFF3-C1DF-407A-8816-05D63919A991}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/OpenAuraSDK.vcxproj b/OpenAuraSDK.vcxproj index 5da853f4..0859c577 100644 --- a/OpenAuraSDK.vcxproj +++ b/OpenAuraSDK.vcxproj @@ -98,16 +98,16 @@ true WIN32;_CRT_SECURE_NO_WARNINGS;_AFXDLL true - ..\dependencies\inpout32_1501\Win32;%(AdditionalIncludeDirectories) + .\dependencies\inpout32_1501\Win32;.\Controllers\AuraController;.\Controllers\CorsairController;.\Controllers\CorsairProController;.\Controllers\HyperXController;.\Controllers\LEDStripController;.\RGBController;.\i2c_smbus;.\serial_port;.\vc;.\wmi;.\;%(AdditionalIncludeDirectories) true MultiThreadedDLL - Console + Windows true - ..\dependencies\inpout32_1501\Win32;%(AdditionalLibraryDirectories) + .\dependencies\inpout32_1501\Win32;%(AdditionalLibraryDirectories) @@ -120,13 +120,14 @@ true - ..\dependencies\inpout32_1501\Win32;%(AdditionalIncludeDirectories) + .\dependencies\inpout32_1501\Win32;.\Controllers\AuraController;.\Controllers\CorsairController;.\Controllers\CorsairProController;.\Controllers\HyperXController;.\Controllers\LEDStripController;.\RGBController;.\i2c_smbus;.\serial_port;.\vc;.\wmi;.\;%(AdditionalIncludeDirectories) MultiThreadedDLL + true - Console + Windows true - ..\dependencies\inpout32_1501\Win32;%(AdditionalLibraryDirectories) + .\dependencies\inpout32_1501\Win32;%(AdditionalLibraryDirectories) @@ -139,18 +140,18 @@ true WIN32;_CRT_SECURE_NO_WARNINGS;_AFXDLL true - ..\dependencies\inpout32_1501\Win32;%(AdditionalIncludeDirectories) + .\dependencies\inpout32_1501\Win32;.\Controllers\AuraController;.\Controllers\CorsairController;.\Controllers\CorsairProController;.\Controllers\HyperXController;.\Controllers\LEDStripController;.\RGBController;.\i2c_smbus;.\serial_port;.\vc;.\wmi;.\;%(AdditionalIncludeDirectories) true MultiThreadedDLL - Console + Windows true true true - ..\dependencies\inpout32_1501\Win32;%(AdditionalLibraryDirectories) + .\dependencies\inpout32_1501\Win32;%(AdditionalLibraryDirectories) @@ -165,67 +166,72 @@ true - ..\dependencies\inpout32_1501\Win32;%(AdditionalIncludeDirectories) + .\dependencies\inpout32_1501\Win32;.\Controllers\AuraController;.\Controllers\CorsairController;.\Controllers\CorsairProController;.\Controllers\HyperXController;.\Controllers\LEDStripController;.\RGBController;.\i2c_smbus;.\serial_port;.\vc;.\wmi;.\;%(AdditionalIncludeDirectories) MultiThreadedDLL + true - Console + Windows true true true - ..\dependencies\inpout32_1501\Win32;%(AdditionalLibraryDirectories) + .\dependencies\inpout32_1501\Win32;%(AdditionalLibraryDirectories) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/OpenAuraSDK.vcxproj.filters b/OpenAuraSDK.vcxproj.filters index 73c0a8c7..41abddc3 100644 --- a/OpenAuraSDK.vcxproj.filters +++ b/OpenAuraSDK.vcxproj.filters @@ -13,146 +13,179 @@ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + {192d5e34-581a-40c4-bc69-f4b61632fd81} + + + {d64d74dd-f822-4617-a88c-00dca03f70d9} + + + {ee7c811d-9bd1-43a8-9d42-62801332ab30} + + + {fa28cfae-d8a7-4194-8f25-e35827dd0145} + + + {a50a158e-81a1-45c3-a300-67e869afcc2f} + + + {8eae9b90-7558-4b0b-9f03-d3a651cb6624} + + + {02dd848e-6106-4f74-a58c-4a7547498ac3} + - + + Source Files\Application + + + Source Files\Application + + + Source Files + + + Source Files + + + Source Files\Controllers + + + Source Files\Controllers + + + Source Files\Controllers + + + Source Files\Controllers + + + Source Files\Controllers + + + Source Files\Controllers + + + Source Files\Controllers + + + Source Files\Controllers + + + Source Files\i2c_smbus + + + Source Files\i2c_smbus + + + Source Files\i2c_smbus + + + Source Files\i2c_smbus + + + Source Files\RGBController + + + Source Files\RGBController + + + Source Files\RGBController + + + Source Files\RGBController + + + Source Files\RGBController + + + Source Files\RGBController + + + Source Files\Application + + + Source Files\Controllers + + + Source Files\Controllers + + + Source Files\Application + + + + + Resource Files + + + + Header Files - + Header Files - - Header Files + + Header Files\Controllers - - Header Files + + Header Files\Controllers - - Header Files + + Header Files\Controllers - - Header Files + + Header Files\Controllers - + + Header Files\Controllers + + + Header Files\RGBController + + + Header Files\RGBController + + + Header Files\RGBController + + + Header Files\RGBController + + + Header Files\RGBController + + + Header Files\RGBController + + + Header Files\RGBController + + + Header Files\i2c_smbus + + + Header Files\i2c_smbus + + + Header Files\i2c_smbus + + + Header Files\i2c_smbus + + Header Files Header Files - + Header Files - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - + Resource Files - + \ No newline at end of file diff --git a/i2c_smbus/i2c_smbus_nct6775.cpp b/i2c_smbus/i2c_smbus_nct6775.cpp index 26d75b3c..5dd22ffe 100644 --- a/i2c_smbus/i2c_smbus_nct6775.cpp +++ b/i2c_smbus/i2c_smbus_nct6775.cpp @@ -12,7 +12,7 @@ #pragma comment(lib, "inpout32.lib") -s32 i2c_smbus_nuvoton_nct6775::nct6775_access(u16 addr, char read_write, u8 command, int size, i2c_smbus_data *data) +s32 i2c_smbus_nct6775::nct6775_access(u16 addr, char read_write, u8 command, int size, i2c_smbus_data *data) { int i, len, status, cnt; @@ -154,7 +154,7 @@ s32 i2c_smbus_nuvoton_nct6775::nct6775_access(u16 addr, char read_write, u8 comm return 0; } -s32 i2c_smbus_nuvoton_nct6775::i2c_smbus_xfer(u8 addr, char read_write, u8 command, int size, i2c_smbus_data* data) +s32 i2c_smbus_nct6775::i2c_smbus_xfer(u8 addr, char read_write, u8 command, int size, i2c_smbus_data* data) { return nct6775_access(addr, read_write, command, size, data); } \ No newline at end of file diff --git a/i2c_smbus/i2c_smbus_nct6775.h b/i2c_smbus/i2c_smbus_nct6775.h index 5ee0ce28..c56c89e2 100644 --- a/i2c_smbus/i2c_smbus_nct6775.h +++ b/i2c_smbus/i2c_smbus_nct6775.h @@ -10,14 +10,14 @@ #pragma once -#define SMBHSTDAT (0 + nuvoton_nct6793d_smba) -#define SMBBLKSZ (1 + nuvoton_nct6793d_smba) -#define SMBHSTCMD (2 + nuvoton_nct6793d_smba) -#define SMBHSTIDX (3 + nuvoton_nct6793d_smba) //Index field is the Command field on other controllers -#define SMBHSTCTL (4 + nuvoton_nct6793d_smba) -#define SMBHSTADD (5 + nuvoton_nct6793d_smba) -#define SMBHSTERR (9 + nuvoton_nct6793d_smba) -#define SMBHSTSTS (0xE + nuvoton_nct6793d_smba) +#define SMBHSTDAT (0 + nct6775_smba) +#define SMBBLKSZ (1 + nct6775_smba) +#define SMBHSTCMD (2 + nct6775_smba) +#define SMBHSTIDX (3 + nct6775_smba) //Index field is the Command field on other controllers +#define SMBHSTCTL (4 + nct6775_smba) +#define SMBHSTADD (5 + nct6775_smba) +#define SMBHSTERR (9 + nct6775_smba) +#define SMBHSTSTS (0xE + nct6775_smba) /* Command register */ #define NCT6775_READ_BYTE 0 @@ -34,7 +34,7 @@ #define NCT6775_SOFT_RESET 64 /* Error register */ -#define NCT677f_NO_ACK 32 +#define NCT6775_NO_ACK 32 /* Status register */ #define NCT6775_FIFO_EMPTY 1 diff --git a/main.cpp b/main.cpp index a94f15a2..39e6c6a3 100644 --- a/main.cpp +++ b/main.cpp @@ -52,4 +52,19 @@ int main(int argc, char* argv[]) return a.exec(); #endif -} \ No newline at end of file +} + +/******************************************************************************************\ +* * +* wWinMain * +* * +* Entry point for Windows. Calls main(). * +* * +\******************************************************************************************/ + +#ifdef WIN32 +int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow) +{ + main(0, NULL); +} +#endif \ No newline at end of file diff --git a/vc/Resource.rc b/vc/Resource.rc index 71f82879e105275fc3cea68a4154f699bc116078..07f432f4e757c09a2ea6c5c91dbd02566e38980e 100644 GIT binary patch delta 30 mcmccT{LFbn3ooxDLn%WMLn1>kgA0TA