#include-once
#include <Array.au3>
#NoAutoIt3Execute
#include "RS232CommAPI.au3"
#include "CommInterface.au3"
#AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7
;Funktion für den Butten der COMPORT-Verbindung
Func _Connect(ByRef $comPort, ByRef $connectFlg, $RF_Flg, $inicmdTable, $iPort)
local $pflg = False
local $tflg = False
local $aCmdPar[4]
If GUICtrlRead($CMConnect) = "Connect" Then
;Local $iPort = GUICtrlRead($ComPort)
$iPort = StringTrimLeft ($iPort, 3)
Local $sMode =_CommAPI_CreateModeString(Int($iPort), 19200, "0", 8, 0, "0", "0", "0", "0", "0", "0")
MsgBox(0, "Smode", $sMode)
$comPort = _CommAPI_OpenPort($sMode)
If $comPort = 0 Then
_GUICtrlEdit_AppendText($StatusEdit, "don't open comport"&@CRLF)
Else
_CommAPI_ClearCommError($comPort)
If @error Then Return SetError(@error, @ScriptLineNumber)
_CommAPI_PurgeComm($comPort)
If @error Then Return SetError(@error, @ScriptLineNumber)
_Sender(3, 1, $comPort) ;den Befehl zu MatchingCube zu senden
_Receive($pflg, $tflg, $aCmdPar, $comPort)
;_ArrayDisplay($aCmdPar)
If $pflg Then
If $aCmdPar[0] = 3 Then
If $aCmdPar[1] = $SERIAL_PORT_AKNOWLEDGE Then
GUICtrlSetData($CMConnect, "Disconnect")
GUICtrlSetState($comPort, $GUI_DISABLE)
_Initial($cmdTabel, $comPort)
$connectFlg = True
EndIf
Else
_GUICtrlEdit_AppendText($StatusEdit, "no matched SR_Commandos"&@CRLF)
;_GUICtrlStatusBar_SetText($StatusBar, "The send- and receive message aren't matching!")
EndIf
ElseIf $tflg And Not $pflg Then
_GUICtrlEdit_AppendText($StatusEdit, "COM-Connect timeout!"&@CRLF)
;_GUICtrlStatusBar_SetText($StatusBar, "Timeout! No feedback from generator")
EndIf
EndIf
ElseIf GUICtrlRead($CMConnect) = "Disconnect" Then
If $RF_Flg Then
_GUICtrlEdit_AppendText($StatusEdit, "deactivate RF-OFF"&@CRLF)
;_GUICtrlStatusBar_SetText($StatusBar, "Please deactivate with RF-OFF")
Else
If _CommAPI_ClosePort($comPort) Then
GUICtrlSetData($CMConnect, "Connect")
;GUICtrlSetState($comPort, $GUI_ENABLE)
$comPort = 0
$connectFlg = False
Else
_GUICtrlEdit_AppendText($StatusEdit, "dosen't close the comport"&@CRLF)
EndIf
EndIf
EndIf
EndFunc