[r13]: / trunk / gpiomod / GPIOMods / SoftPWM / svnobj  Maximize  Restore  History

Download this file

6 lines (6 with data), 4.5 kB

Gx_l°!0…jüo˙‰&‰MÁ\˝System.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}Id
longTagTextj(* If current task is not, yet, determined, get it *)TIF hTask = SysTask.RTS_INVALID_HANDLE THENN	SysTask.SysTaskGetCurrent(ADR(hTask));END_IF\(* if task is determined, adjust next cycle *)VIF hTask <> SysTask.RTS_INVALID_HANDLE THEN	IF xPWM THEN®		ulInterval := LREAL_TO_DWORD((LREAL#1000000 / DWORD_TO_LREAL(dwFrequ)) * rDutyCycle);
	ELSEĆ		ulInterval := LREAL_TO_DWORD((LREAL#1000000 / DWORD_TO_LREAL(dwFrequ)) * (LREAL#1 - rDutyCycle));	END_IF	Ş	(* if we are near the boundary values, we snap the output either to TRUE or FALSE *)D	IF ulInterval < cMinInterval THENz		SysTask.SysTaskSetInterval(hTask, DWORD#1000000 / dwFrequ); 	ELSE		!`		SysTask.SysTaskSetInterval(hTask, ulInterval);"&		xPWM := NOT xPWM;#Interface$L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}%l/// This FB can be used to implement a Soft PWM, based&N/// on the scheduler of a Linux system.'///(l/// Note, that this function block should be used in a)n/// a high priority task. The interval of the task will*,/// constantly change.+,FUNCTION_BLOCK SoftPWM,VAR_INPUT-"	dwFrequ : DWORD;.&	rDutyCycle : REAL;/END_VAR0VAR_OUTPUT1	xPWM : BOOL;2VAR3|	hTask : SysTask.RTS_IEC_HANDLE := SysTask.RTS_INVALID_HANDLE;4&	ulInterval: DWORD;5VAR CONSTANT68	cMinInterval: DWORD := 100;7"UniqueIdGenerator8539POULevel:L{8e575c5b-1d37-49c6-941b-5c0ec7874787};Standard< ChildObjectGuids=8System.Collections.ArrayList>,AddAttributeSubsequent?boolĐĐ-ĐĐ	E
ĐĐ
­ÚĐ-ĐĐ
­ÚĐ-ĐĐ
­ÚĐ-ĐĐ
­ÚĐ-ĐĐ
­ÚĐ-ĐĐ
­ÚĐ-ĐĐ
­ÚĐ-ĐĐ
­ÚĐ-ĐĐ
­ÚĐ-ĐĐ
­ ÚĐ-ĐĐ
­!ÚĐ-ĐĐ
­"ÚĐ-ĐĐ
­+ÚĐ-ĐĐ
­,ÚĐ-ĐĐ
­-ÚĐ-ĐĐ
­5ÚĐ-ĐĐ
­1ÚĐ- ĐĐ
­ÚĐ-!ĐĐ
­*ÚĐ-"ĐĐ
­3ÚĐ-ĐĐ
­ÚĐ-ĐĐ
­ÚĐ-ĐĐ
­ÚĐ-ĐĐ
­	ÚĐ-Đ#$Đ	E
ĐĐ
­#ÚĐ-%ĐĐ
­$ÚĐ-&ĐĐ
­%ÚĐ-'ĐĐ
­&ÚĐ-(ĐĐ
­'ÚĐ-)ĐĐ
­)ÚĐ-*ĐĐ
­ÚĐ-+ĐĐ
­ÚĐ-,ĐĐ
­
ÚĐ--ĐĐ
­ÚĐ-.ĐĐ
­ÚĐ-/ĐĐ
­ÚĐ-0ĐĐ
­ÚĐ-1ĐĐ
­ÚĐ-/ĐĐ
­ÚĐ-2ĐĐ
­ÚĐ-3ĐĐ
­ÚĐ-4ĐĐ
­ÚĐ-/ĐĐ
­.ÚĐ-5ĐĐ
­/ÚĐ-6ĐĐ
­0ÚĐ-/ĐĐ
­ÚĐ-Đ7-8Đ9:-;<=Đ>?­