Diff of /IoDrvSysfsGPIO/IoDrvSysfsGPIO/ICmpIoDrvParameter/IoDrvWriteParameter/svnobj [000000] .. [r2]  Maximize  Restore

Switch to side-by-side view

--- a
+++ b/IoDrvSysfsGPIO/IoDrvSysfsGPIO/ICmpIoDrvParameter/IoDrvWriteParameter/svnobj
@@ -0,0 +1,71 @@
+Gx_lä!0…jüoƒ§ê‹½9óÖmSystem.StringL{f8a58466-d7f6-439f-bbb8-d4600e41d099}ImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocumentL{f3878285-8e4f-490b-bb1b-9acbb7eb04db}TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}	Id
+longTagText
jIF pConnector = 0 OR pParameter = 0 OR pData = 0 THENZ	IoDrvWriteParameter := Errors.ERR_PARAMETER;	RETURN;	END_IFÖ//If IoDrvWriteParameter returns a value unequal ERR_OK, write parameter will be handled by the IO-manager!š//Note: Code must be only implemented here if there are special things to do.JIoDrvWriteParameter := Errors.ERR_OK;BCASE pParameter^.dwParameterId OF0	393221: //simulate diag*		IF pData^ <> 0 THEN
+			(*H				Example for extended Diagnostic:ú				- here a string value is written to parameter of channeltype "diag": when "CF_CONNECTOR_DIAGNOSTIC_AVAILABLE" is set in the connector, the diagnostic message is read with ReadParameter.
+			*)n			pParam := IoMgrConfigGetParameter(pConnector, 4711);,			IF pParam <> 0 THENˆ				pstDiagString := IoMgrConfigGetParameterValuePointer(pParam, 0);<				IF pstDiagString <> 0 THEN N					pstDiagString^ := 'Error pending';!				END_IF"			END_IF#			$–				set diagnostic available flag to trigger reading of diagnosis parameter%			*) &²			IoMgrConfigSetDiagnosis(pConnector, Connectorflags.CF_CONNECTOR_DIAGNOSTIC_AVAILABLE);'		END_IF(		RETURN;) 	393222, 393223:*~		//here you can add some special code for the three parameters+@		pValue := pParameter^.dwValue;,ê		SysMemCpy((pValue + dwBitOffset/8), pData, MIN(DWORD_TO_BYTE(dwBitSize/8), UINT_TO_BYTE(pParameter^.wLen / 8)));			-	4712: .		(*/`				Example for extended Diagnostic Acknowledge:0È				- Parameter needs channel type "diagack": when user presses ACKNOWLEDGE WriteParameter is called1¸				- here only the flag is reset, so the diag message is not shown in the Editor any more  2		*)3´		IoMgrConfigResetDiagnosis(pConnector, Connectorflags.CF_CONNECTOR_DIAGNOSTIC_AVAILABLE);4
+	ELSE5B		pValue := pParameter^.dwValue; 6¤		SysMemCpy(pDest := pValue + dwBitOffset/8, pSrc := pData, pParameter^.wLen / 8);7END_CASE8RIoDrvWriteParameter := Errors.ERR_FAILED;9Interface:L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94};Z{attribute 'conditionalshow' := 'IoDrvDebug'}<DMETHOD IoDrvWriteParameter : UDINT=VAR_INPUT>V	pConnector : POINTER TO IoConfigConnector;?V	pParameter : POINTER TO IoConfigParameter;@2	pData : POINTER TO BYTE;A&	dwBitSize : DWORD;B*	dwBitOffset : DWORD;CEND_VARDVAREN	pParam : POINTER TO IoConfigParameter;FF	pstDiagString : POINTER TO STRING;G4	pValue : POINTER TO BYTE;ÐÐÐE2ÐÐ	
+­ÚÐ-
ÐÐ	
+­ÚÐ-ÐÐ	
+­ÚÐ-ÐÐ	
+­ÚÐ-ÐÐ	
+­/ÚÐ-ÐÐ	
+­1ÚÐ-ÐÐ	
+­0ÚÐ-ÐÐ	
+­-ÚÐ-ÐÐ	
+­ÚÐ-ÐÐ	
+­ÚÐ-ÐÐ	
+­6ÚÐ-ÐÐ	
+­9ÚÐ-ÐÐ	
+­HÚÐ-ÐÐ	
+­TÚÐ-ÐÐ	
+­WÚÐ-ÐÐ	
+­VÚÐ-ÐÐ	
+­?ÚÐ-ÐÐ	
+­@ÚÐ-ÐÐ	
+­AÚÐ-ÐÐ	
+­EÚÐ-ÐÐ	
+­FÚÐ-ÐÐ	
+­GÚÐ- ÐÐ	
+­BÚÐ-!ÐÐ	
+­XÚÐ-"ÐÐ	
+­IÚÐ-#ÐÐ	
+­YÚÐ-ÐÐ	
+­ZÚÐ-$ÐÐ	
+­7ÚÐ-%ÐÐ	
+­:ÚÐ-&ÐÐ	
+­8ÚÐ-'ÐÐ	
+­ÚÐ-(ÐÐ	
+­2ÚÐ-)ÐÐ	
+­MÚÐ-*ÐÐ	
+­)ÚÐ-+ÐÐ	
+­*ÚÐ-,ÐÐ	
+­3ÚÐ-(ÐÐ	
+­OÚÐ--ÐÐ	
+­PÚÐ-.ÐÐ	
+­QÚÐ-/ÐÐ	
+­[ÚÐ-0ÐÐ	
+­SÚÐ-1ÐÐ	
+­>ÚÐ-2ÐÐ	
+­5ÚÐ-3ÐÐ	
+­JÚÐ-(ÐÐ	
+­NÚÐ-4ÐÐ	
+­KÚÐ-5ÐÐ	
+­'ÚÐ-6ÐÐ	
+­,ÚÐ-7ÐÐ	
+­#ÚÐ-ÐÐ	
+­ÚÐ-8Ð9:ÐEÐÐ	
+­\ÚÐ-;ÐÐ	
+­ÚÐ-<ÐÐ	
+­	ÚÐ-=ÐÐ	

+ÚÐ->ÐÐ	
+­ÚÐ-?ÐÐ	
+­ÚÐ-@ÐÐ	

ÚÐ-AÐÐ	
+­ÚÐ-BÐÐ	
+­ÚÐ-CÐÐ	
+­CÚÐ-DÐÐ	
+­DÚÐ-EÐÐ	
+­LÚÐ-FÐÐ	
+­ÚÐ-GÐÐ	
+­ÚÐ-CÐÐ	
+­ÚÐ-
\ No newline at end of file