CommAPI

From AutoIt Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

CommAPI translates the communications functions of Windows API to AutoIt functions.

Overview

Features

  • No need to install DLL's
  • Using Windows API calls (kernel32.dll)
  • Possibility of serial communication (serial port, COM port, RS-232)
  • Possibility of parallel communication (parallel port, LPT port)
  • No use of global variables
  • Uniform namespace _CommAPI_XXX
  • Modular organization into files
  • A lot of additional utility and helper functions

Scripts

Examples

CommAPI Examples shows you some examples. Maybe you could find more examples in forum.

Background

History

  • 2008-09-12 Creation of cfx.au3 (V1.0)
  • 2011-02-18 Conversation of cfx.au3 into cfxUDF.au3 (V2.0)
  • 2011-02-28 Update V2.0 to V2.1
  • 2011-04-27 Update V2.1 to V2.2 (german forum)
  • 2013-07-10 Modify V2.1 to V2.1mod
  • 2013-10-24 Creation of CommAPI.au3

Changelog

2014-01-23
Small update of method _CommAPI_CreateModeString
2014-02-03
Change timeout handling (Attention: not backward compatible)
Small update of method _CommAPI_PurgeComm
2014-03-07
Rename CommAPIStructures.au3 to CommAPIConstants.au3
Replace hex values with Constants
2014-03-27
Update of call _WinAPI_CreateFile
Updated @error handling
New parameter MaxLen for function _CommAPI_ReceiveData
New function _CommAPI_ReceiveLine
Update existing examples and add new examples
2014-03-31
Add constants
Fix _CommAPI_WaitCommEvent
2014-04-03
Fix reading error Chr(128) to Chr(255)
Fix error in _CommAPI_TransmitData
2014-04-04
Replace ReceiveData & ReceiveLine with ReceiveBinary & ReceiveString
2014-04-07
replace _CommAPI_TransmitData with _CommAPI_TransmitBinary & _CommAPI_TransmitString
Create CommObsolete.au3 for backward compatibility
2014-04-08
Fix error in _CommAPI_ReceiveBinary

Roadmap

There is no roadmap in the moment. Feel free to implement the last five remaining API calls, enhance the scripts or to fix bugs.

Support

There is no official support. Try to get help from community in the official forum. Here you can find the main thread.

Resources

Functions

Implemented API functions

  • BuildCommDCB
  • BuildCommDCBAndTimeouts
  • ClearCommBreak
  • ClearCommError
  • EscapeCommFunction
  • GetCommMask
  • GetCommModemStatus
  • GetCommProperties
  • GetCommState
  • GetCommTimeouts
  • PurgeComm
  • SetCommBreak
  • SetCommMask
  • SetCommState
  • SetCommTimeouts
  • SetupComm
  • TransmitCommChar
  • WaitCommEvent

Unimplemented API functions

  • CommConfigDialog
  • GetCommConfig
  • GetDefaultCommConfig
  • SetCommConfig
  • SetDefaultCommConfig

API helper functions

  • ChangeCommStateElement
  • ChangeCommTimeoutsElement
  • GetCommStateElement
  • GetCommTimeoutsElement
  • IsOnCTS
  • IsOnDCD
  • IsOnDSR
  • IsOnRI
  • SetCommStateElement
  • SetCommTimeoutsElement
  • SetOnDTR
  • SetOnRTS

Utility functions

  • CommStateToString
  • CommTimeoutsToString
  • CreateModeString
  • GetCOMPorts

Interface functions

  • ClosePort
  • OpenCOMPort
  • OpenPort
  • ReceiveBinary
  • ReceiveString
  • TransmitBinary
  • TransmitString