PROFINET Device  v1.04.03

◆ PN_API_PDEV_applyConfiguration()

uint32_t PN_API_PDEV_applyConfiguration ( const PN_API_PDEV_SConfiguration_t pConfiguration_p)

Apply configuration of physical device.

Physical device must be configured after initialization but before getting started.

Parameters
[in]pConfiguration_pConfiguration of physical device.
Returns
PN_API_PDEV_EError_t as uint32_t
Return values
PN_API_PDEV_eOK
PN_API_PDEV_eERROR_MISSING_PARAMETER_POINTER
PN_API_PDEV_eERROR_EXCEEDING_MAX_DEVICE_DESCRIPTION_LENGTH
PN_API_PDEV_eERROR_EXCEEDING_MAX_ORDER_ID_LENGTH
PN_API_PDEV_eERROR_EXCEEDING_MAX_SERIAL_NUMBER_LENGTH
PN_API_PDEV_eERROR_EXCEEDING_MAX_HW_REVISION_LENGTH
PN_API_PDEV_eERROR_EXCEEDING_MAX_SW_REVISION_SUBSTRING_LENGTH
PN_API_PDEV_eERROR_WRONG_STATE
Example
#include <PN_API_PDEV.h>
uint32_t result;
PN_API_PDEV_SConfiguration_t configuration = {0};
uint8_t aSerialNumber[PN_API_PDEV_MAX_SERIAL_NUMBER_LENGTH];
uint8_t aHwRevision[PN_API_PDEV_MAX_HW_REVISION_LENGTH];
uint8_t aSwRevisionFunctionalEnhancement[PN_API_PDEV_MAX_SW_REVISION_SUBSTRING_LENGTH];
uint8_t aSwRevisionBugFix[PN_API_PDEV_MAX_SW_REVISION_SUBSTRING_LENGTH];
uint8_t aSwRevisionInternalChange[PN_API_PDEV_MAX_SW_REVISION_SUBSTRING_LENGTH];
APPL_UI_getSerialNumberString (aSerialNumber, PN_API_PDEV_MAX_SERIAL_NUMBER_LENGTH);
APPL_UI_getHardwareRevisionString (aHwRevision, PN_API_PDEV_MAX_HW_REVISION_LENGTH);
APPL_UI_getSwRevFuncEnhancementString (aSwRevisionFunctionalEnhancement, PN_API_PDEV_MAX_SW_REVISION_SUBSTRING_LENGTH);
APPL_UI_getSwRevBugFixString (aSwRevisionBugFix, PN_API_PDEV_MAX_SW_REVISION_SUBSTRING_LENGTH);
APPL_UI_getSwRevInternalChangeString (aSwRevisionInternalChange, PN_API_PDEV_MAX_SW_REVISION_SUBSTRING_LENGTH);
configuration.pMacAddress = APPL_UI_getMacAddr ();
configuration.vendorId = PNC_VENDOR_ID;
configuration.deviceId = PNC_DEVICE_ID;
configuration.chassisId.deviceDescriptionLength = sizeof (PNC_DEVICE_DESCRIPTION) - 1;
configuration.chassisId.pDeviceDescription = PNC_DEVICE_DESCRIPTION;
configuration.chassisId.orderIdLength = sizeof (PNC_DEVICE_ORDER_ID) - 1;
configuration.chassisId.pOrderId = PNC_DEVICE_ORDER_ID;
configuration.chassisId.serialNumberLength = PN_API_PDEV_MAX_SERIAL_NUMBER_LENGTH;
configuration.chassisId.pSerialNumber = aSerialNumber;
configuration.chassisId.hwRevisionLength = PN_API_PDEV_MAX_HW_REVISION_LENGTH;
configuration.chassisId.pHwRevision = aHwRevision;
configuration.chassisId.swRevisionPrefix = PNC_DEVICE_SW_REV_PREFIX;
configuration.chassisId.swRevisionFunctionalEnhancementLength = PN_API_PDEV_MAX_SW_REVISION_SUBSTRING_LENGTH;
configuration.chassisId.pSwRevisionFunctionalEnhancement = aSwRevisionFunctionalEnhancement;
configuration.chassisId.swRevisionBugFixLength = PN_API_PDEV_MAX_SW_REVISION_SUBSTRING_LENGTH;
configuration.chassisId.pSwRevisionBugFix = aSwRevisionBugFix;
configuration.chassisId.swRevisionInternalChangeLength = PN_API_PDEV_MAX_SW_REVISION_SUBSTRING_LENGTH;
configuration.chassisId.pSwRevisionInternalChange = aSwRevisionInternalChange;
configuration.callbacks.cbHandleInternalError = &APPL_UI_cbErrorHandler;
configuration.callbacks.cbGetLocalTime = &APPL_UI_cbGetLocalTime;
configuration.callbacks.cbGetServerBootTime = &APPL_UI_cbGetServerBootTime;
configuration.callbacks.cbSavePermanentData = &APPL_UI_cbSavePermanentData;
result = PN_API_PDEV_applyConfiguration (&configuration);
See also
PN_API_PDEV_init PN_API_PDEV_start PN_API_PDEV_run
PN_API_PDEV_SChassisId::orderIdLength
uint16_t orderIdLength
Definition: PN_API_PDEV.h:75
PN_API_PDEV_SChassisId::pSwRevisionBugFix
uint8_t * pSwRevisionBugFix
Definition: PN_API_PDEV.h:85
PN_API_PDEV_SChassisId::swRevisionBugFixLength
uint16_t swRevisionBugFixLength
Definition: PN_API_PDEV.h:84
PN_API_PDEV_SConfiguration::vendorId
uint16_t vendorId
Definition: PN_API_PDEV.h:92
PN_API_PDEV_SChassisId::deviceDescriptionLength
uint16_t deviceDescriptionLength
Definition: PN_API_PDEV.h:73
PN_API_PDEV_SChassisId::serialNumberLength
uint16_t serialNumberLength
Definition: PN_API_PDEV.h:77
PN_API_PDEV_SChassisId::swRevisionPrefix
uint8_t swRevisionPrefix
Definition: PN_API_PDEV.h:81
PN_API_PDEV_applyConfiguration
uint32_t PN_API_PDEV_applyConfiguration(const PN_API_PDEV_SConfiguration_t *pConfiguration_p)
Apply configuration of physical device.
Definition: PN_API_main.c:439
PN_API_PDEV_SChassisId::pOrderId
uint8_t * pOrderId
Definition: PN_API_PDEV.h:76
PN_API_PDEV_SChassisId::pSerialNumber
uint8_t * pSerialNumber
Definition: PN_API_PDEV.h:78
PN_API_PDEV_SChassisId::pSwRevisionInternalChange
uint8_t * pSwRevisionInternalChange
Definition: PN_API_PDEV.h:87
PN_API_PDEV_SConfiguration
Definition: PN_API_PDEV.h:91
PN_API_PDEV_SChassisId::swRevisionInternalChangeLength
uint16_t swRevisionInternalChangeLength
Definition: PN_API_PDEV.h:86
PN_API_PDEV_SChassisId::hwRevisionLength
uint16_t hwRevisionLength
Definition: PN_API_PDEV.h:79
PN_API_PDEV_SChassisId::pSwRevisionFunctionalEnhancement
uint8_t * pSwRevisionFunctionalEnhancement
Definition: PN_API_PDEV.h:83
PN_API_PDEV_SConfiguration::deviceId
uint16_t deviceId
Definition: PN_API_PDEV.h:93
PN_API_PDEV_SConfiguration::chassisId
PN_API_PDEV_SChassisId_t chassisId
Definition: PN_API_PDEV.h:94
PN_API_PDEV_SChassisId::swRevisionFunctionalEnhancementLength
uint16_t swRevisionFunctionalEnhancementLength
Definition: PN_API_PDEV.h:82
PN_API_PDEV_SChassisId::pDeviceDescription
uint8_t * pDeviceDescription
Definition: PN_API_PDEV.h:74
PN_API_PDEV_SChassisId::pHwRevision
uint8_t * pHwRevision
Definition: PN_API_PDEV.h:80