OOoCalcRTCの仕様
OOoCalcRTCはデータポートの入出力によりセルの値の読み込み、書き込みを行うRTCです。
このため、データポートの数、種類、関連付けするセル等はユーザーが独自に設定できるのが望ましいと言えます。
そのため起動した時点ではサービスポートを1つ持つだけのRTCとして動的にデータポートが増える仕様にしました。

OOoCalcRTCでは、GUIによるデータポートの追加、設定をサポートしています。
GUIにより設定できる項目は、

本RTCをアクティブ化するとDataInPortから入力されたデータを関連付けしたセルに書き込み、DataOutPortから関連付けしたセルの値を出力を行います。
サービスポートとして指定の位置のセルの読み込み、書き込みを行うインターフェースを持っています。
サービスポート
SpreadSheet.spreadsheet(Provided)
指定したセルの値の取得、入力するためのインターフェースです。
FloatList、StringListは独自のデータ型です。
| 名称 | 引数 | 戻り値の型 | 説明 |
| get_string | string l, string c, string sn | string | セルの文字列を取得する。 l:列の番号(アルファベット) c:行の番号(数値) sn:シートの名前 |
| set_value | string l, string c, string sn, float v | void | セルに値を入力する。 l:列の番号(アルファベット) c:行の番号(数値) sn:シートの名前 v:入力する値 |
| get_string_range | string l1, string c1, string l2, string c2, string sn | StringList | 未実装 |
| set_value_range | string l1, string c1, string l2, string c2, string sn, FloatList v | void | 未実装 |
| set_string | string l, string c, string sn, string v | void | セルに文字列を入力する。 l:列の番号(アルファベット) c:行の番号(数値) sn:シートの名前 v:入力する文字列 |
| set_string_range | string l1, string c1, string l2, string c2, string sn, StringList v | void | 未実装 |
コンフィギュレーション変数
| 名称 | 型 | デフォルト値 | 説明 |
| actionLock | int | 1 | 1でセルの値を変更しているときに画面の更新を止めます。 |
| Red | int | 255 | 値を読み込んでいるセルの色 |
| Green | int | 255 | 同上 |
| Blue | int | 0 | 同上 |
| stime | float | 0.05 | サンプリング時間(シミュレーションで使用) |
| stCell_row | string | A | シミュレーション時間を表示するセルの列番号 |
| stCell_col | int | 1 | シミュレーション時間を表示するセルの行番号 |
| stCell_sheetname | string | Sheet1 | シミュレーション時間を表示するセルのシート名 |
本RTCでは実験的にコンフィギュレーションセットを複製するとデータポートが追加されるという機能を導入しています。
datatype0
| 名称 | 型 | デフォルト値 | 説明 |
| data_type | string | TimedFloat | 追加するデータポートのデータ型 |
| column | int | 1 | 関連付けするセルの行番号 |
| start_row | string | A | 関連付けするセルの列番号 |
| end_row | string | A | 関連付けするセルの範囲の終わりの列番号 複数のセルを関連付けする場合、start_rowで設定した列番号からend_rowで設定した行番号のセルまで設定されます。 |
| sheetname | string | Sheet1 | 関連付けするセルの存在するシートの名前 |
| port_type | string | DataInPort | データポートの種類 DataInPortかDataOutPortを設定できます。 |
| c_move | int | 1 | 1の場合はデータの入出力をする度に列を移動します。 |
| Attach_Port | string | None | 関連付けするデータポート。データポート(コンフィギュレーションセットの複製を用いて作成したデータポート名はコンフィギュレーションセット名になります)の名前を入力します。複数関連付ける場合は","で区切ってください。"None"と入力した場合は無視します。 |
これらのコンフィギュレーション変数をもつコンフィギュレーションセットを複製することでデータポートを追加できます。
追加できるデータポートのデータ型
追加できるデータポートのデータ型は以下の通りです。
| TimedDouble |
| TimedLong |
| TimedFloat |
| TimedShort |
| TimedUDouble |
| TimedULong |
| TimedULong |
| TimedUFloat |
| TimedUShort |
| TimedBoolean |
| TimedOctet |
| TimedString |
| TimedWString |
| TimedDoubleSeq |
| TimedLongSeq |
| TimedFloatSeq |
| TimedShortSeq |
| TimedUDoubleSeq |
| TimedULongSeq |
| TimedUFloatSeq |
| TimedUShortSeq |
| TimedBooleanSeq |
| TimedOctetSeq |
| TimedStringSeq |
| TimedWStringSeq |
| TimedRGBColour |
| TimedPoint2D |
| TimedVector2D |
| TimedPose2D |
| TimedVelocity2D |
| TimedAcceleration2D |
| TimedPoseVel2D |
| TimedSize2D |
| TimedGeometry2D |
| TimedCovariance2D |
| TimedPointCovariance2D |
| TimedCarlike |
| TimedSpeedHeading2D |
| TimedPoint3D |
| TimedVector3D |
| TimedVector3D |
| TimedOrientation3D |
| TimedPose3D |
| TimedVelocity3D |
| TimedAngularVelocity3D |
| TimedAcceleration3D |
| TimedAngularAcceleration3D |
| TimedPoseVel3D |
| TimedSize3D |
| TimedGeometry3D |
| TimedCovariance3D |
| TimedSpeedHeading3D |
| TimedOAP |