diff --git a/src/PRHardware.cpp b/src/PRHardware.cpp index 7d361af..43b8607 100644 --- a/src/PRHardware.cpp +++ b/src/PRHardware.cpp @@ -268,7 +268,8 @@ int32_t CreateSwitchUpdateRulesBurst ( uint32_t * burst, PRSwitchRuleInternal *r (rule_record->driver.driverNum << P_ROC_SWITCH_RULE_DRIVER_NUM_SHIFT) | (rule_record->linkActive << P_ROC_SWITCH_RULE_LINK_ACTIVE_SHIFT) | (rule_record->linkIndex << P_ROC_SWITCH_RULE_LINK_ADDRESS_SHIFT) | - (rule_record->notifyHost << P_ROC_SWITCH_RULE_NOTIFY_HOST_SHIFT); + (rule_record->notifyHost << P_ROC_SWITCH_RULE_NOTIFY_HOST_SHIFT) | + (rule_record->reloadActive << P_ROC_SWITCH_RULE_RELOAD_ACTIVE_SHIFT); return kPRSuccess; } diff --git a/src/PRHardware.h b/src/PRHardware.h index 39965b5..2e12297 100644 --- a/src/PRHardware.h +++ b/src/PRHardware.h @@ -206,11 +206,12 @@ const uint32_t P_ROC_SWITCH_RULE_NUM_STATE_SHIFT = 8; const uint32_t P_ROC_SWITCH_RULE_NUM_SWITCH_NUM_SHIFT = 0; const uint32_t P_ROC_SWITCH_RULE_NUM_TO_ADDR_SHIFT = 2; -const uint32_t P_ROC_SWITCH_RULE_NOTIFY_HOST_SHIFT = 23; -const uint32_t P_ROC_SWITCH_RULE_LINK_ACTIVE_SHIFT = 10; -const uint32_t P_ROC_SWITCH_RULE_LINK_ADDRESS_SHIFT = 11; -const uint32_t P_ROC_SWITCH_RULE_CHANGE_OUTPUT_SHIFT = 9; -const uint32_t P_ROC_SWITCH_RULE_DRIVER_NUM_SHIFT = 0; +const uint32_t P_ROC_SWITCH_RULE_RELOAD_ACTIVE_SHIFT = 31; +const uint32_t P_ROC_SWITCH_RULE_NOTIFY_HOST_SHIFT = 23; +const uint32_t P_ROC_SWITCH_RULE_LINK_ACTIVE_SHIFT = 10; +const uint32_t P_ROC_SWITCH_RULE_LINK_ADDRESS_SHIFT = 11; +const uint32_t P_ROC_SWITCH_RULE_CHANGE_OUTPUT_SHIFT = 9; +const uint32_t P_ROC_SWITCH_RULE_DRIVER_NUM_SHIFT = 0; const uint32_t P_ROC_STATE_CHANGE_CONFIG_ADDR = 0x1000; @@ -231,7 +232,8 @@ const uint32_t P_ROC_DMD_DOT_TABLE_BASE_ADDR = 0x1000; typedef struct PRSwitchRuleInternal { uint8_t switchNum; /**< Number of the physical switch, or for linked driver changes the virtual switch number (224 and up). */ - PREventType eventType; /**< The event type that this rule generates. Determines closed/open, debounced/non-debounced. */ + PREventType eventType; /**< The event type that this rule generates. Determines closed/open, debounced/non-debounced. */ + bool_t reloadActive; bool_t notifyHost; bool_t changeOutput; /**< True if this switch rule should affect a driver output change. */ bool_t linkActive; /**< True if this switch rule has additional linked driver updates. */