Move updateUsbReports() from main.c to usb_report_updater.c and delete main.h
This commit is contained in:
@@ -7,7 +7,6 @@
|
|||||||
#include "attributes.h"
|
#include "attributes.h"
|
||||||
#include "lufa/HIDClassCommon.h"
|
#include "lufa/HIDClassCommon.h"
|
||||||
#include "usb_composite_device.h"
|
#include "usb_composite_device.h"
|
||||||
#include "main.h"
|
|
||||||
#include "module.h"
|
#include "module.h"
|
||||||
|
|
||||||
// Macros:
|
// Macros:
|
||||||
|
|||||||
@@ -1,79 +1,16 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "main.h"
|
|
||||||
#include "init_clock.h"
|
#include "init_clock.h"
|
||||||
#include "init_peripherals.h"
|
#include "init_peripherals.h"
|
||||||
#include "usb_composite_device.h"
|
#include "usb_composite_device.h"
|
||||||
#include "peripherals/led_driver.h"
|
|
||||||
#include "key_action.h"
|
|
||||||
#include "slave_scheduler.h"
|
#include "slave_scheduler.h"
|
||||||
#include "peripherals/test_led.h"
|
|
||||||
#include "usb_interfaces/usb_interface_basic_keyboard.h"
|
|
||||||
#include "usb_interfaces/usb_interface_media_keyboard.h"
|
|
||||||
#include "usb_protocol_handler.h"
|
|
||||||
#include "bus_pal_hardware.h"
|
#include "bus_pal_hardware.h"
|
||||||
#include "command.h"
|
#include "command.h"
|
||||||
#include "bootloader/wormhole.h"
|
#include "bootloader/wormhole.h"
|
||||||
#include "eeprom.h"
|
#include "eeprom.h"
|
||||||
#include "right_key_matrix.h"
|
|
||||||
#include "key_scanner.h"
|
#include "key_scanner.h"
|
||||||
#include "key_states.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 "usb_report_updater.h"
|
||||||
bool UsbBasicKeyboardReportEverSent = false;
|
|
||||||
bool UsbMediaKeyboardReportEverSent = false;
|
|
||||||
bool UsbSystemKeyboardReportEverSent = false;
|
|
||||||
bool UsbMouseReportEverSentEverSent = false;
|
|
||||||
|
|
||||||
void updateUsbReports(void)
|
|
||||||
{
|
|
||||||
if (IsUsbBasicKeyboardReportSent) {
|
|
||||||
UsbBasicKeyboardReportEverSent = true;
|
|
||||||
}
|
|
||||||
if (IsUsbMediaKeyboardReportSent) {
|
|
||||||
UsbMediaKeyboardReportEverSent = true;
|
|
||||||
}
|
|
||||||
if (IsUsbSystemKeyboardReportSent) {
|
|
||||||
UsbSystemKeyboardReportEverSent = true;
|
|
||||||
}
|
|
||||||
if (IsUsbMouseReportSent) {
|
|
||||||
UsbMouseReportEverSentEverSent = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool areUsbReportsSent = true;
|
|
||||||
if (UsbBasicKeyboardReportEverSent) {
|
|
||||||
areUsbReportsSent &= IsUsbBasicKeyboardReportSent;
|
|
||||||
}
|
|
||||||
if (UsbMediaKeyboardReportEverSent) {
|
|
||||||
areUsbReportsSent &= IsUsbMediaKeyboardReportSent;
|
|
||||||
}
|
|
||||||
if (UsbSystemKeyboardReportEverSent) {
|
|
||||||
areUsbReportsSent &= IsUsbSystemKeyboardReportSent;
|
|
||||||
}
|
|
||||||
if (UsbMouseReportEverSentEverSent) {
|
|
||||||
areUsbReportsSent &= IsUsbMouseReportSent;
|
|
||||||
}
|
|
||||||
if (!areUsbReportsSent) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ResetActiveUsbBasicKeyboardReport();
|
|
||||||
ResetActiveUsbMediaKeyboardReport();
|
|
||||||
ResetActiveUsbSystemKeyboardReport();
|
|
||||||
ResetActiveUsbMouseReport();
|
|
||||||
|
|
||||||
UpdateActiveUsbReports();
|
|
||||||
|
|
||||||
SwitchActiveUsbBasicKeyboardReport();
|
|
||||||
SwitchActiveUsbMediaKeyboardReport();
|
|
||||||
SwitchActiveUsbSystemKeyboardReport();
|
|
||||||
SwitchActiveUsbMouseReport();
|
|
||||||
|
|
||||||
IsUsbBasicKeyboardReportSent = false;
|
|
||||||
IsUsbMediaKeyboardReportSent = false;
|
|
||||||
IsUsbSystemKeyboardReportSent = false;
|
|
||||||
IsUsbMouseReportSent = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool IsEepromInitialized = false;
|
bool IsEepromInitialized = false;
|
||||||
bool IsConfigInitialized = false;
|
bool IsConfigInitialized = false;
|
||||||
@@ -105,7 +42,7 @@ void main(void)
|
|||||||
InitSlaveScheduler();
|
InitSlaveScheduler();
|
||||||
KeyMatrix_Init(&RightKeyMatrix);
|
KeyMatrix_Init(&RightKeyMatrix);
|
||||||
InitKeyScanner();
|
InitKeyScanner();
|
||||||
updateUsbReports();
|
UpdateUsbReports();
|
||||||
InitUsb();
|
InitUsb();
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
@@ -113,7 +50,7 @@ void main(void)
|
|||||||
UsbCommand_ApplyConfig();
|
UsbCommand_ApplyConfig();
|
||||||
IsConfigInitialized = true;
|
IsConfigInitialized = true;
|
||||||
}
|
}
|
||||||
updateUsbReports();
|
UpdateUsbReports();
|
||||||
__WFI();
|
__WFI();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
#ifndef __MAIN_H__
|
|
||||||
#define __MAIN_H__
|
|
||||||
|
|
||||||
// Includes:
|
|
||||||
|
|
||||||
#include "key_matrix.h"
|
|
||||||
#include "slot.h"
|
|
||||||
#include "module.h"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
#include "slave_scheduler.h"
|
#include "slave_scheduler.h"
|
||||||
#include "slave_drivers/uhk_module_driver.h"
|
#include "slave_drivers/uhk_module_driver.h"
|
||||||
#include "slave_protocol.h"
|
#include "slave_protocol.h"
|
||||||
#include "main.h"
|
|
||||||
#include "peripherals/test_led.h"
|
#include "peripherals/test_led.h"
|
||||||
#include "bool_array_converter.h"
|
#include "bool_array_converter.h"
|
||||||
#include "crc16.h"
|
#include "crc16.h"
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
#include "fsl_i2c.h"
|
#include "fsl_i2c.h"
|
||||||
#include "slave_scheduler.h"
|
#include "slave_scheduler.h"
|
||||||
#include "slot.h"
|
#include "slot.h"
|
||||||
#include "main.h"
|
|
||||||
#include "slave_drivers/is31fl3731_driver.h"
|
#include "slave_drivers/is31fl3731_driver.h"
|
||||||
#include "slave_drivers/uhk_module_driver.h"
|
#include "slave_drivers/uhk_module_driver.h"
|
||||||
#include "slave_drivers/kboot_driver.h"
|
#include "slave_drivers/kboot_driver.h"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
#include "main.h"
|
|
||||||
#include "key_action.h"
|
#include "key_action.h"
|
||||||
#include "fsl_port.h"
|
#include "fsl_port.h"
|
||||||
#include "usb_api.h"
|
#include "usb_api.h"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
#include "main.h"
|
|
||||||
#include "key_action.h"
|
#include "key_action.h"
|
||||||
#include "fsl_port.h"
|
#include "fsl_port.h"
|
||||||
#include "usb_api.h"
|
#include "usb_api.h"
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
#include "main.h"
|
|
||||||
#include "key_action.h"
|
#include "key_action.h"
|
||||||
#include "fsl_port.h"
|
#include "fsl_port.h"
|
||||||
#include "usb_api.h"
|
#include "usb_api.h"
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ static uint8_t secondaryRoleSlotId;
|
|||||||
static uint8_t secondaryRoleKeyId;
|
static uint8_t secondaryRoleKeyId;
|
||||||
static secondary_role_t secondaryRole;
|
static secondary_role_t secondaryRole;
|
||||||
|
|
||||||
void UpdateActiveUsbReports(void)
|
void updateActiveUsbReports(void)
|
||||||
{
|
{
|
||||||
static uint8_t previousModifiers = 0;
|
static uint8_t previousModifiers = 0;
|
||||||
elapsedTime = Timer_GetElapsedTime(&UsbReportUpdateTime);
|
elapsedTime = Timer_GetElapsedTime(&UsbReportUpdateTime);
|
||||||
@@ -231,3 +231,58 @@ void UpdateActiveUsbReports(void)
|
|||||||
previousModifiers = ActiveUsbBasicKeyboardReport->modifiers;
|
previousModifiers = ActiveUsbBasicKeyboardReport->modifiers;
|
||||||
previousLayer = activeLayer;
|
previousLayer = activeLayer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool UsbBasicKeyboardReportEverSent = false;
|
||||||
|
bool UsbMediaKeyboardReportEverSent = false;
|
||||||
|
bool UsbSystemKeyboardReportEverSent = false;
|
||||||
|
bool UsbMouseReportEverSentEverSent = false;
|
||||||
|
|
||||||
|
void UpdateUsbReports(void)
|
||||||
|
{
|
||||||
|
if (IsUsbBasicKeyboardReportSent) {
|
||||||
|
UsbBasicKeyboardReportEverSent = true;
|
||||||
|
}
|
||||||
|
if (IsUsbMediaKeyboardReportSent) {
|
||||||
|
UsbMediaKeyboardReportEverSent = true;
|
||||||
|
}
|
||||||
|
if (IsUsbSystemKeyboardReportSent) {
|
||||||
|
UsbSystemKeyboardReportEverSent = true;
|
||||||
|
}
|
||||||
|
if (IsUsbMouseReportSent) {
|
||||||
|
UsbMouseReportEverSentEverSent = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool areUsbReportsSent = true;
|
||||||
|
if (UsbBasicKeyboardReportEverSent) {
|
||||||
|
areUsbReportsSent &= IsUsbBasicKeyboardReportSent;
|
||||||
|
}
|
||||||
|
if (UsbMediaKeyboardReportEverSent) {
|
||||||
|
areUsbReportsSent &= IsUsbMediaKeyboardReportSent;
|
||||||
|
}
|
||||||
|
if (UsbSystemKeyboardReportEverSent) {
|
||||||
|
areUsbReportsSent &= IsUsbSystemKeyboardReportSent;
|
||||||
|
}
|
||||||
|
if (UsbMouseReportEverSentEverSent) {
|
||||||
|
areUsbReportsSent &= IsUsbMouseReportSent;
|
||||||
|
}
|
||||||
|
if (!areUsbReportsSent) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ResetActiveUsbBasicKeyboardReport();
|
||||||
|
ResetActiveUsbMediaKeyboardReport();
|
||||||
|
ResetActiveUsbSystemKeyboardReport();
|
||||||
|
ResetActiveUsbMouseReport();
|
||||||
|
|
||||||
|
updateActiveUsbReports();
|
||||||
|
|
||||||
|
SwitchActiveUsbBasicKeyboardReport();
|
||||||
|
SwitchActiveUsbMediaKeyboardReport();
|
||||||
|
SwitchActiveUsbSystemKeyboardReport();
|
||||||
|
SwitchActiveUsbMouseReport();
|
||||||
|
|
||||||
|
IsUsbBasicKeyboardReportSent = false;
|
||||||
|
IsUsbMediaKeyboardReportSent = false;
|
||||||
|
IsUsbSystemKeyboardReportSent = false;
|
||||||
|
IsUsbMouseReportSent = false;
|
||||||
|
}
|
||||||
|
|||||||
@@ -30,4 +30,8 @@
|
|||||||
SecondaryRole_Mouse
|
SecondaryRole_Mouse
|
||||||
} secondary_role_t;
|
} secondary_role_t;
|
||||||
|
|
||||||
|
// Functions:
|
||||||
|
|
||||||
|
void UpdateUsbReports(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user