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 StagingUserConfigBuffer = { stagingUserConfig };
|
||||||
config_buffer_t ValidatedUserConfigBuffer = { validatedUserConfig };
|
config_buffer_t ValidatedUserConfigBuffer = { validatedUserConfig };
|
||||||
|
|
||||||
|
hardware_config_t *HardwareConfig = (hardware_config_t*)hardwareConfig;
|
||||||
|
|
||||||
bool ParserRunDry;
|
bool ParserRunDry;
|
||||||
|
|
||||||
bool IsConfigBufferIdValid(config_buffer_id_t configBufferId)
|
bool IsConfigBufferIdValid(config_buffer_id_t configBufferId)
|
||||||
|
|||||||
@@ -6,6 +6,10 @@
|
|||||||
#include "fsl_common.h"
|
#include "fsl_common.h"
|
||||||
#include "basic_types.h"
|
#include "basic_types.h"
|
||||||
|
|
||||||
|
// Macros:
|
||||||
|
|
||||||
|
#define HARDWARE_CONFIG_SIGNATURE_LENGTH 3
|
||||||
|
|
||||||
// Typedefs:
|
// Typedefs:
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
@@ -14,6 +18,19 @@
|
|||||||
ConfigBufferId_ValidatedUserConfig,
|
ConfigBufferId_ValidatedUserConfig,
|
||||||
} config_buffer_id_t;
|
} 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:
|
// Variables:
|
||||||
|
|
||||||
extern bool ParserRunDry;
|
extern bool ParserRunDry;
|
||||||
@@ -21,8 +38,9 @@
|
|||||||
extern config_buffer_t HardwareConfigBuffer;
|
extern config_buffer_t HardwareConfigBuffer;
|
||||||
extern config_buffer_t StagingUserConfigBuffer;
|
extern config_buffer_t StagingUserConfigBuffer;
|
||||||
extern config_buffer_t ValidatedUserConfigBuffer;
|
extern config_buffer_t ValidatedUserConfigBuffer;
|
||||||
|
extern hardware_config_t *HardwareConfig;
|
||||||
|
|
||||||
// Functions:
|
// Functions:
|
||||||
|
|
||||||
bool IsConfigBufferIdValid(config_buffer_id_t configBufferId);
|
bool IsConfigBufferIdValid(config_buffer_id_t configBufferId);
|
||||||
config_buffer_t* ConfigBufferIdToConfigBuffer(config_buffer_id_t configBufferId);
|
config_buffer_t* ConfigBufferIdToConfigBuffer(config_buffer_id_t configBufferId);
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
#include "key_scanner.h"
|
#include "key_scanner.h"
|
||||||
#include "usb_commands/usb_command_apply_config.h"
|
#include "usb_commands/usb_command_apply_config.h"
|
||||||
#include "peripherals/reset_button.h"
|
#include "peripherals/reset_button.h"
|
||||||
|
#include "config_parser/config_globals.h"
|
||||||
#include "usb_report_updater.h"
|
#include "usb_report_updater.h"
|
||||||
|
|
||||||
static bool IsEepromInitialized = false;
|
static bool IsEepromInitialized = false;
|
||||||
@@ -29,7 +30,10 @@ int main(void)
|
|||||||
InitClock();
|
InitClock();
|
||||||
InitPeripherals();
|
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);
|
EEPROM_LaunchTransfer(EepromOperation_Read, ConfigBufferId_HardwareConfig, hardwareConfigurationReadFinished);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user