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