Implement "disable LED driver SDB pin" and "set LED PWM to 0" test actions.

This commit is contained in:
László Monda
2017-04-30 22:03:21 +02:00
parent b7bdceaac4
commit a1a3a052dd
5 changed files with 32 additions and 0 deletions

View File

@@ -51,6 +51,18 @@ bool BridgeSlaveUhkModuleHandler(uint8_t uhkModuleId)
txBuffer[0] = BridgeCommand_SetDisableKeyMatrixScanState;
txBuffer[1] = TestStates.disableKeyMatrixScan;
I2cAsyncWrite(I2C_ADDRESS_LEFT_KEYBOARD_HALF, txBuffer, 2);
currentUhkModuleField = UhkModuleField_SendLedPwmBrightness;
break;
case UhkModuleField_SendLedPwmBrightness:
txBuffer[0] = BridgeCommand_SetDisableKeyMatrixScanState;
txBuffer[1] = TestStates.disableKeyMatrixScan;
I2cAsyncWrite(I2C_ADDRESS_LEFT_KEYBOARD_HALF, txBuffer, 2);
currentUhkModuleField = UhkModuleField_DisableLedSdb;
break;
case UhkModuleField_DisableLedSdb:
txBuffer[0] = BridgeCommand_SetDisableLedSdb;
txBuffer[1] = TestStates.disableLedSdb;
I2cAsyncWrite(I2C_ADDRESS_LEFT_KEYBOARD_HALF, txBuffer, 2);
currentUhkModuleField = UhkModuleField_SendKeystatesRequestCommand;
break;
}

View File

@@ -17,6 +17,8 @@
UhkModuleField_SendPwmBrightnessCommand,
UhkModuleField_SendTestLedCommand,
UhkModuleField_SendDisableKeyMatrixScanState,
UhkModuleField_SendLedPwmBrightness,
UhkModuleField_DisableLedSdb,
} uhk_module_field_t;
typedef struct {

View File

@@ -7,6 +7,8 @@
#include "test_states.h"
#include "peripherals/test_led.h"
#include "bridge_slaves/bridge_slave_led_driver.h"
#include "bridge_slaves/bridge_slave_uhk_module.h"
#include "led_pwm.h"
static uint8_t activeLayer = LAYER_ID_BASE;
static uint8_t mouseWheelDivisorCounter = 0;
@@ -94,6 +96,14 @@ void processTestAction(key_action_t testAction) {
case TestAction_DisableLedDriverPwm:
SetLeds(0);
break;
case TestAction_DisableLedFetPwm:
LedPwm_SetBrightness(0);
UhkModuleStates[0].ledPwmBrightness = 0;
break;
case TestAction_DisableLedSdb:
GPIO_WritePinOutput(LED_DRIVER_SDB_GPIO, LED_DRIVER_SDB_PIN, 0);
TestStates.disableLedSdb = true;
break;
}
}