Skip to main content

Config.ComPorts

persistent class Config.ComPorts extends %Library.Persistent, Config.CommonMultipleMethods, Config.CommonProperties, %SYSTEM.Help

SQL Table Name: Config.ComPorts

This class allows you to modify and view the [ComPorts] section of the CPF file through programatic APIs. While properties are usually modified through the System Management portal, there may be some occasion where modifying them through the API's is best for your system. In all the Config methods, if you do not specify the CPFFile parameter, the currently active CPF file is used. If you wish to modify a CPF file which is not the currently active one, then specify the CPFFile you wish to modify in the method call.
The Flags parameter does not normally need to be specified; the defaults are usually sufficient for most cases.
You can use either the provided API's (Create/Get/Modify/Delete) to modify the properties by passing in the correct parameters, or use Object syntax to open and directly manipulate the config objects (Open() and Exists()). Most objects created here need only to specify the Name of the object, and 1 or 2 properties since the the defaults are what are commonly used for most cases.

EXAMPLE:

; Use class methods to create an instance
%SYS>s Name="COM5:"
%SYS>s Properties("BaudRate")=9600
%SYS>s Status=##Class(Config.ComPorts).Create(Name,.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Use class methods to modify properties
%SYS>s Status=##Class(Config.ComPorts).Get(Name,.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
%SYS>zw Properties("BaudRate")
Properties("BaudRate")=9600
%SYS>s Properties("BaudRate")=19200
%SYS>s Status=##Class(Config.ComPorts).Modify(Name,.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Now use Objects to modify properties
%SYS>s Obj=##Class(Config.ComPorts).Open(Name)
; We could have used i ##Class(Config.ComPorts).Exists(Name,.Obj) instead of Open()
%SYS>w Obj.BaudRate
19200
%SYS>s Obj.BaudRate=38400
%SYS>s Status=Obj.%Save()
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Now delete the object we just created
%SYS>s Status=##Class(Config.ComPorts).Delete(Name)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)

Property Inventory

Parameters

parameter CAPITALNAME = 1;
Inherited description: Determines if the Name specified in the index should be capitalized.

Properties

property BaudRate as %Integer [ InitialExpression = 19200 , Required ];
Baud rate the comm port is set to.
110
300
600
1200
2400
4800
9600
14400
19200
38400
56000
57600
115200
128000
256000
Property methods: BaudRateDisplayToLogical(), BaudRateGet(), BaudRateGetStored(), BaudRateIsValid(), BaudRateLogicalToDisplay(), BaudRateNormalize(), BaudRateSet(), BaudRateXSDToLogical()
property DTR as %String (MAXLEN = 1, MINLEN = 1) [ InitialExpression = " " , Required ];
"0" - Disabled
"1" - Enabled
" " - Use Windows Setting
Property methods: DTRDisplayToLogical(), DTRGet(), DTRGetStored(), DTRIsValid(), DTRLogicalToDisplay(), DTRLogicalToOdbc(), DTRNormalize(), DTRSet()
property DataBits as %String (MAXLEN = 1, MINLEN = 1) [ InitialExpression = "8" , Required ];
"5" - 5 Data Bits
"6" - 6 Data Bits
"7" - 7 Data Bits
"8" - 8 Data Bits< " " - Use Windows Setting
Property methods: DataBitsDisplayToLogical(), DataBitsGet(), DataBitsGetStored(), DataBitsIsValid(), DataBitsLogicalToDisplay(), DataBitsLogicalToOdbc(), DataBitsNormalize(), DataBitsSet()
property FlowControl as %String (MAXLEN = 1, MINLEN = 1) [ InitialExpression = " " , Required ];
"X" - Xon-Xoff
"C" - CTS-RTS
"D" - DSR-DTR
" " - Use Windows Setting
Property methods: FlowControlDisplayToLogical(), FlowControlGet(), FlowControlGetStored(), FlowControlIsValid(), FlowControlLogicalToDisplay(), FlowControlLogicalToOdbc(), FlowControlNormalize(), FlowControlSet()
property ModemControl as %String (MAXLEN = 1, MINLEN = 1) [ InitialExpression = " " , Required ];
"0" - Disabled
"1" - Enabled
" " - Use Windows Setting
Property methods: ModemControlDisplayToLogical(), ModemControlGet(), ModemControlGetStored(), ModemControlIsValid(), ModemControlLogicalToDisplay(), ModemControlLogicalToOdbc(), ModemControlNormalize(), ModemControlSet()
property Parity as %String (MAXLEN = 1, MINLEN = 1) [ InitialExpression = " " , Required ];
"0" - No Parity
"1" - Odd Parity
"2" - Even Parity
"3" - Mark Parity
"4" - Space Parity
" " - Use Windows Setting
Property methods: ParityDisplayToLogical(), ParityGet(), ParityGetStored(), ParityIsValid(), ParityLogicalToDisplay(), ParityLogicalToOdbc(), ParityNormalize(), ParitySet()
property StopBits as %String (MAXLEN = 1, MINLEN = 1) [ InitialExpression = " " , Required ];
"1" - 1 Stop Bit
"2" - 2 Stop Bits
"3" - 1.5 Stop Bits
" " - Use Windows Setting
Property methods: StopBitsDisplayToLogical(), StopBitsGet(), StopBitsGetStored(), StopBitsIsValid(), StopBitsLogicalToDisplay(), StopBitsLogicalToOdbc(), StopBitsNormalize(), StopBitsSet()
property ZAError as %String (MAXLEN = 1, MINLEN = 1) [ InitialExpression = " " , Required ];
"0" - Disabled
"1" - Enabled
" " - Windows Settings
Property methods: ZAErrorDisplayToLogical(), ZAErrorGet(), ZAErrorGetStored(), ZAErrorIsValid(), ZAErrorLogicalToDisplay(), ZAErrorLogicalToOdbc(), ZAErrorNormalize(), ZAErrorSet()

Queries

query List(Names As %String, CPFFile As %String = "", Flags As %Integer = 0, Format As %Integer = 0)
Selects Name As %String, ModemControl As %String, DataBits As %String, Parity As %String, StopBits As %String, FlowControl As %String, DTR As %String, ZAError As %String, BaudRate As %Integer
List ComPorts in a CPF file.

Parameters:
Names - Comma separated list of ComPort names
"*" - All records match
"String,String1" - Any records matching one of these elements
"String*" - Any record starting with "String"
"String,String1*,String2" - Any record matching one of these elements, or starting with "String1"
CPFFile - Name of the CPF file to use. A null string means use the active CPF file.
Flags - Currently ignored.
Format
0 - Standard report list format
1 - ^CONFIG global format
2 - CPF file format format
Note: This query may change in future versions

Indexes

index (CPFNameSectionHeaderName on CPFName,SectionHeader,Name) [IdKey, Type = key, Unique];
Index methods: CPFNameSectionHeaderNameCheck(), CPFNameSectionHeaderNameDelete(), CPFNameSectionHeaderNameExists(), CPFNameSectionHeaderNameOpen(), CPFNameSectionHeaderNameSQLCheckUnique(), CPFNameSectionHeaderNameSQLExists(), CPFNameSectionHeaderNameSQLFindPKeyByConstraint(), CPFNameSectionHeaderNameSQLFindRowIDByConstraint()

Inherited Members

Inherited Properties

Inherited Methods

Storage

Storage Model: Storage (Config.ComPorts)

^|"^^"_$ZU(12)|SYS("CONFIG")(ID)
=
%%CLASSNAME
BaudRate
DTR
DataBits
FlowControl
ModemControl
Parity
StopBits
ZAError
Comments
FeedbackOpens in a new tab