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:
László Monda
2018-05-20 01:36:27 +02:00
parent 27b02c32b5
commit a545324693
3 changed files with 26 additions and 2 deletions

View File

@@ -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)

View File

@@ -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);

View File

@@ -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);
}