Jump to main content

# 2.1.4.2 DRV_MCMETROLOGY_Reinitialize Function

## C

    SYS_MODULE_OBJ DRV_MCMETROLOGY_Reinitialize (
        SYS_MODULE_INIT * init
    );

## Summary

Re-initializes the metrology driver according to the init parameter.

## Description

This routine re-initializes the metrology driver resetting the Coprocessor and its peripherals and re-loading the metrology library application on Core 1 from scratch. The initialization data is specified by the init parameter. It is a single instance driver.

Note: As described above, this routine resets the Coprocessor peripherals. User must be aware of this if Main Processor is using peripherals from Coprocessor, as they will require reconfiguration after reset.

## Precondition

The low-level board initialization must have been completed and the module's initialization function must have been called before the system.

## Parameters

Parameters | Description
--- | ---
init | Pointer to the init data structure containing any data necessary to initialize the driver

## Returns

If successful, returns a valid handle to a driver instance object. Otherwise, it returns SYS_MODULE_OBJ_INVALID.

## Example

    SYS_MODULE_OBJ   sysObjDrvMet;

    extern uint8_t met_bin_start;
    extern uint8_t met_bin_end;

    /* Metrology Driver Initialization Data */
    DRV_MCMETROLOGY_INIT drvMCMetrologyInitData = {

        /* MET bin destination address */
        .regBaseAddress = DRV_MCMETROLOGY_REG_BASE_ADDRESS,

        /* MET Binary start address */
        .binStartAddress = (uint32_t)&met_bin_start,

        /* MET Binary end address */
        .binEndAddress = (uint32_t)&met_bin_end,

    };

    sysObjDrvMet = DRV_MCMETROLOGY_Initialize((SYS_MODULE_INIT *)&drvMCMetrologyInitData);

## Remarks

None.

Rev: E