From 3a249382fbdac88a725c8e1ae3d11d6e374345cc Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Mon, 18 Feb 2019 20:45:55 -0600 Subject: [PATCH] Start work on Visual Studio GUI --- OpenAuraSDK/I2CDetectDialog.cpp | 49 +++++++++ OpenAuraSDK/I2CDetectDialog.h | 28 +++++ OpenAuraSDK/OpenAuraSDK.cpp | 43 +++++--- OpenAuraSDK/OpenAuraSDK.h | 9 ++ OpenAuraSDK/OpenAuraSDK.vcxproj | 34 ++++-- OpenAuraSDK/OpenAuraSDK.vcxproj.filters | 26 ++++- OpenAuraSDK/OpenAuraSDKDialog.cpp | 139 ++++++++++++++++++++++++ OpenAuraSDK/OpenAuraSDKDialog.h | 40 +++++++ OpenAuraSDK/Resource.rc | Bin 0 -> 8472 bytes OpenAuraSDK/resource.h | 31 ++++++ 10 files changed, 374 insertions(+), 25 deletions(-) create mode 100644 OpenAuraSDK/I2CDetectDialog.cpp create mode 100644 OpenAuraSDK/I2CDetectDialog.h create mode 100644 OpenAuraSDK/OpenAuraSDK.h create mode 100644 OpenAuraSDK/OpenAuraSDKDialog.cpp create mode 100644 OpenAuraSDK/OpenAuraSDKDialog.h create mode 100644 OpenAuraSDK/Resource.rc create mode 100644 OpenAuraSDK/resource.h diff --git a/OpenAuraSDK/I2CDetectDialog.cpp b/OpenAuraSDK/I2CDetectDialog.cpp new file mode 100644 index 00000000..e8e46567 --- /dev/null +++ b/OpenAuraSDK/I2CDetectDialog.cpp @@ -0,0 +1,49 @@ +#include "I2CDetectDialog.h" +#include "OpenAuraSDK.h" + +IMPLEMENT_DYNAMIC(I2CDetectDialog, CDialogEx) + +I2CDetectDialog::I2CDetectDialog(std::vector& bus, CWnd* pParent) + : CDialogEx(IDD_DIALOG_I2C_DETECT, pParent), busses(bus) +{ + +} + +I2CDetectDialog::~I2CDetectDialog() +{ + +} + +void I2CDetectDialog::DoDataExchange(CDataExchange* pDX) +{ + CDialogEx::DoDataExchange(pDX); +} + +BEGIN_MESSAGE_MAP(I2CDetectDialog, CDialogEx) + ON_BN_CLICKED(IDC_BUTTON_I2C_DETECT, &I2CDetectDialog::OnBnClickedButtonI2cDetect) +END_MESSAGE_MAP() + +BOOL I2CDetectDialog::OnInitDialog() +{ + CComboBox* i2c_bus_box = (CComboBox*)GetDlgItem(IDC_COMBO_I2C_BUS); + for (int i = 0; i < busses.size(); i++) + { + i2c_bus_box->AddString(busses[i]->device_name); + i2c_bus_box->SetCurSel(0); + } + + CFont* myFont = new CFont(); + myFont->CreateFontA(16, 0, 0, 0, FW_DONTCARE, false, false, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FIXED_PITCH | FF_MODERN, _T("Consolas")); + + CEdit* edit = (CEdit*)GetDlgItem(IDC_EDIT_I2C_DETECT); + edit->SetFont(myFont); + + return TRUE; +} + +void I2CDetectDialog::OnBnClickedButtonI2cDetect() +{ + i2c_smbus_interface* bus = busses[((CComboBox*)GetDlgItem(IDC_COMBO_I2C_BUS))->GetCurSel()]; + + SetDlgItemText(IDC_EDIT_I2C_DETECT, DetectI2C(bus, MODE_QUICK).c_str()); +} \ No newline at end of file diff --git a/OpenAuraSDK/I2CDetectDialog.h b/OpenAuraSDK/I2CDetectDialog.h new file mode 100644 index 00000000..8cb11af4 --- /dev/null +++ b/OpenAuraSDK/I2CDetectDialog.h @@ -0,0 +1,28 @@ +#ifndef I2CDETECT_DIALOG_H +#define I2CDETECT_DIALOG_H + +#include +#include +#include "i2c_smbus.h" +#include "resource.h" + +class I2CDetectDialog : public CDialogEx +{ + DECLARE_DYNAMIC(I2CDetectDialog) + +public: + I2CDetectDialog(std::vector& bus, CWnd* pParent = NULL); + virtual ~I2CDetectDialog(); + virtual BOOL OnInitDialog(); + +private: + +protected: + std::vector& busses; + virtual void DoDataExchange(CDataExchange* pDX); + DECLARE_MESSAGE_MAP() +public: + afx_msg void OnBnClickedButtonI2cDetect(); +}; + +#endif diff --git a/OpenAuraSDK/OpenAuraSDK.cpp b/OpenAuraSDK/OpenAuraSDK.cpp index b84e0ee9..c09a8f92 100644 --- a/OpenAuraSDK/OpenAuraSDK.cpp +++ b/OpenAuraSDK/OpenAuraSDK.cpp @@ -11,6 +11,9 @@ #include #include #include +#include +#include "OpenAuraSDKDialog.h" +#include "I2CDetectDialog.h" #ifdef WIN32 @@ -92,11 +95,15 @@ void DetectI2CBusses() if (i["Manufacturer"].find("Advanced Micro Devices, Inc") != std::string::npos) { bus = new i2c_smbus_piix4(); + strcpy(bus->device_name, i["Description"].c_str()); + strcat(bus->device_name, " at 0x0B00"); ((i2c_smbus_piix4 *)bus)->piix4_smba = 0x0B00; busses.push_back(bus); bus = new i2c_smbus_piix4(); ((i2c_smbus_piix4 *)bus)->piix4_smba = 0x0B20; + strcpy(bus->device_name, i["Description"].c_str()); + strcat(bus->device_name, " at 0x0B20"); busses.push_back(bus); } @@ -124,6 +131,7 @@ void DetectI2CBusses() unsigned int IORangeStart = std::stoi(matches[1].str()); bus = new i2c_smbus_i801(); + strcpy(bus->device_name, i["Description"].c_str()); ((i2c_smbus_i801 *)bus)->i801_smba = IORangeStart; busses.push_back(bus); } @@ -291,19 +299,23 @@ void DetectAuraControllers() #define MODE_READ 2 #define MODE_FUNC 3 -void DetectI2C(i2c_smbus_interface * bus, int mode) +std::string DetectI2C(i2c_smbus_interface * bus, int mode) { int i, j; int res; int slave_addr; + char line[128]; + std::string text; freopen("i2cdetect.txt", "a", stdout); - printf(" 0 1 2 3 4 5 6 7 8 9 a b c d e f\r\n"); + sprintf(line, " 0 1 2 3 4 5 6 7 8 9 a b c d e f\r\n"); + text.append(line); for (i = 0; i < 128; i += 16) { - printf("%02x: ", i); + sprintf(line, "%02x: ", i); + text.append(line); for (j = 0; j < 16; j++) { @@ -330,16 +342,21 @@ void DetectI2C(i2c_smbus_interface * bus, int mode) if (res < 0) { - printf("-- "); + sprintf(line, "-- "); + text.append(line); } else { - printf("%02x ", i + j); + sprintf(line, "%02x ", i + j); + text.append(line); } } - printf("\r\n"); + sprintf(line, "\r\n"); + text.append(line); } + return text; + } /* DetectI2C() */ @@ -355,13 +372,13 @@ void DumpAuraRegisters(AuraController * controller) { int i, j; - int start = 0x8000; + int start = 0x0000; freopen("auradump.txt", "a", stdout); printf(" 0 1 2 3 4 5 6 7 8 9 a b c d e f\r\n"); - for (i = 0; i < 512; i += 16) + for (i = 0; i < 0xFFFF; i += 16) { printf("%04x: ", i + start); @@ -388,11 +405,7 @@ void DumpAuraRegisters(AuraController * controller) * * \******************************************************************************************/ -#ifdef WIN32 -INT WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, INT nCmdShow) -#else /* WIN32 */ int main() -#endif /* WIN32 */ { // Colors Array R B G unsigned char colors[15] = { 255, 0, 0, @@ -404,7 +417,10 @@ int main() DetectAuraControllers(); - for (unsigned int i = 0; i < controllers.size(); i++) + OpenAuraSDKDialog dlg(busses, controllers); + dlg.DoModal(); + + /*for (unsigned int i = 0; i < controllers.size(); i++) { controllers[i]->AuraRegisterWrite(AURA_REG_DIRECT, 1); controllers[i]->AuraRegisterWrite(AURA_REG_APPLY, AURA_APPLY_VAL); @@ -415,5 +431,6 @@ int main() controllers[i]->AuraRegisterWriteBlock(AURA_REG_COLORS_DIRECT, colors, 15); } + DumpAuraRegisters(controllers[4]);*/ return 1; } diff --git a/OpenAuraSDK/OpenAuraSDK.h b/OpenAuraSDK/OpenAuraSDK.h new file mode 100644 index 00000000..bb9f77a7 --- /dev/null +++ b/OpenAuraSDK/OpenAuraSDK.h @@ -0,0 +1,9 @@ +#include +#include "i2c_smbus.h" + +#define MODE_AUTO 0 +#define MODE_QUICK 1 +#define MODE_READ 2 +#define MODE_FUNC 3 + +std::string DetectI2C(i2c_smbus_interface * bus, int mode); \ No newline at end of file diff --git a/OpenAuraSDK/OpenAuraSDK.vcxproj b/OpenAuraSDK/OpenAuraSDK.vcxproj index 4b19a86c..f03cd865 100644 --- a/OpenAuraSDK/OpenAuraSDK.vcxproj +++ b/OpenAuraSDK/OpenAuraSDK.vcxproj @@ -31,6 +31,7 @@ true v141 Unicode + Dynamic Application @@ -38,12 +39,14 @@ v141 true Unicode + Dynamic Application true v141 Unicode + Dynamic Application @@ -51,6 +54,7 @@ v141 true Unicode + Dynamic @@ -92,15 +96,16 @@ Level3 Disabled true - WIN32;_CRT_SECURE_NO_WARNINGS + WIN32;_CRT_SECURE_NO_WARNINGS;_AFXDLL true ..\dependencies\inpout32_1501\Win32;%(AdditionalIncludeDirectories) true + MultiThreadedDLL - Windows + Console true ..\dependencies\inpout32_1501\Win32;%(AdditionalLibraryDirectories) @@ -111,14 +116,15 @@ Level3 Disabled true - WIN32;_CRT_SECURE_NO_WARNINGS + WIN32;_CRT_SECURE_NO_WARNINGS;_AFXDLL true ..\dependencies\inpout32_1501\Win32;%(AdditionalIncludeDirectories) + MultiThreadedDLL - Windows + Console true ..\dependencies\inpout32_1501\Win32;%(AdditionalLibraryDirectories) @@ -131,15 +137,16 @@ true true true - WIN32;_CRT_SECURE_NO_WARNINGS + WIN32;_CRT_SECURE_NO_WARNINGS;_AFXDLL true ..\dependencies\inpout32_1501\Win32;%(AdditionalIncludeDirectories) true + MultiThreadedDLL - Windows + Console true true true @@ -154,14 +161,15 @@ true true true - WIN32;_CRT_SECURE_NO_WARNINGS + WIN32;_CRT_SECURE_NO_WARNINGS;_AFXDLL true ..\dependencies\inpout32_1501\Win32;%(AdditionalIncludeDirectories) + MultiThreadedDLL - Windows + Console true true true @@ -170,21 +178,29 @@ + - + + + + + + + + diff --git a/OpenAuraSDK/OpenAuraSDK.vcxproj.filters b/OpenAuraSDK/OpenAuraSDK.vcxproj.filters index fe80664a..4026b777 100644 --- a/OpenAuraSDK/OpenAuraSDK.vcxproj.filters +++ b/OpenAuraSDK/OpenAuraSDK.vcxproj.filters @@ -24,15 +24,24 @@ Header Files - - Header Files - Header Files Header Files + + Header Files + + + Header Files + + + Header Files + + + Header Files + @@ -56,5 +65,16 @@ Source Files + + Source Files + + + Source Files + + + + + Resource Files + \ No newline at end of file diff --git a/OpenAuraSDK/OpenAuraSDKDialog.cpp b/OpenAuraSDK/OpenAuraSDKDialog.cpp new file mode 100644 index 00000000..d0fda97a --- /dev/null +++ b/OpenAuraSDK/OpenAuraSDKDialog.cpp @@ -0,0 +1,139 @@ +#include "OpenAuraSDKDialog.h" +#include "OpenAuraSDK.h" +#include "I2CDetectDialog.h" + +IMPLEMENT_DYNAMIC(OpenAuraSDKDialog, CDialogEx) + +OpenAuraSDKDialog::OpenAuraSDKDialog(std::vector& bus, std::vector& control, CWnd* pParent) + : CDialogEx(IDD_DIALOG_OPENAURASDK, pParent), busses(bus), controllers (control) +{ + +} + +OpenAuraSDKDialog::~OpenAuraSDKDialog() +{ + +} + +void OpenAuraSDKDialog::DoDataExchange(CDataExchange* pDX) +{ + CDialogEx::DoDataExchange(pDX); +} + +BEGIN_MESSAGE_MAP(OpenAuraSDKDialog, CDialogEx) + ON_BN_CLICKED(IDC_BUTTON_OPENAURASDK_I2CDETECT, &OpenAuraSDKDialog::OnBnClickedButtonOpenaurasdkI2cdetect) + ON_BN_CLICKED(IDC_RADIO_OPENAURASDK_DIRECT_MODE, &OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkDirectMode) + ON_BN_CLICKED(IDC_RADIO_OPENAURASDK_EFFECT_MODE, &OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectMode) + ON_BN_CLICKED(IDC_RADIO_OPENAURASDK_EFFECT_OFF, &OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectOff) + ON_BN_CLICKED(IDC_RADIO_OPENAURASDK_EFFECT_STATIC, &OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectStatic) + ON_BN_CLICKED(IDC_RADIO_OPENAURASDK_EFFECT_BREATHING, &OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectBreathing) + ON_BN_CLICKED(IDC_RADIO_OPENAURASDK_EFFECT_FLASHING, &OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectFlashing) + ON_BN_CLICKED(IDC_RADIO_OPENAURASDK_EFFECT_SPECTRUM_CYCLE, &OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectSpectrumCycle) + ON_BN_CLICKED(IDC_RADIO_OPENAURASDK_EFFECT_RAINBOW, &OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectRainbow) + ON_BN_CLICKED(IDC_RADIO_OPENAURASDK_BREATHING_SPECTRUM, &OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkBreathingSpectrum) +END_MESSAGE_MAP() + +BOOL OpenAuraSDKDialog::OnInitDialog() +{ + CFont* myFont = new CFont(); + myFont->CreateFontA(16, 0, 0, 0, FW_DONTCARE, false, false, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FIXED_PITCH | FF_MODERN, _T("Consolas")); + + return TRUE; +} + + +void OpenAuraSDKDialog::OnBnClickedButtonOpenaurasdkI2cdetect() +{ + I2CDetectDialog dlg(busses); + dlg.DoModal(); +} + + +void OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkDirectMode() +{ + for (int i = 0; i < controllers.size(); i++) + { + controllers[i]->AuraRegisterWrite(AURA_REG_DIRECT, 1); + controllers[i]->AuraRegisterWrite(AURA_REG_APPLY, AURA_APPLY_VAL); + } +} + + +void OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectMode() +{ + for (int i = 0; i < controllers.size(); i++) + { + controllers[i]->AuraRegisterWrite(AURA_REG_DIRECT, 0); + controllers[i]->AuraRegisterWrite(AURA_REG_APPLY, AURA_APPLY_VAL); + } +} + + +void OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectOff() +{ + for (int i = 0; i < controllers.size(); i++) + { + controllers[i]->AuraRegisterWrite(AURA_REG_MODE, AURA_MODE_OFF); + controllers[i]->AuraRegisterWrite(AURA_REG_APPLY, AURA_APPLY_VAL); + } +} + + +void OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectStatic() +{ + for (int i = 0; i < controllers.size(); i++) + { + controllers[i]->AuraRegisterWrite(AURA_REG_MODE, AURA_MODE_STATIC); + controllers[i]->AuraRegisterWrite(AURA_REG_APPLY, AURA_APPLY_VAL); + } +} + + +void OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectBreathing() +{ + for (int i = 0; i < controllers.size(); i++) + { + controllers[i]->AuraRegisterWrite(AURA_REG_MODE, AURA_MODE_BREATHING); + controllers[i]->AuraRegisterWrite(AURA_REG_APPLY, AURA_APPLY_VAL); + } +} + + +void OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectFlashing() +{ + for (int i = 0; i < controllers.size(); i++) + { + controllers[i]->AuraRegisterWrite(AURA_REG_MODE, AURA_MODE_FLASHING); + controllers[i]->AuraRegisterWrite(AURA_REG_APPLY, AURA_APPLY_VAL); + } +} + + +void OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectSpectrumCycle() +{ + for (int i = 0; i < controllers.size(); i++) + { + controllers[i]->AuraRegisterWrite(AURA_REG_MODE, AURA_MODE_SPECTRUM_CYCLE); + controllers[i]->AuraRegisterWrite(AURA_REG_APPLY, AURA_APPLY_VAL); + } +} + + +void OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkEffectRainbow() +{ + for (int i = 0; i < controllers.size(); i++) + { + controllers[i]->AuraRegisterWrite(AURA_REG_MODE, AURA_MODE_RAINBOW); + controllers[i]->AuraRegisterWrite(AURA_REG_APPLY, AURA_APPLY_VAL); + } +} + + +void OpenAuraSDKDialog::OnBnClickedRadioOpenaurasdkBreathingSpectrum() +{ + for (int i = 0; i < controllers.size(); i++) + { + controllers[i]->AuraRegisterWrite(AURA_REG_MODE, AURA_MODE_SPECTRUM_CYCLE_BREATHING); + controllers[i]->AuraRegisterWrite(AURA_REG_APPLY, AURA_APPLY_VAL); + } +} diff --git a/OpenAuraSDK/OpenAuraSDKDialog.h b/OpenAuraSDK/OpenAuraSDKDialog.h new file mode 100644 index 00000000..db5ef7dc --- /dev/null +++ b/OpenAuraSDK/OpenAuraSDKDialog.h @@ -0,0 +1,40 @@ +#ifndef OPENAURASDK_DIALOG_H +#define OPENAURASDK_DIALOG_H + +#include +#include +#include "i2c_smbus.h" +#include "AuraController.h" +#include "resource.h" + +class OpenAuraSDKDialog : public CDialogEx +{ + DECLARE_DYNAMIC(OpenAuraSDKDialog) + +public: + OpenAuraSDKDialog(std::vector& bus, std::vector& control, CWnd* pParent = NULL); + virtual ~OpenAuraSDKDialog(); + virtual BOOL OnInitDialog(); + +private: + +protected: + std::vector& busses; + std::vector& controllers; + virtual void DoDataExchange(CDataExchange* pDX); + DECLARE_MESSAGE_MAP() +public: + + afx_msg void OnBnClickedButtonOpenaurasdkI2cdetect(); + afx_msg void OnBnClickedRadioOpenaurasdkDirectMode(); + afx_msg void OnBnClickedRadioOpenaurasdkEffectMode(); + afx_msg void OnBnClickedRadioOpenaurasdkEffectOff(); + afx_msg void OnBnClickedRadioOpenaurasdkEffectStatic(); + afx_msg void OnBnClickedRadioOpenaurasdkEffectBreathing(); + afx_msg void OnBnClickedRadioOpenaurasdkEffectFlashing(); + afx_msg void OnBnClickedRadioOpenaurasdkEffectSpectrumCycle(); + afx_msg void OnBnClickedRadioOpenaurasdkEffectRainbow(); + afx_msg void OnBnClickedRadioOpenaurasdkBreathingSpectrum(); +}; + +#endif diff --git a/OpenAuraSDK/Resource.rc b/OpenAuraSDK/Resource.rc new file mode 100644 index 0000000000000000000000000000000000000000..8c719b182689addb8eee107620035aa6d2b15dfd GIT binary patch literal 8472 zcmezWPoF`bL4m=SA(J7Qp@<=$p_n0`A&sGgL4hHRA(Nq)p_Cz!A%{VM!I?puL7PE= zA)O(WA&()Ip@<=op@booA%#JKp@<d zi9sQz%uvdZ2Tn<83oEcmh z;u%~Rd>DMd=GHLOFeu>E8N%Sm5X9il5YOPs;KvZkpb56shryA-kHMWGl);g~odJ|i zVImN9?hHN*o(#bZ9t=7R3Jk#vp$tw8xKzY5ghF#Q!Y`0A0$U0I<&Q81e+F*`R|Xfb zTR@>YI5EgSAeX^t1qST793~HB4nhs6wo+g)0OxNAY0O~2Us57_*0oAFXwgj?zhzTGYKxG;z9MIJ&F+jpVpCK6B z_9$g228Tc@Lm9Yr1!}vvFrtu!!hD?Thcv?sJ&H@}BN({aXAom7?>-rpU3(SQf zhasIo2`q2IV1N>m1`HJphT!nSp3|Kf{K0PW2e*kLp!pw?l0hUWPC>DUP!|vNO+14W zxU|(_Fa_Ia&Y;6!2xS{Gm@ybJ=rA}lIDx~|g&_zWs-TuwID;QFWMQ(P+9U{^DnKy= ziG?tRUPWq9NwT>1Y~Lm*hElxgWL(iKH&5PYWaY8m>3oh3JgvRpf~`97|eg5 z)a3|nGdVNpFhKkQN{hw}rVKg^7T^$snFvZ9p!x{p{}2X{J3u~y$%4uylgHk03LrNL+wC@fsBS57!s85Gkeu2u% zd~k~t*)^!S9hAdBxg2DR1vuSC3_1)-;Bu;jp#)kV=s-(TP(A>aIta6oLl=~LjTlUzrLhhJ zqy#f$FhD6Y2>ZyDA&nu8A(ep~AGtEPF}N{6N-*m9$c&(m2&V*GKEj?FAmIi{51`P4 z)S{r&0K$aB57y@bjh`T=Jw&Xs-Vn2 z{@~O>dHOa1`@{%dTa%V!oxu4OG**=X9^rtrpg=VcsJ%maEIC0(n?e{o!2KzA1|5_f z2TC>gFs1Qo1`Z7qGDE|SA%`K6p_qX>Vc`bup@Z5;pguMzBq;TrIn;NcRwXDmk`~v& z;JOo3k`*zOGJwX)oEa*?V~wdO?J?40J(wW?TFwPAgfjRt#4|WEM1n`%KqWY`EAhoW zNRHAFf|OK{R6u$N1u-Oob3qbAK0`T!0z)`MB10JirJ(}~Pf!W~)y?5_&JU0lEUexj zwVcB&9YAAGpcWV+6_HvBVwMn~@o3caL*Ft3lujTmA5d=_!~>;RP>qBb-2sUV&d~{w zt6;8!(V!M6sJG$C;LhL&E{8#FW0)+624T?1QyREc2pYG+92*9uS=5n1(D)>%Zg7S7 zeL%f%P)jwK0n;w*eQl6_%-#*8ZE62h{QmAkutLz6bS7L1PT)E&`1aSfbc~n(jcp z0b%T+hP^Ef@+qh_4I6zLY2k(l!I3vI37ellj{kUYJ0uc3TM+_IYp^l{lrpfVENuA^ zG@c8Y{lITJ_PhzHdk}Gh+ivWsn)L^lNdUpH@}&R( literal 0 HcmV?d00001 diff --git a/OpenAuraSDK/resource.h b/OpenAuraSDK/resource.h new file mode 100644 index 00000000..b772a090 --- /dev/null +++ b/OpenAuraSDK/resource.h @@ -0,0 +1,31 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Resource.rc +// +#define IDD_DIALOG_I2C_DETECT 101 +#define IDD_DIALOG_OPENAURASDK 103 +#define IDC_COMBO_I2C_BUS 1001 +#define IDC_BUTTON_I2C_DETECT 1002 +#define IDC_EDIT_I2C_DETECT 1003 +#define IDC_BUTTON_OPENAURASDK_I2CDETECT 1004 +#define IDC_RADIO_OPENAURASDK_DIRECT_MODE 1006 +#define IDC_RADIO_OPENAURASDK_EFFECT_MODE 1007 +#define IDC_RADIO_OPENAURASDK_EFFECT_STATIC 1008 +#define IDC_RADIO_OPENAURASDK_EFFECT_OFF 1009 +#define IDC_RADIO_OPENAURASDK_EFFECT_BREATHING 1010 +#define IDC_RADIO_OPENAURASDK_EFFECT_FLASHING 1011 +#define IDC_RADIO_OPENAURASDK_EFFECT_SPECTRUM_CYCLE 1012 +#define IDC_RADIO_OPENAURASDK_EFFECT_RAINBOW 1013 +#define IDC_RADIO9 1014 +#define IDC_RADIO_OPENAURASDK_BREATHING_SPECTRUM 1014 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 105 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1015 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif