public class PFSerialPortConnector extends java.lang.Object implements PFComponent, PFDataCreateEventSource, PFProcessTerminateEventSource, PFXMLSerializable
受信時のイベント発生は読み込みモード番号を指定することで処理を変更できる。 デフォルトの番号は0で、受信が途切れた際に受信した文字列をまとめて出力する。QRコードなど 日本語の文字列を含む場合にはこのモードが有用。その他に英数字に限定した文字単位での読み込みと 改行文字が含まれることを前提にした行単位での読み込みモードがある。
シリアル通信コンポーネントから発生するイベントは以下のとおり。
トリガ | 結果データ | イベント番号 |
---|---|---|
ポート切断時 | 切断したポート名 String |
0 |
ポート接続時 | 接続したポート名 String |
1 |
トリガ | 対象データ | イベント番号 |
---|---|---|
ポートのデータ受信 | 受信データ (String) |
0 |
JPEGデータ配列受信 | 受信データ (byte[]) |
1 |
修飾子とタイプ | フィールドと説明 |
---|---|
protected int |
mode_read |
protected int |
mode_read_byte |
protected static int |
MODE_READ_BYTE |
protected static int |
MODE_READ_BYTE_ARRAY_JPEG |
protected static int |
MODE_READ_BYTE_DOUBLE_SIGNED |
protected static int |
MODE_READ_BYTE_DOUBLE_UNSIGNED |
protected static int |
MODE_READ_BYTE_SINGLE_SIGNED |
protected static int |
MODE_READ_BYTE_SINGLE_SIGNED_ARRAY |
protected static int |
MODE_READ_BYTE_SINGLE_UNSIGNED |
protected static int |
MODE_READ_BYTE_SINGLE_UNSIGNED_ARRAY |
protected static int |
MODE_READ_DEFAULT |
protected static int |
MODE_READ_LINE_TEXT |
protected static int |
MODE_READ_SINGLE_CHAR |
protected gnu.io.SerialPort |
port
シリアルポート
コンポーネントで取得します。 |
コンストラクタと説明 |
---|
PFSerialPortConnector()
コンポーネントを生成する。
|
修飾子とタイプ | メソッドと説明 |
---|---|
protected void |
addEventListener()
データ受信に応じたイベント発生の定義。
|
void |
addPFDataCreateListener(PFDataCreateListener lis)
引数で与えられたイベントリスナを登録し、
データ生成イベント発生時に処理を行う対象とする。
|
void |
addPFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを登録し、
処理完了イベント発生時に処理を行う対象とする。
|
void |
closePort()
ポートをクローズします。
|
protected void |
fireDataCreated(PFDataCreateEvent event)
データ生成イベントを発生させる。
|
protected void |
fireDataRead()
データ読込通知用データ生成イベントの発生。
|
void |
firePortConnected()
ポート接続通知用処理完了イベントの発生。
|
void |
firePortDisconnected()
ポート切断通知用処理完了イベントの発生。
|
protected void |
fireProcessTerminated(PFProcessTerminateEvent event)
処理完了イベントを発生させる。
|
PFObjectList |
getAvailableCharsetAliases()
指定可能な文字コード名の別名を含めた一覧を取得する。
|
PFObjectList |
getAvailableCharsets()
指定可能な文字コード標準名の一覧を取得する。
|
int |
getBaudRate()
通信速度を取得する。
|
int |
getByteReadMode()
バイト読み込みモードの番号を取得する。
|
int |
getByteReadModeArrayJPEG()
バイト読込モード(JPEGデータ配列)の番号を取得する。
|
int |
getByteReadModeDoubleSinged()
バイト読み込みモード(ダブル符号あり)の番号を取得する。
|
int |
getByteReadModeDoubleUnsinged()
バイト読み込みモード(ダブル符号なし)の番号を取得する。
|
int |
getByteReadModeSingleSinged()
バイト読み込みモード(シングル符号あり)の番号を取得する。
|
int |
getByteReadModeSingleSingedArray()
バイト読み込みモード(シングル符号あり配列)の番号を取得する。
|
int |
getByteReadModeSingleUnsinged()
バイト読み込みモード(シングル符号なし)の番号を取得する。
|
int |
getByteReadModeSingleUnsingedArray()
バイト読み込みモード(シングル符号なし配列)の番号を取得する。
|
java.lang.String |
getCharset()
文字コードを取得する。
|
java.lang.String |
getCommPort()
CommPort名を取得する。
|
int |
getComponentID()
コンポーネントIDを取得する。
|
java.lang.String |
getComponentKey()
コンポーネントキーを取得する。
|
PFMultiLocaleString |
getComponentKeys()
全ロケール分のコンポーネントキーを返す。
|
java.lang.String |
getComponentName()
コンポーネント名称を取得する。
|
java.lang.String |
getComponentPublicName()
コンポーネント公開名を取得する.
|
java.lang.String |
getComponentString()
コンポーネントの文字列表現を取得する。
|
int |
getDATABITS_5()
データビット 5
|
int |
getDATABITS_6()
データビット 6
|
int |
getDATABITS_7()
データビット 7
|
int |
getDATABITS_8()
データビット 8
|
int |
getDataBits()
データビットを取得する。
|
java.lang.String |
getDefaultCharset()
デフォルトの文字コードを取得する。
|
int |
getDoubleByteValue(int high,
int low)
2つのバイト値から整数を取得する。
|
java.lang.String |
getDoubleByteValueAsHexString(int high,
int low)
2つのバイト値から整数を取得して16進数文字列として返す。
|
int |
getFlowControlMode()
フローコントロールモードの取得
|
int |
getInBufferSize()
現在開いているポートの、受信バッファサイズを取得します。
|
int |
getOutBufferSize()
現在開いているポートの、送信バッファサイズを取得します。
|
byte[] |
getPacketToSend()
送信データ配列を取得する。
|
java.lang.String |
getPacketValueAsHexStringAt(int index)
読み取りデータ値を位置指定で取得して16進数文字列として返す。
|
int |
getPacketValueAt(int index)
読み取りデータ値を位置指定で取得する。
|
int |
getPARITY_EVEN()
偶数パリティ
|
int |
getPARITY_MARK()
マークパリティ
|
int |
getPARITY_NONE()
パリティなし
|
int |
getPARITY_ODD()
奇数パリティ
|
int |
getPARITY_SPACE()
スペースパリティ
|
int |
getParity()
パリティを取得する。
|
java.util.Iterator |
getPFDataCreateListenerList()
データ生成イベントリスナ配列を取得する。
|
java.util.Iterator |
getPFProcessTerminateListenerList()
処理完了イベントリスナ配列を取得する。
|
gnu.io.CommPortIdentifier |
getPortID()
ポート識別オブジェクトを取得する。
|
PFObjectList |
getPortList()
シリアルポートの一覧を取得します。
|
int |
getReadByte()
受信データのうち選択されたバイトデータを取得します。
|
int |
getReadByteAt(int idx)
指定されたバイトデータを選択して取得します。
|
int |
getReadByteFirst()
読み込まれた最初のバイトデータを選択して取得します。
|
int |
getReadByteLast()
読み込まれた最後のバイトデータを選択して取得します。
|
byte[] |
getReadBytes()
読み込んだデータをバイト配列として取得する。
|
int |
getReadMode()
読み込みモードの番号を取得する。
|
int |
getReadModeByte()
読み込みモード(バイトデータ)の番号を取得する。
|
int |
getReadModeDefault()
読み込みモード(デフォルト)の番号を取得する。
|
int |
getReadModeLineText()
読み込みモード(行)の番号を取得する。
|
int |
getReadModeSingleChar()
読み込みモード(文字)の番号を取得する。
|
java.lang.String |
getReadString()
読み込んだデータを文字列として取得する。
|
java.lang.String |
getReadString(java.lang.String charset)
読み込んだデータを指定した文字コードでデコードした文字列として取得する。
|
int |
getSTOPBITS_1_5()
ストップビット 1-1/2 bit
|
int |
getSTOPBITS_1()
ストップビット 1 bit
|
int |
getSTOPBITS_2()
ストップビット 2 bit
|
int |
getStopBits()
ストップビットを取得する。
|
int |
getTimeOut()
タイムアウトを取得する。
|
protected void |
init()
初期化する。
|
boolean |
isAllowPullTransfer()
他PFからのPull型コンポーネント転送要求に対する可否属性を取得する.
|
boolean |
isAllowPushTransfer()
他PFへのPush型コンポーネント転送要求に対する可否属性を取得する.
|
boolean |
isAllowRemoteInvocation()
他PFからのコンポーネント連携要求に対する可否属性を取得する.
|
boolean |
isCurrentlyOwned(java.lang.String potnm)
指定されたポートの状態を確認します。
|
void |
localeUpdated()
ロケール変更に対応する。
|
byte[] |
makePacketToSend(int length)
送信データ配列を作成する。
|
void |
openPort(java.lang.String portnm)
指定されたポート名をオープンする。
|
void |
output(byte[] data)
バイト配列データをポートへ出力する。
|
void |
output(int data)
バイトデータをポートへ出力する。
|
void |
output(java.lang.String data)
文字列データをポートへ出力する。
|
boolean |
portExists(java.lang.String portnm)
指定されたポート名の有無をチェックします。
|
boolean |
readByteSingleSignedArray(int length)
長さ指定で符号付きバイト列を読み込む。
|
boolean |
readByteSingleUnsignedArray(int length)
長さ指定で符号なしバイト列を読み込む。
|
void |
readXML(PFXMLLoader in)
XMLを入力する.
|
void |
removePFDataCreateListener(PFDataCreateListener lis)
引数で与えられたイベントリスナを削除し、
データ生成イベント発生時に処理を行う対象から外す。
|
void |
removePFProcessTerminateListener(PFProcessTerminateListener lis)
引数で与えられたイベントリスナを削除し、
処理完了イベント発生時に処理を行う対象から外す。
|
java.lang.String |
resetCharset()
文字コードをデフォルトの値に設定する。
|
void |
setAllowPullTransfer(boolean flag)
他PFからのPull型コンポーネント転送要求に対する可否属性を設定する.
|
void |
setAllowPushTransfer(boolean flag)
他PFへのPush型コンポーネント転送要求に対する可否属性を設定する.
|
void |
setAllowRemoteInvocation(boolean flag)
他PFからのコンポーネント連携要求に対する可否属性を設定する.
|
void |
setBaudRate(int id)
通信速度を設定する。
|
void |
setByteReadMode(int mode)
バイト読み込みモードの番号を設定する。
|
void |
setCharset(java.lang.String charset)
文字コードを設定する。
|
protected void |
setCommPort(java.lang.String id)
接続先ポート名を設定する。
|
void |
setComponentID(int id)
コンポーネントIDを設定する。
|
void |
setComponentKey(java.lang.String key)
コンポーネントキーを設定する。
|
void |
setComponentKeys(PFMultiLocaleString keys)
全ロケール分のコンポーネントキーを設定する。
|
void |
setComponentPublicName(java.lang.String publicName)
コンポーネント公開名を設定する.
|
void |
setDataBits(int id)
データ長を設定する。
|
void |
setDTR(boolean active)
DTRの状態を設定する。
|
void |
setFlowControlMode_NONE()
フローコントロールの設定[なし]
|
void |
setFlowControlMode_RTSCTS()
フローコントロールの設定[RTSCTS]
|
void |
setFlowControlMode_XONXOFF()
フローコントロールの設定[on/Xoff]
|
void |
setFlowControlMode(int mode)
フローコントロールモードの設定
|
void |
setInBufferSize(int id)
現在開いているポートに対して、受信バッファサイズを設定する。
|
void |
setOutBufferSize(int id)
現在開いているポートに対して、送信バッファサイズを設定する。
|
void |
setPacketLength(int length)
読み取りデータの長さを指定する。
|
void |
setPacketValueAt(int index,
int value)
送信データ配列の値を位置指定で設定する。
|
void |
setPacketValueAt(int index,
java.lang.String hexString)
送信データ配列の値を16進数表現文字列で設定する。
|
void |
setParity(int id)
パリティを設定する。
|
protected void |
setPortList()
ポート名一覧の設定
|
void |
setReadMode(int mode)
読み込みモードの番号を設定する。
|
void |
setRTS(boolean active)
RTSの状態を設定する。
|
void |
setSerialPortParams(int BaudRate,
int DataBits,
int StopBits,
int Parity)
通信状態の設定を行います。
|
void |
setStopBits(int id)
ストップビットを設定する
|
void |
setTimeOut(int id)
タイムアウトを設定する。
|
void |
writeXML(PFXMLGenerator out)
XMLを出力する.
|
protected static final int MODE_READ_DEFAULT
protected static final int MODE_READ_SINGLE_CHAR
protected static final int MODE_READ_LINE_TEXT
protected static final int MODE_READ_BYTE
protected static final int MODE_READ_BYTE_SINGLE_SIGNED
protected static final int MODE_READ_BYTE_SINGLE_UNSIGNED
protected static final int MODE_READ_BYTE_DOUBLE_SIGNED
protected static final int MODE_READ_BYTE_DOUBLE_UNSIGNED
protected static final int MODE_READ_BYTE_ARRAY_JPEG
protected static final int MODE_READ_BYTE_SINGLE_SIGNED_ARRAY
protected static final int MODE_READ_BYTE_SINGLE_UNSIGNED_ARRAY
protected transient gnu.io.SerialPort port
protected int mode_read
protected int mode_read_byte
public PFSerialPortConnector() throws PFException
PFException
public java.lang.String getComponentName()
getComponentName
インタフェース内 PFComponent
public java.lang.String getComponentKey()
getComponentKey
インタフェース内 PFComponent
public void setComponentKey(java.lang.String key)
setComponentKey
インタフェース内 PFComponent
key
- コンポーネントキーpublic PFMultiLocaleString getComponentKeys()
public void setComponentKeys(PFMultiLocaleString keys)
keys
- 全ロケール分のコンポーネントキーpublic void setComponentID(int id)
PFComponentBus
から設定される。
各コンポーネント内では操作しないこと。setComponentID
インタフェース内 PFComponent
id
- 設定するコンポーネントIDpublic java.lang.String getComponentString()
getComponentString
インタフェース内 PFComponent
public int getComponentID()
getComponentID
インタフェース内 PFComponent
public java.util.Iterator getPFProcessTerminateListenerList()
getPFProcessTerminateListenerList
インタフェース内 PFProcessTerminateEventSource
public void addPFProcessTerminateListener(PFProcessTerminateListener lis)
addPFProcessTerminateListener
インタフェース内 PFProcessTerminateEventSource
lis
- 追加対象イベントリスナpublic void removePFProcessTerminateListener(PFProcessTerminateListener lis)
removePFProcessTerminateListener
インタフェース内 PFProcessTerminateEventSource
lis
- 削除対象イベントリスナprotected void fireProcessTerminated(PFProcessTerminateEvent event) throws PFMethodException, PFRuntimeException
event
- 処理完了イベントPFMethodException
- イベント伝播先のメソッド起動時のエラーPFRuntimeException
- 予期しない実行時エラーpublic java.util.Iterator getPFDataCreateListenerList()
getPFDataCreateListenerList
インタフェース内 PFDataCreateEventSource
public void addPFDataCreateListener(PFDataCreateListener lis)
addPFDataCreateListener
インタフェース内 PFDataCreateEventSource
lis
- 追加対象イベントリスナpublic void removePFDataCreateListener(PFDataCreateListener lis)
removePFDataCreateListener
インタフェース内 PFDataCreateEventSource
lis
- 削除対象イベントリスナprotected void fireDataCreated(PFDataCreateEvent event) throws PFMethodException, PFRuntimeException
event
- データ生成イベントPFMethodException
- イベント伝播先のメソッド起動時のエラーPFRuntimeException
- 予期しない実行時エラーpublic void localeUpdated()
localeUpdated
インタフェース内 PFComponent
public java.lang.String getCommPort()
public int getInBufferSize() throws PFException
PFException
public int getOutBufferSize() throws PFException
PFException
public int getTimeOut()
public int getDATABITS_5()
public int getDATABITS_6()
public int getDATABITS_7()
public int getDATABITS_8()
public int getPARITY_EVEN()
public int getPARITY_MARK()
public int getPARITY_NONE()
public int getPARITY_ODD()
public int getPARITY_SPACE()
public int getSTOPBITS_1()
public int getSTOPBITS_1_5()
public int getSTOPBITS_2()
public gnu.io.CommPortIdentifier getPortID()
protected void setCommPort(java.lang.String id)
id
- 設定するCommPortpublic void setInBufferSize(int id)
id
- 設定する受信バッファサイズpublic void setOutBufferSize(int id)
id
- 設定する出力バッファpublic void setTimeOut(int id)
id
- 設定するタイムアウト時間public void setBaudRate(int id) throws PFException
id
- 設定する通信速度PFException
public void setStopBits(int id) throws PFException
id
- 設定するストップビットPFException
public void setDataBits(int id) throws PFException
id
- 設定するデータビットPFException
public void setParity(int id) throws PFException
id
- 設定するパリティPFException
public int getBaudRate()
PFException
public int getDataBits()
PFException
public int getStopBits()
PFException
public int getParity()
PFException
public PFObjectList getAvailableCharsets()
public PFObjectList getAvailableCharsetAliases()
public void setCharset(java.lang.String charset)
文字コード名
- public java.lang.String getCharset()
public java.lang.String getDefaultCharset()
public java.lang.String resetCharset()
protected void init()
public void openPort(java.lang.String portnm) throws PFException
portnm
- ポート名PFException
public void setPacketLength(int length)
length
- 長さpublic int getPacketValueAt(int index)
index
- 位置public int getDoubleByteValue(int high, int low)
high
- 上位バイト値low
- 下位バイト値public byte[] makePacketToSend(int length)
length
- 長さpublic void setPacketValueAt(int index, int value)
index
- 位置value
- 値public void setPacketValueAt(int index, java.lang.String hexString)
index
- 位置hexString
- 値の16進数表現文字列public byte[] getPacketToSend()
public java.lang.String getPacketValueAsHexStringAt(int index)
index
- 位置public java.lang.String getDoubleByteValueAsHexString(int high, int low)
high
- 上位バイト値low
- 下位バイト値protected void addEventListener() throws java.util.TooManyListenersException
java.util.TooManyListenersException
public boolean readByteSingleSignedArray(int length)
length
- 長さpublic boolean readByteSingleUnsignedArray(int length)
length
- 長さpublic void setReadMode(int mode)
mode
- モードpublic int getReadMode()
public int getReadModeDefault()
public int getReadModeSingleChar()
public int getReadModeLineText()
public int getReadModeByte()
public void setByteReadMode(int mode)
mode
- モード番号public int getByteReadMode()
public int getByteReadModeSingleSinged()
public int getByteReadModeSingleUnsinged()
public int getByteReadModeDoubleSinged()
public int getByteReadModeDoubleUnsinged()
public int getByteReadModeArrayJPEG()
public int getByteReadModeSingleSingedArray()
public int getByteReadModeSingleUnsingedArray()
public void closePort() throws PFException
PFException
public boolean portExists(java.lang.String portnm)
portnm
- ポート名protected void fireDataRead() throws PFException
PFException
public void firePortConnected() throws PFException
PFException
public void firePortDisconnected() throws PFException
PFException
public java.lang.String getReadString()
public java.lang.String getReadString(java.lang.String charset)
文字コード名
- public byte[] getReadBytes()
public int getReadByte()
public int getReadByteAt(int idx) throws java.io.IOException
idx
- n番目java.io.IOException
- IOException I/Oエラーpublic int getReadByteLast() throws java.io.IOException
java.io.IOException
- IOException I/Oエラーpublic int getReadByteFirst() throws java.io.IOException
java.io.IOException
- IOException I/Oエラーpublic void output(java.lang.String data) throws PFException
data
- 文字列データPFException
public void output(int data) throws PFException
data
- バイトデータPFException
public void output(byte[] data) throws PFException
data
- バイト配列データPFException
public PFObjectList getPortList() throws PFException
PFException
protected void setPortList() throws PFException
PFException
public boolean isCurrentlyOwned(java.lang.String potnm)
PFException
public void setSerialPortParams(int BaudRate, int DataBits, int StopBits, int Parity) throws PFException
BaudRate
- 通信速度DataBits
- データビットStopBits
- ストップビットParity
- パリティPFException
- パラメータ設定が正しくないpublic void setFlowControlMode_NONE() throws PFException
PFException
- パラメータ設定が正しくないpublic void setFlowControlMode_XONXOFF() throws PFException
PFException
- パラメータ設定が正しくないpublic void setFlowControlMode_RTSCTS() throws PFException
PFException
- パラメータ設定が正しくないpublic void setFlowControlMode(int mode) throws PFException
mode
- フローコントロールモードPFException
public int getFlowControlMode()
フローコントロールモード
- public void setRTS(boolean active)
active
- アクティブがtruepublic void setDTR(boolean active)
active
- アクティブがtruepublic void writeXML(PFXMLGenerator out) throws java.io.IOException
writeXML
インタフェース内 PFXMLSerializable
out
- XML出力ユーティリティjava.io.IOException
public void readXML(PFXMLLoader in)
readXML
インタフェース内 PFXMLSerializable
in
- XML入力ユーティリティpublic java.lang.String getComponentPublicName()
getComponentPublicName
インタフェース内 PFComponent
public void setComponentPublicName(java.lang.String publicName) throws PFComponentException
setComponentPublicName
インタフェース内 PFComponent
publicName
- 設定するコンポーネント公開名PFComponentException
- 規約に反する名前が設定されようとした場合public boolean isAllowRemoteInvocation()
isAllowRemoteInvocation
インタフェース内 PFComponent
public void setAllowRemoteInvocation(boolean flag)
setAllowRemoteInvocation
インタフェース内 PFComponent
flag
- コンポーネント連携要求に対する可否public boolean isAllowPullTransfer()
isAllowPullTransfer
インタフェース内 PFComponent
public void setAllowPullTransfer(boolean flag)
setAllowPullTransfer
インタフェース内 PFComponent
flag
- Pull型コンポーネント転送要求に対する可否public boolean isAllowPushTransfer()
isAllowPushTransfer
インタフェース内 PFComponent
public void setAllowPushTransfer(boolean flag)
setAllowPushTransfer
インタフェース内 PFComponent
flag
- Push型コンポーネント転送要求に対する可否