diff --git a/Inc/fc7xxx_driver_flash.h b/Inc/fc7xxx_driver_flash.h index dcbf5ee..8382b95 100644 --- a/Inc/fc7xxx_driver_flash.h +++ b/Inc/fc7xxx_driver_flash.h @@ -127,7 +127,8 @@ typedef struct uint32_t u32Address; /**< Logical target address */ uint32_t u32Length; /**< Length in logical sectors or bytes */ uint8_t *pData; /**< Pointer to data buffer (read only) */ - uint8_t (*wdTriggerFct)(void); /**< Pointer to watchdog handling function */ + uint8_t (*wdTriggerFct)(void*); /**< Pointer to watchdog handling function */ + void *wdTriggerFct_env; uint32_t u32ErrorAddress; /**< Error address */ } FLASH_DRIVER_ParamType; diff --git a/Src/fc7xxx_driver_flash.c b/Src/fc7xxx_driver_flash.c index 355ed08..8f8e08f 100644 --- a/Src/fc7xxx_driver_flash.c +++ b/Src/fc7xxx_driver_flash.c @@ -567,7 +567,7 @@ FLASH_StatusType FLASHDRIVER_PFlashEraseSector(FLASH_DRIVER_ParamType *pFlashPar /* trigger watchdog function */ if (pFlashParam->wdTriggerFct != ((void *)0)) { - pFlashParam->wdTriggerFct(); + pFlashParam->wdTriggerFct(pFlashParam->wdTriggerFct_env); } } @@ -714,7 +714,7 @@ FLASH_StatusType FLASHDRIVER_PFlashWrite(FLASH_DRIVER_ParamType *pFlashParam) /* trigger watchdog function */ if (pFlashParam->wdTriggerFct != ((void *)0)) { - pFlashParam->wdTriggerFct(); + pFlashParam->wdTriggerFct(pFlashParam->wdTriggerFct_env); } } @@ -837,7 +837,7 @@ FLASH_StatusType FLASHDRIVER_DFlashEraseSector(FLASH_DRIVER_ParamType *pFlashPar /* trigger watchdog function */ if (pFlashParam->wdTriggerFct != ((void *)0)) { - pFlashParam->wdTriggerFct(); + pFlashParam->wdTriggerFct(pFlashParam->wdTriggerFct_env); } } @@ -983,7 +983,7 @@ FLASH_StatusType FLASHDRIVER_DFlashWrite(FLASH_DRIVER_ParamType *pFlashParam) /* trigger watchdog function */ if (pFlashParam->wdTriggerFct != ((void *)0)) { - pFlashParam->wdTriggerFct(); + pFlashParam->wdTriggerFct(pFlashParam->wdTriggerFct_env); } }