Set HardwareConfig->signature to "FTY" when the keyboard is in factory reset mode, so that Agent can act on it.
This commit is contained in:
@@ -11,6 +11,8 @@ config_buffer_t HardwareConfigBuffer = { hardwareConfig };
|
||||
config_buffer_t StagingUserConfigBuffer = { stagingUserConfig };
|
||||
config_buffer_t ValidatedUserConfigBuffer = { validatedUserConfig };
|
||||
|
||||
hardware_config_t *HardwareConfig = (hardware_config_t*)hardwareConfig;
|
||||
|
||||
bool ParserRunDry;
|
||||
|
||||
bool IsConfigBufferIdValid(config_buffer_id_t configBufferId)
|
||||
|
||||
@@ -6,6 +6,10 @@
|
||||
#include "fsl_common.h"
|
||||
#include "basic_types.h"
|
||||
|
||||
// Macros:
|
||||
|
||||
#define HARDWARE_CONFIG_SIGNATURE_LENGTH 3
|
||||
|
||||
// Typedefs:
|
||||
|
||||
typedef enum {
|
||||
@@ -14,6 +18,19 @@
|
||||
ConfigBufferId_ValidatedUserConfig,
|
||||
} config_buffer_id_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t signatureLength;
|
||||
char signature[HARDWARE_CONFIG_SIGNATURE_LENGTH];
|
||||
uint8_t majorVersion;
|
||||
uint8_t minorVersion;
|
||||
uint8_t patchVersion;
|
||||
uint8_t brandId;
|
||||
uint8_t deviceId;
|
||||
uint32_t uniqueId;
|
||||
bool isVendorModeOn;
|
||||
bool isIso;
|
||||
} hardware_config_t;
|
||||
|
||||
// Variables:
|
||||
|
||||
extern bool ParserRunDry;
|
||||
@@ -21,8 +38,9 @@
|
||||
extern config_buffer_t HardwareConfigBuffer;
|
||||
extern config_buffer_t StagingUserConfigBuffer;
|
||||
extern config_buffer_t ValidatedUserConfigBuffer;
|
||||
extern hardware_config_t *HardwareConfig;
|
||||
|
||||
// Functions:
|
||||
// Functions:
|
||||
|
||||
bool IsConfigBufferIdValid(config_buffer_id_t configBufferId);
|
||||
config_buffer_t* ConfigBufferIdToConfigBuffer(config_buffer_id_t configBufferId);
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "key_scanner.h"
|
||||
#include "usb_commands/usb_command_apply_config.h"
|
||||
#include "peripherals/reset_button.h"
|
||||
#include "config_parser/config_globals.h"
|
||||
#include "usb_report_updater.h"
|
||||
|
||||
static bool IsEepromInitialized = false;
|
||||
@@ -29,7 +30,10 @@ int main(void)
|
||||
InitClock();
|
||||
InitPeripherals();
|
||||
|
||||
if (!RESET_BUTTON_IS_PRESSED) {
|
||||
if (RESET_BUTTON_IS_PRESSED) {
|
||||
HardwareConfig->signatureLength = HARDWARE_CONFIG_SIGNATURE_LENGTH;
|
||||
strncpy(HardwareConfig->signature, "FTY", HARDWARE_CONFIG_SIGNATURE_LENGTH);
|
||||
} else {
|
||||
EEPROM_LaunchTransfer(EepromOperation_Read, ConfigBufferId_HardwareConfig, hardwareConfigurationReadFinished);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user