manual

Star mBridge SDK for Android 開発者向けドキュメント Ver 2.0.3

概要

本マニュアルは、Star mBridge SDK for Androidに関する情報を解説しています。

本SDKが提供するstarmbridgeio.aarは、mC-Bridgeを介して自動釣銭機など周辺機器の制御を容易にするためのライブラリです。





用語の定義

本ドキュメントで使われる用語について定義します。

単語 定義内容
ホスト Android端末
ターゲット装置 ホストからmC-Bridgeを経由して制御する装置




対象環境

OS:

開発環境:




ライブラリを追加する

ライブラリはMavenリポジトリとAARファイルに対応しています。 アプリケーション構成に合わせてライブラリを追加してください。

ライブラリについて、最新のSDKを スター精密グローバルサポートサイトからダウンロードしてご確認ください。

Mavenリポジトリを使用する場合

  1. 以下のコードをapp/build.gradleに挿入してください。
dependencies {  
    implementation 'com.starmicronics:starmbridgeio:version'  
    ...  
}  
  
※ライブラリの最新バージョンはSDK内のapp/build.gradleを参照ください。  

手動でリンクする場合

  1. Star mBridge SDK のlibsフォルダにあるライブラリを選択します。

  2. 新規アプリプロジェクトのlibsフォルダにライブラリをコピーします。

  3. 以下のコードをapp/build.gradleに挿入してください。

dependencies {  
    implementation(name: 'starmbridgeio', ext: 'aar')  
    ...  
}  

AndroidManifest.xmlへ項目を設定する

  1. AndroidManifest.xmlにTCP/IP接続の利用に関する追記を行います。
<?xml version="1.0" encoding="utf-8"?>  
<manifest xmlns:android="http://schemas.android.com/apk/res/android"  
    package="com.starmicronics.starmbridgesdk">  
  
    <uses-permission android:name="android.permission.INTERNET" />  
  
    <application>  
        ...  
    </application>  
  
</manifest>  




ターゲット装置用にmC-Bridgeの設定を変更する

自動釣銭機を接続する場合

mC-Bridgeのシリアル設定を自動釣銭機に合わせてください。設定方法はmC-Bridgeのオンラインマニュアルを確認してください。

通信速度 フロー制御 データビット数 パリティビット
mC-Bridge 工場出荷時設定 9600bps ハードウェア 7 偶数
グローリー製 自動釣銭機
対応機機 : RAD-300/RT-300, RAD-380/RT-380, RAD-N300/RT-N300
9600bps ハードウェア 7 偶数
富士電機製 自動釣銭機
対応機機 : ECS-777
[mC-Bridge (F/W Ver. 1.3以降)]
9600bps なし 8 偶数

自動釣銭機の本体設定

自動釣銭機本体の設定によって、通信エラーや金額の計算不一致の原因となる可能性があります。必ず以下の設定を行ってください。

自動釣銭機 設定内容
RAD-300/RT-300
RAD-380/RT-380
RAD-N300/RT-N300
紙幣部 SSW 23: 設定値=工場出荷時設定
紙幣部 SSW 24: 設定値=工場出荷時設定




mC-Bridgeを検索する

処理フロー

  1. StarBridgeDiscoveryDeviceを生成します。
  2. StarBridgeDiscoveryDeviceのdiscoverメソッドを実行します。メソッドの引数には実装したStarBridgeDiscoveryDeviceCallbackを指定します。
  3. StarBridgeDiscoveryDeviceCallbackのonDiscoveryDeviceメソッドが呼び出され、検索されたmC-Bridgeのインスタンスが通知されます。

APIリファレンス

StarBridgeDiscoveryDevice

class StarBridgeDiscoveryDevice  

このclassは、mC-Bridgeを検索し、制御用のインスタンスを生成します。

コンストラクタ ライブラリバージョン
StarBridgeDiscoveryDevice(context: Context)
StarBridgeDiscoveryDeviceインスタンスを作成します。
1.0.0+
メソッド ライブラリバージョン
Unit discover(starBridgeType: StarBridgeType, callback: StarBridgeDiscoveryDeviceCallback)
mC-Bridgeの検索を開始します。
検索されたmC-Bridgeに対し、StarBridgeTypeで指定された種類の制御インスタンスを生成し、StarBridgeDiscoveryDeviceCallbackにて通知します。
1.0.0+




StarBridgeDiscoveryDeviceCallback

abstract class StarBridgeDiscoveryDeviceCallback  

このコールバックは、StarBridgeDiscoveryDeviceの結果を受信するために使用されます。

コンストラクタ ライブラリバージョン
StarBridgeDiscoveryDeviceCallback()
StarBridgeDiscoveryDeviceCallbackインスタンスを作成します。
1.0.0+
メソッド ライブラリバージョン
Unit onDiscoveryDevice(starBridge: StarBridge)
検索されたmC-BridgeへのStarBridge型の制御インスタンスを通知します。
1.0.0+
Unit onDiscoveryDevice(starBridgeCashHandlingMachine: StarBridgeCashHandlingMachine)
検索されたmC-BridgeへのStarBridgeCashHandlingMachine型の制御インスタンスを通知します。
1.0.0+
Unit onDiscoveryDeviceFinish()
mC-Bridge検索の完了を通知します。
1.0.0+




StarBridgeType

enum StarBridgeType  

このEnumは、StarBridgeDiscoveryDeviceで検索した際に、受け取る制御インスタンスの種類を指定するために使用します。

定数 ライブラリバージョン
StarBridgeType Bridge
StarBridgeインスタンスを表す
1.0.0+
StarBridgeType CashHandlingMachine_Glory
CashHandlingMachineインスタンスを表す (グローリー)
2.0.0+
StarBridgeType CashHandlingMachine_FujiElectric
CashHandlingMachineインスタンスを表す (富士電機)
2.0.0+




mC-Bridgeを制御する

APIリファレンス

StarBridge

class StarBridge  

このclassは、mC-Bridgeを制御するための基底クラスです。基本的な通信APIが定義されています。

コンストラクタ ライブラリバージョン
StarBridge(starBridgeSettingData: StarBridgeSettingData, context: Context)
StarBridgeインスタンスを作成します。
1.0.0+
プロパティ ライブラリバージョン
Boolean isConnected
mC-Bridgeとの通信の接続状態を示します。
1.0.0+
StarBridgeSettingData settingData
mC-Bridgeとの接続設定を示します。
設定の詳細はStarBridgeSettingDataクラスを参照してください。
1.0.0+
メソッド ライブラリバージョン
static String getVersionName()
ライブラリ(starmbridgeio.aar)のバージョンを取得します。
1.0.0+
Unit openPort()
mC-Bridgeと通信の接続を行います。StarBridgeSettingData#openTimeoutで指定された時間を越えるとタイムアウトします。処理に失敗した場合、StarBridgeExceptionが発生します。
openPortからclosePortまでmC-Bridgeとの接続状態が維持されますが、他のアプリケーションへの遷移やスリープ状態への遷移が想定される場合、接続状態に関する実装上の配慮が必要となります。
1.0.0+
Unit closePort()
mC-Bridgeと通信の切断を行います。処理に失敗した場合、StarBridgeExceptionが発生します。
1.0.0+
Unit writeData(data: byteArray)
ターゲット装置にdataを送信します。処理に失敗した場合、StarBridgeExceptionが発生します。
1.0.0+
byteArray readData()
ターゲット装置からmC-Bridgeが受信したデータを取得します。処理に失敗した場合、StarBridgeExceptionが発生します。
データの受信にStarBridgeSettingData#timeoutで指定された時間を越えるとタイムアウトします。
タイムアウトの場合、StarBridgeExceptionが発生します。
1.0.0+
byteArray readData(size: Long)
ターゲット装置からmC-Bridgeが受信したデータについて、sizeで指定した分取得します。処理に失敗した場合、StarBridgeExceptionが発生します。
受信したデータの総量がsizeよりも少ない場合は、受信したデータの総量分のみ取得できます。
データの受信時間がStarBridgeSettingData#timeoutで指定された時間を越えるとStarBridgeExceptionが発生します。
1.0.0+
byteArray readDataUntilSize(size: Long)
ターゲット装置からmC-Bridgeが受信したデータについて、sizeで指定した分までの取得を試みます。処理に失敗した場合、StarBridgeExceptionが発生します。
受信したデータの総量がsizeよりも少ない場合は、指定した量のデータを受信するまで待ちます。
データの受信時間がStarBridgeSettingData#timeoutで指定された時間を越えるとStarBridgeExceptionが発生します。
1.0.0+
StarBridgeStatus readStarBridgeStatus()
mC-Bridgeのステータスを取得します。取得ステータスの詳細はStarBridgeStatusを参照ください。
処理に失敗した場合、StarBridgeExceptionが発生します。
1.0.0+
Boolean isNearFullStorageSpace()
Androidデバイスの内部ストレージ容量が1024MB未満に達した場合はtrueとなります。また512MB以下になった場合ログ機能は停止します。
1.0.0+




StarBridgeSettingData

class StarBridgeSettingData  

このクラスは、mC-Bridgeとの通信設定を格納しています。

コンストラクタ ライブラリバージョン
StarBridgeSettingData()
StarBridgeSettingDataインスタンスを作成します。
1.0.0+
プロパティ ライブラリバージョン
String portName
接続先のポート名を表します。
接続先のポート名を指定します。LAN接続の場合、次のうちいずれかの指定が出来ます。

TCP:IPアドレス
IPアドレスを用いて接続先を指定できます。

TCP:MACアドレス
MACアドレスを用いて接続先を指定できます。
本指定ではUDPを用いた通信も行うため稀ではありますが、接続できない場合があります。
その場合、再度接続を試みてください。
1.0.0+
Int openTimeout
mC-Bridgeとの通信の確立時に用いるタイムアウト値(ミリ秒)を表します。
1.0.0+
Int timeout
mC-Bridgeとの通信時に用いるタイムアウト値(ミリ秒)を表します。
1.0.0+
Int targetDeviceTimeout
ターゲット装置との通信時に、ターゲット装置がBusy状態の時に用いるタイムアウト値(ミリ秒)を表します。
1秒以下は切り捨てられます。0秒が指定された場合はタイムアウト時間が無限大となります。
1.0.0+
String macAddress
StarBridgeDiscoveryDeviceで検索された場合のmC-BridgeのMACアドレスを表します。
1.0.0+




StarBridgeStatus

class StarBridgeStatus  

このclassは、mC-Bridgeとのステータス情報を格納しているdata classです。

プロパティ ライブラリバージョン
Boolean isComConnected
mC-Bridgeにシリアルケーブルが接続されている場合はtrueとなります。falseの場合は接続されていません。
1.0.0+
Boolean isLanConnected
mC-BridgeにLANケーブルが接続されている場合はtrueとなります。falseの場合は接続されていません。
1.0.0+
Boolean isExistReceiveData
mC-Bridgeにターゲット装置から受信したデータが存在し、上位ホストに未送信の場合はtrueとなります。falseの場合、未送信データは存在しません。
1.0.0+
Boolean isExistSendData
mC-Bridgeにターゲット装置への未送信データが存在する場合はtrueとなります。falseの場合、未送信データは存在しません。
1.0.0+




自動釣銭機を制御する

基本制御フロー

通信開始から終了までの流れ

  1. StarBridgeCashHandlingMachineFactoryのCreateCashHandlingMachineメソッドを実行し、自動釣銭機のインスタンスを生成します。
  2. StarBridgeCashHandlingMachineのopenPortメソッドを実行し、自動釣銭機との通信を開始します。
  3. 通信が開始されたら、StarBridgeCashHandlingMachineの任意メソッドを実行します。
  4. 通信を終了する場合、StarBridgeCashHandlingMachineのclosePortメソッドを実行し、通信を終了します。

状態の取得方法

  1. StarBridgeCashHandlingMachineのreadCashHandlingMachineStateメソッドを実行し、自動釣銭機の状態を取得します。
  2. 取得できる状態はStarBridgeCodeに定義されています。取得した状態に応じて、適切な処理を行います。
  3. 状態がSUCCESSとなった場合、自動釣銭機に対して補充、預かり金計数、回収などの操作を行うことが可能です。
  4. 状態がCASH_HANDLING_MACHINE_RESPONSE_ILLEGAL_EXITとなった場合、自動釣銭機が異常状態になっているため、復旧処理を行う必要があります。復旧方法は異常発生時の復旧処理を参照してください。
  5. 上記以外についてはStarBridgeCodeを参考にしてください。

自動釣銭機の操作フロー

釣り銭の補充の流れ

  1. StarBridgeCountingCallbackを実装します。
  2. StarBridgeCashHandlingMachineのsetCallbackメソッドを実行し、StarBridgeCountingCallbackを設定します。
  3. StarBridgeCashHandlingMachineのbeginCountingReplenishmentChangeを実行し、補充計数を開始します。
  4. 補充するお金を自動釣銭機に投入します。投入した金額はStarBridgeCountingCallbackのonUpdateCountingメソッドで通知されます。
  5. 投入した金額に誤りがないか確認します。
  6. 補充が完了したら、StarBridgeCashHandlingMachineのendCountingメソッドを実行し、計数を終了します。グローリー製の場合はendCountingメソッドの実行前に、pauseCountingメソッドを実行して計数を一時停止します。

預かり金計数の流れ

  1. StarBridgeCountingCallbackを実装します。
  2. StarBridgeCashHandlingMachineのsetCallbackメソッドを実行し、StarBridgeCountingCallbackを設定します。
  3. StarBridgeCashHandlingMachineのbeginCountingDepositメソッドを実行し、預かり金計数を開始します。
  4. 預かり金を自動釣銭機に投入します。投入した金額はStarBridgeCountingCallbackのonUpdateCountingメソッドで通知されます。
  5. 投入した金額に誤りがないか確認します。
  6. 預り金の投入が完了したら、StarBridgeCashHandlingMachineのendCountingメソッドを実行し、計数を終了します。グローリーの場合はendCountingメソッドの実行前に、pauseCountingメソッドを実行し、readCashHandlingMachineStateメソッドで計数停止状態を確認します。
  7. StarBridgeCashHandlingMachineのdispenseChangeメソッドを実行し、お釣りの払い出しを行います。
  8. StarBridgeCashHandlingMachineのupdateCountingDetailStatusメソッドを実行し、紙幣/硬貨部の状態を更新します。countingDetailStatusプロパティを読み取り、回収状態を取得します。

残高確認の流れ

  1. StarBridgeCashHandlingMachineのreadCashCountメソッドを実行し、残高を取得します。
  2. StarBridgeCashHandlingMachineのbalanceAmountプロパティに残高の合計金額が格納されます。
  3. StarBridgeCashHandlingMachineのbalanceCashCountプロパティに各金種の枚数が格納されます。

回収の流れ

  1. StarBridgeCashHandlingMachineのcollectCash(個別回収)/collectExcessCash(残置回収)メソッドを実行し、回収を開始します。
  2. 払い出しされたお金が回収口に戻されます。
  3. StarBridgeCashHandlingMachineのupdateCountingDetailStatusメソッドを実行し、紙幣/硬貨部の状態を更新します。countingDetailStatusプロパティを読み取り、回収状態を取得します。

例外発生時のフロー

処理失敗時の対処例

  1. StarBridgeCashHandlingMachineの任意メソッドを実行し、その結果を取得します。
  2. 取得した結果がSUCCESS以外の場合、エラーが発生している可能性があります。エラーの内容に応じて、適切な処理を行います。
  3. CASH_HANDLING_MACHINE_RESPONSE_ILLEGAL_EXITの場合、自動釣銭機が異常状態になっているため、復旧処理を行う必要があります。復旧方法は異常発生時の復旧処理を参照してください。
  4. CASH_HANDLING_MACHINE_RESPONSE_ILLEGAL_DATAの場合、自動つり銭機との通信エラーが発生している可能性があります。通信エラーが発生した場合は、リトライ処理を行います。合わせて配線などの見直しを行なってください。
  5. CASH_HANDLING_MACHINE_RESPONSE_INOPERABLEの場合、自動釣銭機が処理を行えない状態になっている可能性があります。この場合、自動釣銭機の状態を取得し、原因を特定してください。

異常発生時の復旧処理

  1. 自動釣銭機が異常状態になった場合、StarBridgeCashHandlingMachineのresetメソッドを実行し、自動釣銭機をリセットします。
  2. リセットには時間がかかるため、リセット中はStarBridgeCashHandlingMachineのreadCashHandlingMachineStateメソッドを定期的に実行し、リセットが完了したかどうかを確認します。
  3. 取得した状態がSUCCESSの場合、リセットが完了しているため、異常からの復旧が完了します。

APIリファレンス

StarBridgeCashHandlingMachineFactory

StarBridgeCashHandlingMachineを生成するclassです。

メソッド ライブラリバージョン
CreateCashHandlingMachine(type: StarBridgeCashHandlingMachineType, settingData: StarBridgeSettingData, context: Context)
StarBridgeCashHandlingMachineを生成します。
2.0.0+




StarBridgeCashHandlingMachineType

enum StarBridgeCashHandlingMachineType  

このEnumは、StarBridgeCashHandlingMachineFactoryで生成するインスタンスの種類を指定するために使用します。

定数 ライブラリバージョン
StarBridgeCashHandlingMachineType Glory
グローリー製 自動釣銭機を表します。
2.0.0+
StarBridgeCashHandlingMachineType FujiElectric
富士電機製 自動釣銭機を表します。
2.0.0+




StarBridgeCashHandlingMachine

class StarBridgeCashHandlingMachine  

このclassは、ターゲット装置として自動釣銭機が接続されている場合の制御インスタンスです。また、StarBridgeクラスの派生クラスです。
自動釣銭機本体の設定によって、APIの実行結果を取得できるタイミングが異なります。使用形態にあった自動釣銭機本体の設定をご確認の上ご利用ください。

コンストラクタ ライブラリバージョン
StarBridgeCashHandlingMachine(starBridgeSettingData: StarBridgeSettingData, context: Context)
StarBridgeCashHandlingMachineインスタンスを作成します。
1.0.0+
プロパティ ライブラリバージョン グローリー 富士電機
Long countingAmount
自動釣銭機で計数された合計金額を表します。
beginCountingDepositメソッドかbeginCountingReplenishmentChangeメソッドの実行後から、endCountingメソッドの実行の間まで自動更新されます。
1.0.0+
StarBridgeCashCount countingCashCount
自動釣銭機で計数された金種の枚数を表します。
beginCountingDepositメソッドの実行後から、endCountingメソッドの実行の間まで自動更新されます。
金種の定義はStarBridgeCashCountを参照してください。
1.0.0+
Long balanceAmount
自動釣銭機内とカセット内に格納されている金種の合計金額を表します。
readCashCountメソッドの処理成功時に更新されます。
1.0.0+
StarBridgeCashCount balanceCashCount
自動釣銭機内に格納されている金種の枚数を表します。
readCashCountメソッドの処理成功時に更新されます。
金種の定義はStarBridgeCashCountを参照してください。
1.0.0+
StarBridgeCashCount balanceCassetteCashCount
自動釣銭機のカセット内に格納されている金種の枚数を表します。
readCashCountメソッドの処理成功時に更新されます。
金種の定義はStarBridgeCashCountを参照してください。
1.0.0+
StarBridgeCashHandlingMachineDenominationStatus balanceDenominationStatus
自動釣銭機内に格納されている金種の状態を表します。
readCashCountメソッドの処理成功時に更新されます。
金種の状態の定義はStarBridgeCashHandlingMachineDenominationStatusを参照してください。
1.0.0+
Long replenishmentChangeAmount
自動釣銭機の補充した累計枚数から算出される金額を表します。
readReplenishmentChangeメソッドの処理成功時に更新されます。
1.0.0+ ×
StarBridgeCashCount replenishmentChangeCount
自動釣銭機の補充した累計枚数を表します。
readReplenishmentChangeメソッドの処理成功時に更新されます。
金種の定義はStarBridgeCashCountを参照してください。
1.0.0+ ×
Boolean isInAction
自動釣銭機の動作状況を表します。
trueの場合、自動釣銭機が動作している、もしくはエラーが発生しています。または、紙幣部詳細状態および硬貨部詳細状態が、計数動作中/エラー中/払出リジェクト 抜取り待ち/リジェクト抜取り待ち/収納部フル/カセットフル/収納庫外れ/リセット中/回収中/回収中抜取り待ちの状態です。
falseの場合、自動釣銭機は動作していません。
1.0.0+
StarBridgeCashHandlingMachineCountingState state
自動釣銭機の計数状態を表します。
状態の種類はStarBridgeCashHandlingMachineCountingStateにて定義されています。
1.0.0+
StarBridgeCashHandlingMachineCountingDetailStatus countingDetailStatus
自動釣銭機の計数処理おける紙幣部および硬貨部の詳細状態を表します。
状態はStarBridgeCountingCallbackによる計数結果が通知されるタイミングとupdateCountingDetailStatusメソッドが実行されたタイミングで更新されます。
状態の種類はStarBridgeCashHandlingMachineCountingDetailStatusにて定義されています。
1.2.0+
メソッド ライブラリバージョン グローリー 富士電機 備考
Unit setCallback(callback: StarBridgeCountingCallback)
StarBridgeCountingCallbackを設定します。
1.0.0+
Long changeMode(mode: StarBridgeCashHandlingMachineCountingMode)
釣銭機の運用モードを変更します。実行結果を戻り値として返します。
戻り値の種類はStarBridgeCodeにて定義されています。
運用モードの定義はStarBridgeCashHandlingMachineCountingModeを参照してください。
1.0.0+
Long beginCountingDeposit()
預かり金の計数を開始します。本メソッド実行後から、StarBridgeCountingCallbackにて計数結果が通知されます。
実行結果を戻り値として返します。戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+ ◯ * ◯ * * 預かり金手入力モード(DepositManualInputMode)では非対応
Long beginCountingReplenishmentChange()
補充の計数を開始します。本メソッド実行後から、StarBridgeCountingCallbackにて計数結果が通知されます。
実行結果を戻り値として返します。戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+ ◯ *F *F
預かり金手入力モード(DepositManualInputMode)では非対応
Long pauseCounting()
計数を停止します。実行結果を戻り値として返します。
戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+ ×
Long resumeCounting()
計数を再開します。実行結果を戻り値として返します。
戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+ ×
Long endCounting()
計数を終了します。本メソッド実行後、StarBridgeCountingCallbackによる計数結果の通知が停止します。
実行結果を戻り値として返します。
戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+ ◯ *F *F
預かり金手入力モード(DepositManualInputMode)では非対応
Long endCountingWithRepay()
計数を終了します。預かり金の現物を返却します。本メソッド実行後、StarBridgeCountingCallbackによる計数結果の通知が停止します。
グローリーの場合、自動釣銭機の状態が計数停止状態でなければ成功しません。自動釣銭機の状態はreadCashHandlingMachineStateメソッドを利用して確認してください。
実行結果を戻り値として返します。
戻り値の種類はStarBridgeCodeにて定義されています。
2.0.0+ × ◯ *F *F
預かり金手入力モード(DepositManualInputMode)では非対応
Long dispenseChange(value: Int)
valueで指定された金額の釣り銭を払い出します。実行結果を戻り値として返します。戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+
Long dispenseCashFromOtherThanSales(count: StarBridgeCashCount)
指定枚数取引外出金を実施します。countで指定された金種の枚数を払い出します。APIの最大指定枚数は金種毎に99枚までとなります。
本メソッドで払い出した金額は売上取引として扱われません。実行結果を戻り値として返します。
戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+ ×
Long collectCash(count: StarBridgeCashCount)
指定枚数回収を実施します。countで指定された金種の枚数を回収します。APIの最大指定枚数は金種毎に999枚までとなります。実行結果を戻り値として返します。
戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+
Long collectExcessCash()
残置回収を実施します。実行結果を戻り値として返します。戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+ 枚数残置のみ対応
Long readCashCount()
釣銭機内の金種枚数を取得します。実行後にbalanceCashCountとbalanceDenominationStatusで取得する値が更新されます。実行結果を戻り値として返します。
戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+
Long readReplenishmentChange(isReset: Boolean)
今までの累計補充枚数を取得します。実行後にreplenishmentChangeCountとreplenishmentChangeAmountで取得する値が更新されます。
isResetフラグをtrueとした時、補充枚数更新後に累計枚数がクリアされます。isResetフラグをfalseとした時はクリアされません。
戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+ ×
Long readCashHandlingMachineState()
自動釣銭機の状態を戻り値として返します。
戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+
Long updateCountingDetailStatus()
自動釣銭機内の紙幣部および硬貨部の詳細状態を取得します。実行後にcountingDetailStatusプロパティが更新されます。実行結果を戻り値として返します。戻り値の種類はStarBridgeCodeにて定義されています。
2.0.0+
Long reset()
自動釣銭機のメカイニシャルを実行します。メカイニシャルは釣銭機がエラーの場合のみ実行されます。
戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+
Long recountingTotalAmount()
自動釣銭機内の硬貨・紙幣を再計算します。実行結果を戻り値として返します。戻り値の種類はStarBridgeCodeにて定義されています。
2.0.0+ ×




StarBridgeCountingCallback

abstract class StarBridgeCountingCallback  

このコールバックは、StarBridgeCashHandlingMachineの計数の結果を受信するために使用されます。

メソッド ライブラリバージョン グローリー 富士電機
Unit onUpdateCounting(machine: StarBridgeCashHandlingMachine, count: StarBridgeCashCount, errorCode: Long)
計数された金種枚数を通知します。errorCodeにて実行結果を取得することができます。実行結果の定義はStarBridgeCodeにて定義されています。
1.0.0+




StarBridgeCashCount

class StarBridgeCashCount  

このクラスは、各金種の枚数を表現するために使用されます。

プロパティ ライブラリバージョン
Int coin1
1円硬貨の状態を表します。
1.0.0+
Int coin5
5円硬貨の状態を表します。
1.0.0+
Int coin10
10円硬貨の状態を表します。
1.0.0+
Int coin50
50円硬貨の状態を表します。
1.0.0+
Int coin100
100円硬貨の状態を表します。
1.0.0+
Int coin500
500円硬貨の状態を表します。
1.0.0+
Int bill1000
1,000円札の状態を表します。
1.0.0+
Int bill2000
2,000円札の状態を表します。
1.0.0+
Int bill5000
5,000円札の状態を表します。
1.0.0+
Int bill10000
10,000円札の状態を表します。
1.0.0+




StarBridgeCashHandlingMachineDenominationStatus

class StarBridgeCashHandlingMachineDenominationStatus  

このクラスは、各金種の状態(ニアエンプティやニアフル状態等)を表現するために使用されます。

プロパティ ライブラリバージョン
StarBridgeCashHandlingMachineDenominationState coin1
1円硬貨の状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState coin5
5円硬貨の状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState coin10
10円硬貨の状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState coin50
50円硬貨の状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState coin100
100円硬貨の状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState coin500
500円硬貨の状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState bill1000
1,000円札の状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState bill2000
2,000円札の状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState bill5000
5,000円札の状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState bill10000
10,000円札の状態を表します。
1.0.0+




StarBridgeCashHandlingMachineDenominationState

enum StarBridgeCashHandlingMachineDenominationState  

このEnumは、金種の状態を示すために使用されます。

定数 ライブラリバージョン
StarBridgeCashHandlingMachineDenominationState Unknown
状態不明を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState Empty
金種がエンプティの状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState NearEmpty
金種がニアエンプティの状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState Normal
金種が通常の状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState NearFull
金種がニアフルの状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState Full
金種がフルの状態を表します。
1.0.0+
StarBridgeCashHandlingMachineDenominationState StorageUnitNone
金種の格納庫がないことを表します。
1.0.0+




StarBridgeCashHandlingMachineCountingState

enum StarBridgeCashHandlingMachineCountingState  

このEnumは、計数状態を示すために使用されます。

定数 ライブラリバージョン グローリー 富士電機
StarBridgeCashHandlingMachineCountingState Normal
通常状態を表します。
1.0.0+
StarBridgeCashHandlingMachineCountingState Counting
計数中状態を表します。
1.0.0+
StarBridgeCashHandlingMachineCountingState ReceivedPauseCommand
計数中かつ、計数停止コマンドを受信した状態を表します。
1.0.0+ ×
StarBridgeCashHandlingMachineCountingState PauseCounting
計数停止状態を表します。
1.0.0+ ×
StarBridgeCashHandlingMachineCountingState Unknown
状態不明を表します。
1.0.0+




StarBridgeCashHandlingMachineCountingDetailStatus

class StarBridgeCashHandlingMachineCountingDetailStatus  

このクラスは、計数処理おける紙幣部および硬貨部の詳細状態を表現するために使用されます。

プロパティ ライブラリバージョン
StarBridgeCashHandlingMachineCountingDetailState bill
紙幣部の詳細状態を表します。
1.2.0+
StarBridgeCashHandlingMachineCountingDetailState coin
硬貨部の詳細状態を表します。
1.2.0+




StarBridgeCashHandlingMachineCountingDetailState

enum StarBridgeCashHandlingMachineCountingDetailState  

このEnumは、計数処理おける紙幣部および硬貨部の詳細状態を示すために使用されます。

定数 ライブラリバージョン グローリー 富士電機 備考
StarBridgeCashHandlingMachineCountingDetailState Other
その他の状態を表します。
1.2.0+
StarBridgeCashHandlingMachineCountingDetailState CountingStandBy
計数待機中状態を表します。
1.2.0+
StarBridgeCashHandlingMachineCountingDetailState CountingInProgress
計数動作中状態を表します。
1.2.0+
StarBridgeCashHandlingMachineCountingDetailState Error
エラー中状態を表します。
1.2.0+
StarBridgeCashHandlingMachineCountingDetailState Rejecting
リジェクト抜き取り待ち状態を表します。
1.2.0+
StarBridgeCashHandlingMachineCountingDetailState StorageFull
収納部フル状態を表します。
1.2.0+
StarBridgeCashHandlingMachineCountingDetailState EnclosureOpened
収納庫が外れている状態を表します。
1.2.0+
StarBridgeCashHandlingMachineCountingDetailState Resetting
リセット中状態を表します。
1.2.0+ ×
StarBridgeCashHandlingMachineCountingDetailState Collecting
回収中状態を表します。
1.2.0+ ×
StarBridgeCashHandlingMachineCountingDetailState WaitingRemoveCashAtCollection
回収中抜き取り待ち状態を表します。
1.2.0+ ◯ *F *F
updateCountingDetailStatus 更新時にのみ反映されます。
StarBridgeCashHandlingMachineCountingDetailState Unknown
状態不明を表します。
1.2.0+




StarBridgeCashHandlingMachineCountingMode

enum StarBridgeCashHandlingMachineCountingMode  

このEnumは、運用モードを変更するために使用されます。

定数 ライブラリバージョン
StarBridgeCashHandlingMachineCountingMode DepositCountingMode
預かり金計数モードに設定します。
1.0.0+
StarBridgeCashHandlingMachineCountingMode DepositManualInputMode
預かり金手入力モードに設定します。
1.0.0+




出力・状態コード

StarBridgeCode

class StarBridgeCode  

状態を表す定数が定義されているクラスです。

定数フィールド ライブラリバージョン グローリー 富士電機
Int SUCCESS
- 状態: 自動釣銭機は待機状態です
- 結果: 自動釣銭機の処理が成功しました。
0 1.0.0+
Int TIMEOUT
タイムアウトエラーです。
-1 1.0.0+
Int ALREADY_OPENED
既に通信確立済みです。
-2 1.0.0+
Int NOT_OPEN
通信が未確立です。
-3 1.0.0+
Int WRONG_PARAMETER
パラメータが誤っています。
-4 1.0.0+
Int OPEN_PORT_ERROR
通信確立に失敗しました。
-5 1.0.0+
Int WRITE_PORT_ERROR
データの送信に失敗しました。
-6 1.0.0+
Int READ_PORT_ERROR
データの受信に失敗しました。
-7 1.0.0+
Int CLOSE_PORT_ERROR
通信切断に失敗しました。
-8 1.0.0+
Int NOT_DISCOVERED_ERROR
指定されたMACアドレスのmC-Bridgeがネットワーク上で検出できませんでした。
-9 1.0.0+
Int WRITE_CHECK_COM_BUSY_TIMEOUT
ターゲット装置への送信がビジーでタイムアウトしました。(送信データが欠けた可能性があります)
-20 1.0.0+
Int WRITE_CHECK_COM_NOT_CONNECTED
シリアル通信ケーブルが接続されていません。(送信データは破棄されました。)
-21 1.0.0+
Int WRITE_CHECK_COM_UNKNOWN_ERROR
ターゲット装置への送信が未定義のエラーで失敗しました。
-24 1.0.0+
Int WRITE_CHECK_COM_NO_RESPONSE
ターゲット装置への送信結果が返ってきませんでした。
-25 1.0.0+
Int FW_NOT_SUPPORTED_ERROR
mC-Bridgeからの応答が未定義のエラーで失敗しました。
-26 1.0.0+
Int READ_CHECK_TIMEOUT
mC-Bridgeから応答が返ってきませんでした。
-40 1.0.0+
Int UNKNOWN_ERROR
未定義のエラーで失敗しました。
-99 1.0.0+
Int CASH_HANDLING_MACHINE_RESPONSE_FORMAT_ERROR
自動釣銭機の応答がフォーマットエラーで失敗しました。
-1000 1.0.0+
Int CASH_HANDLING_MACHINE_RESPONSE_ILLEGAL_EXIT
- 状態: 自動釣銭機は異常復旧待ちの状態です。
- 結果: 自動釣銭機の処理が異常終了しました。
-1001 1.0.0+
Int CASH_HANDLING_MACHINE_RESPONSE_NEAR_EMPTY
- 状態: 自動釣銭機はニアエンプティもしくはエンプティの状態です。
- 結果: 自動釣銭機の処理は正常終了しましたが、ニアエンプティもしくはエンプティを検知しました。
どの金種が不足しているかはStarBridgeCashHandlingMachineのbalanceDenominationStatusプロパティで判定することが可能です。
-1002 1.0.0+
Int CASH_HANDLING_MACHINE_RESPONSE_ILLEGAL_DATA
- 状態: 自動釣銭機がパリティーエラーやBCCエラー等の通信エラーを検知した状態です。
- 結果: 自動釣銭機がパリティーエラーやBCCエラー等の通信エラーを検知しました。
※自動釣銭機の仕様により、一部コマンドのエラー応答が本コードになる場合があります。
-1003 1.0.0+
Int CASH_HANDLING_MACHINE_RESPONSE_UNIT_OPEN
- 状態: 自動釣銭機の収納庫が外れた状態です。
- 結果: -(非該当)
-1004 1.0.0+
Int CASH_HANDLING_MACHINE_RESPONSE_EXECUTING
- 状態: 自動釣銭機は動作中です。(コマンド受付不可能)
- 結果: 自動釣銭機が動作中に処理不可能なコマンドが送信されました。
-1005 1.0.0+
Int CASH_HANDLING_MACHINE_RESPONSE_DESPENDING
- 状態: 自動釣銭機は放出動作中です。(放出系コマンドのみ受付可能)
- 結果: 自動釣銭機の放出動作中に処理不可能なコマンドを受信しました。
-1006 1.0.0+ ×
Int CASH_HANDLING_MACHINE_RESPONSE_COUNTING<
- 状態: 自動釣銭機は計数中です。
- 結果: 自動釣銭機が計数中に処理不可能なコマンドを受信しました。
-1007 1.0.0+
Int CASH_HANDLING_MACHINE_RESPONSE_PAUSE_COUNTING
- 状態: 自動釣銭機は計数停止中です。
- 結果: 自動釣銭機が計数停止中に処理不可能なコマンドを受信しました。
-1008 1.0.0+ ×
Int CASH_HANDLING_MACHINE_RESPONSE_INOPERABLE
- 状態: -(非該当)
- 結果: 自動釣銭機が処理中に動作不能なコマンドを受信しました。
-1009 1.0.0+
Int CASH_HANDLING_MACHINE_RESPONSE_WAIT_TAKE_OUT
- 状態: 自動釣銭機は抜き取り待ち中です。
- 結果: 自動釣銭機が抜き取り待ち中に処理不可能なコマンドが送信されました。
紙幣/硬貨のどちらが抜き取り待ちかはStarBridgeCashHandlingMachineのcountingDetailStatusプロパティで判定することが可能です。
-1010 1.0.0+
Int CASH_HANDLING_MACHINE_RESPONSE_CASH_SHORTAGE_ON_DISPENSE
- 状態: -(非該当)
- 結果: 自動釣銭機の出金枚数不足で失敗しました。
-1011 2.0.0+ ×
Int CASH_HANDLING_MACHINE_RESPONSE_PENDING_CASH_ON_RECOUNT
- 状態: 自動釣銭機は精査(排出紙幣押出待ち)状態です。
- 結果: 自動釣銭機が精査(排出紙幣保留)中に処理不可能なコマンドを受信しました。
-1012 2.0.0+ ×
Int CASH_HANDLING_MACHINE_RESPONSE_TIMEOUT
自動釣銭機の応答がありませんでした。
-1099 1.0.0+
Int CASH_HANDLING_MACHINE_READ_COUNTING_ERROR
自動釣銭機の計数情報の取得に失敗しました。
-1101 1.0.0+
Int CASH_HANDLING_MACHINE_NOT_SUPPORTED_ERROR
自動釣銭機が対応していないコマンドを受信しました。
-1200 2.0.0+
Int CASH_HANDLING_MACHINE_UNKNOWN_ERROR
自動釣銭機の制御が未定義のエラーで失敗しました。
-1999 1.0.0+

処理失敗時のエラーコード




APIリファレンス

StarBridgeException

class StarBridgeException  

エラー発生時にスローされる例外クラスです。

プロパティ ライブラリバージョン
Long errorCode
エラーコードを取得します。
戻り値の種類はStarBridgeCodeにて定義されています。
1.0.0+




Topへ戻る






ログについて

starmbridgeio.aarでは、通信記録を保存するログ機能を有しています。ログはAPIを使って通信するごとに自動的に記録されます。ログは一定サイズを上限として複数のファイルへ分割して保存されます。ログの保存上限に達した場合は、古いログファイルから順に削除されます。ログ情報を保存しておきたい場合は、任意の手段を使ってファイルをコピーするなどの対応を行ってください。Androidデバイスの内部ストレージ容量が512MB未満に達した場合はログ機能が停止します。




ログファイルについて

条件 内容
1ファイルの最大サイズ 50MB
最大保存数 60ファイル
保存場所 /data/data/{パッケージ名}/files/Star_mBridge/Star_mBridgeLog_yyyymmdd_hhmmss.log

ログのフォーマット

CSV形式にて、次のような構文で保存されます。

日付,ライブラリ名,Action,PID-TID, メソッド名,情報(通信データや通信結果)




Topへ戻る




© 2020-2024 Star Micronics Co., Ltd.