diff --git a/OpenAuraSDK/AuraController.cpp b/OpenAuraSDK/AuraController.cpp index 36540c6e..c892e503 100644 --- a/OpenAuraSDK/AuraController.cpp +++ b/OpenAuraSDK/AuraController.cpp @@ -68,6 +68,12 @@ void AuraController::SetAllColorsEffect(unsigned char red, unsigned char green, delete colors; } +void AuraController::SetDirect(unsigned char direct) +{ + AuraRegisterWrite(AURA_REG_DIRECT, direct); + AuraRegisterWrite(AURA_REG_APPLY, AURA_APPLY_VAL); +} + void AuraController::SetLEDColorDirect(unsigned int led, unsigned char red, unsigned char green, unsigned char blue) { unsigned char colors[3] = { red, blue, green }; diff --git a/OpenAuraSDK/AuraController.h b/OpenAuraSDK/AuraController.h index 0f66e78f..0b56b615 100644 --- a/OpenAuraSDK/AuraController.h +++ b/OpenAuraSDK/AuraController.h @@ -56,6 +56,7 @@ public: unsigned int GetLEDCount(); void SetAllColorsDirect(unsigned char red, unsigned char green, unsigned char blue); void SetAllColorsEffect(unsigned char red, unsigned char green, unsigned char blue); + void SetDirect(unsigned char direct); void SetLEDColorDirect(unsigned int led, unsigned char red, unsigned char green, unsigned char blue); void SetLEDColorEffect(unsigned int led, unsigned char red, unsigned char green, unsigned char blue); void SetMode(unsigned char mode); diff --git a/OpenAuraSDK/OpenAuraSDKDialog.cpp b/OpenAuraSDK/OpenAuraSDKDialog.cpp index 4679ba99..860aa2f8 100644 --- a/OpenAuraSDK/OpenAuraSDKDialog.cpp +++ b/OpenAuraSDK/OpenAuraSDKDialog.cpp @@ -71,14 +71,12 @@ 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); + controllers[i]->SetDirect(true); } } else { - controllers[ aura_device - 1 ]->AuraRegisterWrite(AURA_REG_DIRECT, 1); - controllers[ aura_device - 1 ]->AuraRegisterWrite(AURA_REG_APPLY, AURA_APPLY_VAL); + controllers[aura_device - 1]->SetDirect(true); } } @@ -90,14 +88,12 @@ 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); + controllers[i]->SetDirect(false); } } else { - controllers[aura_device - 1]->AuraRegisterWrite(AURA_REG_DIRECT, 0); - controllers[aura_device - 1]->AuraRegisterWrite(AURA_REG_APPLY, AURA_APPLY_VAL); + controllers[aura_device - 1]->SetDirect(false); } } @@ -199,6 +195,8 @@ void OpenAuraSDKDialog::OnBnClickedButtonOpenaurasdkSetColors() GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_4_R), GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_4_G), GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_4_B) ); + + controllers[i]->SetDirect(false); } } else @@ -225,6 +223,8 @@ void OpenAuraSDKDialog::OnBnClickedButtonOpenaurasdkSetColors() GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_4_R), GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_4_G), GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_4_B) ); + + controllers[i]->SetDirect(true); } } } @@ -298,6 +298,8 @@ void OpenAuraSDKDialog::OnBnClickedButtonOpenaurasdkSetColorsAll() controllers[i]->SetAllColorsEffect(GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_0_R), GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_0_G), GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_0_B)); + + controllers[i]->SetDirect(false); } } else @@ -307,6 +309,8 @@ void OpenAuraSDKDialog::OnBnClickedButtonOpenaurasdkSetColorsAll() controllers[i]->SetAllColorsDirect(GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_0_R), GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_0_G), GetDlgItemInt(IDC_EDIT_OPENAURASDK_LED_0_B)); + + controllers[i]->SetDirect(true); } } }