Make UsbCommand_JumpToSlaveBootloader expect a slave slot id instead of a uhkModuleDriverId.
This commit is contained in:
+1
-1
Submodule lib/agent updated: a5c478d51c...b3a38a5d6c
@@ -10,6 +10,8 @@
|
|||||||
|
|
||||||
#define UHK_MODULE_MAX_COUNT 3
|
#define UHK_MODULE_MAX_COUNT 3
|
||||||
#define MAX_PWM_BRIGHTNESS 0x64
|
#define MAX_PWM_BRIGHTNESS 0x64
|
||||||
|
#define SLOT_ID_TO_UHK_MODULE_DRIVER_ID(slotId) ((slotId)-1)
|
||||||
|
#define UHK_MODULE_DRIVER_ID_TO_SLOT_ID(uhkModuleDriverId) ((uhkModuleDriverId)+1)
|
||||||
|
|
||||||
// Typedefs:
|
// Typedefs:
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
// Macros:
|
// Macros:
|
||||||
|
|
||||||
#define SLOT_COUNT 4
|
#define SLOT_COUNT 4
|
||||||
|
#define IS_VALID_SLAVE_SLOT(slotId) (SlotId_LeftKeyboardHalf <= (slotId) && (slotId) <= SlotId_RightModule)
|
||||||
|
|
||||||
// Typedefs:
|
// Typedefs:
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,17 @@
|
|||||||
#include "usb_protocol_handler.h"
|
#include "usb_protocol_handler.h"
|
||||||
#include "usb_commands/usb_command_jump_to_slave_bootloader.h"
|
#include "usb_commands/usb_command_jump_to_slave_bootloader.h"
|
||||||
|
#include "slot.h"
|
||||||
#include "slave_drivers/uhk_module_driver.h"
|
#include "slave_drivers/uhk_module_driver.h"
|
||||||
|
|
||||||
void UsbCommand_JumpToSlaveBootloader(void)
|
void UsbCommand_JumpToSlaveBootloader(void)
|
||||||
{
|
{
|
||||||
uint8_t uhkModuleDriverId = GET_USB_BUFFER_UINT8(1);
|
uint8_t slotId = GET_USB_BUFFER_UINT8(1);
|
||||||
|
|
||||||
if (uhkModuleDriverId >= UHK_MODULE_MAX_COUNT) {
|
if (!IS_VALID_SLAVE_SLOT(slotId)) {
|
||||||
SET_USB_BUFFER_UINT8(0, UsbStatusCode_JumpToSlaveBootloader_InvalidModuleDriverId);
|
SET_USB_BUFFER_UINT8(0, UsbStatusCode_JumpToSlaveBootloader_InvalidSlaveSlotId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t uhkModuleDriverId = SLOT_ID_TO_UHK_MODULE_DRIVER_ID(slotId);
|
||||||
UhkModuleStates[uhkModuleDriverId].jumpToBootloader = true;
|
UhkModuleStates[uhkModuleDriverId].jumpToBootloader = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
// Typedefs:
|
// Typedefs:
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
UsbStatusCode_JumpToSlaveBootloader_InvalidModuleDriverId = 2,
|
UsbStatusCode_JumpToSlaveBootloader_InvalidSlaveSlotId = 2,
|
||||||
} usb_status_code_jump_to_slave_bootloader_t;
|
} usb_status_code_jump_to_slave_bootloader_t;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user