#IF %DEF(%includeoldcqtctrlcode) SUB Cqt2_Ctrl () STATIC slnr AS BYTE STATIC udnr AS BYTE STATIC cc33 AS BYTE, cc34 AS BYTE, cc40 AS BYTE, cc41 AS BYTE, cc42 AS BYTE IF ISFALSE Task(%cqtctrl).tog THEN Task(%cqtctrl).tog = %True ' create a parameter window automatically: ' The handle for this window will be returned in Task(%cqt).hParam DIM TaskParamLabels(7) AS LOCAL ASCIIZ * 8 ' first set the sliderlabels: TaskParamLabels(0) = "Onset" 'cc33 TaskParamLabels(1) = "Offset" 'cc34 TaskParamLabels(2) = "HiLim" 'cc41 TaskParamLabels(3) = "Lolim" 'cc42 ' continue with the updown labels: TaskParamLabels(4) = "Transpo" 'cc40 TaskParamLabels(5) = "c35=" TaskParamLabels(6) = "c36=" TaskParamLabels(7) = "c37=" IF ISFALSE Task(%cqtctrl).hParam THEN MakeTaskParameterDialog %cqtctrl,4,Slider(),4,UDctrl(),TaskParamLabels() MoveWindow Task(%cqtctrl).hparam,0,0,250,200,%True END IF cc33 = 41 ' slider 0 cc34 = 123 ' slider 1 cc40 = 64 ' Up Down 0 cc41 = 93 ' slider 2 cc42 = 32 ' slider 3 modemess task(%cqtctrl).channel,33, 41 modemess task(%cqtctrl).channel,34,123 modemess task(%cqtctrl).channel,35,27 modemess task(%cqtctrl).channel,36,26 modemess task(%cqtctrl).channel,37,24 modemess task(%cqtctrl).channel,38,64 modemess task(%cqtctrl).channel,39,64 modemess task(%cqtctrl).channel,40,64 modemess task(%cqtctrl).channel,41,93 modemess task(%cqtctrl).channel,42,32 END IF IF slnr = %False THEN slnr = TaskEX(%cqtctrl).SliderNumbers(0) Slider(slnr).value = cc33 Slider(slnr+1).value = cc34 Slider(slnr+2).value = cc41 Slider(slnr+3).value = cc42 SendMessage Slider(slnr).h, %TBM_SETPOS,%True, Slider(Slnr).value SendMessage Slider(slnr+1).h, %TBM_SETPOS,%True, Slider(Slnr+1).value SendMessage Slider(slnr+2).h, %TBM_SETPOS,%True, Slider(Slnr+2).value SendMessage Slider(slnr+3).h, %TBM_SETPOS,%True, Slider(Slnr+3).value EXIT SUB END IF IF udnr = %False THEN udnr = TaskEX(%cqtctrl).UpDownNumbers(0) UDctrl(udnr).cptr = CODEPTR(UD_CC40) UDctrl(udnr).value = cc40 UDctrl(udnr+1).cptr = CODEPTR(UD_1) ' not used yet. -cc35 UDctrl(udnr+1).value = 27 'channel UDctrl(udnr+2).value = 26 'ctrl nr. offset -cc36 UDctrl(udnr+2).cptr = CODEPTR(UD_2) UDctrl(udnr+3).value = 24 UDctrl(udnr+3).cptr = CODEPTR(UD_3) '-cc37 EXIT SUB END IF IF Slider(slnr).value <> cc33 THEN cc33 = Slider(slnr).value: modemess task(%cqtctrl).channel,33,cc33 IF Slider(slnr+1).value <> cc34 THEN cc34 = Slider(slnr+1).value: modemess task(%cqtctrl).channel,34,cc34 IF Slider(slnr+2).value <> cc41 THEN cc41 = Slider(slnr+2).value: modemess task(%cqtctrl).channel,41,cc41 IF Slider(slnr+3).value <> cc42 THEN cc42 = Slider(slnr+3).value: modemess task(%cqtctrl).channel,42,cc42 END SUB SUB UD_CC40 () ' for callback on parameter UpDowns. SetDlgItemText Task(%cqtctrl).hparam, %GMT_TEXT0_ID + 16, "T=" & STR$(UDCtrl(TaskEX(%cqtctrl).UpdownNumbers(0)).value) ModeMess task(%cqtctrl).channel,40,UDCtrl(TaskEX(%cqtctrl).UpdownNumbers(0)).value END SUB SUB UD_1 () ' test ud used for setting the channel through which we send messages to the cqf2 Modemess task(%cqtctrl).channel,35, MIN(127, UDCtrl(TaskEX(%cqtctrl).UpdownNumbers(1)).value) SetDlgItemText Task(%cqtctrl).hparam, %GMT_TEXT0_ID + 17, "c35=" & STR$(MIN(127, UDCtrl(TaskEX(%cqtctrl).UpdownNumbers(1)).value)) END SUB SUB UD_2 () Modemess task(%cqtctrl).channel,36, MIN(127, UDCtrl(TaskEX(%cqtctrl).UpdownNumbers(2)).value) SetDlgItemText Task(%cqtctrl).hparam, %GMT_TEXT0_ID + 18, "c36=" & STR$(MIN(127, UDCtrl(TaskEX(%cqtctrl).UpdownNumbers(2)).value)) END SUB SUB UD_3 () Modemess task(%cqtctrl).channel,37, MIN(127, UDCtrl(TaskEX(%cqtctrl).UpdownNumbers(3)).value) SetDlgItemText Task(%cqtctrl).hparam, %GMT_TEXT0_ID + 19, "c37=" & STR$(MIN(127, UDCtrl(TaskEX(%cqtctrl).UpdownNumbers(3)).value)) END SUB #ENDIF