Skip to content

Instantly share code, notes, and snippets.

View nona-takahara's full-sized avatar

Nona Takahara nona-takahara

View GitHub Profile

Service (NS-TPB v2 N-Sv)

Serviceマイコンは、各車1両設置し、R-BUS制御情報を受け取り、TPBの制御情報を送信する。運転台情報もこのマイコンで送信する都合、出力情報は非常に多くなっている。alpha10より前のバージョンではRXという名称であった。

入力

チャンネル 内容 備考
Input-N21 故障情報
@nona-takahara
nona-takahara / NS-TTRANS.md
Last active June 19, 2022 02:24
Stormworks: Build and Rescue向け日本式鉄道通信システム 送信規格案

Niner Supply - Train Transmitter (DRAFT)

Stormworks向け。鉄道用トランスポンダのうち、送信部を構築するための共通システムを目指す。

もし、希望の機能があれば、このGistに対してコメントするか、高原個人宛でTwitterやDiscordへ要望を投げると対応可能。

無線周波数は19998を指定。送信にあたっては必ず小アンテナを用いる。

送信内容

チャンネル 用途 備考

NS-TPB v2 (Train Parallel Bus v2) 2.0.0-alpha10~ (draft)

⚠️ 現在下書きです

高原のなが、動力分散型の旅客列車用に使用する通信規格である。

R-BUSの拡張機能として開発を開始したため、R-BUSと通信の互換性はあるが、R-BUS規格に準拠しているかどうかは各車両で検証しなければならない(現状のNona実装はN15の制御が規格違反である)。 NS-TPB v1 との互換性をなるべく確保したが、一部挙動が変わった点がある。

(ちょっと複雑すぎるので、実装難易度を下げた互換モードを提供しようかと思っています)

NS式保安装置が出力する信号についての規則(草案)

NS式懸垂モノレール線の保安装置の相互搭載を容易にする目的で制定する。懸垂モノレール外でも使うだろうけど……

保安装置→R-BUS系装置(共通部分)

チャンネル 内容 備考
Bool 1 保安装置動作中
Bool 2 保安装置による非常ブレーキ要求
Bool 3 保安装置による常用最大ブレーキ要求 ハーフブレーキと同時に出力された場合、常用最大が優先

すとわ鉄道Modについて

要約

  • (やったことないけど)ワークベンチ拡張と同じファイルをいじるらしい?
  • 線形データとメッシュデータと当たり判定データは独立してるので必要に応じてswMesh2XML等のツールを使用? しらんけど

詳細

頂点の設定

/rom/data/tiles/以下にある各タイルを示すXMLファイルの<train_tracks>タグ以下に<track>タグを用意して線路の頂点を設定していく。 構造としては下のようになる

@nona-takahara
nona-takahara / kazao_maku_make.py
Created October 8, 2021 05:35
Stormworks用:2px幅LED表示のLuaコードをそれなりに自動生成
from PIL import Image, ImageFilter
def maku(im, ff, sx, sy, sw, sh):
print('function W(x,y,h)screen.drawRectF(x,y,2,h+1)end function B(x,y,w)screen.drawRectF(x,y,w+1,2)end function V(x,y,h)screen.drawRectF(x,y,1,h+1)end function H(x,y,w)screen.drawRectF(x,y,w+1,1) end', file=ff)
print('function onDraw()screen.setColor(255, 255, 255)', file=ff)
pxorig=[[0 for j in range(sh)] for i in range(sw)]
pxflag=[[0 for j in range(sh)] for i in range(sw)]
for y in range(0,sh,1):
for x in range(0,sw,1):
# ドット絵エディタが256色pngを出力して、今回ドットを打つべき場所が7番パレットだったので。
@nona-takahara
nona-takahara / R-BUS_DIY-Controller_Checklist.md
Last active July 27, 2023 08:56
R-BUS自作マイコンチェックリスト(CAT2用)

Niner Supply Train Parallel Bus (NS-TPB, v1.2)

v2系の下書きを公開しました 下書き段階ですが、信号リストほぼ確定しており、v1系とも十分な互換性があります。そのため、移行を推奨します。

Niner Supplyの一般鉄道車両の車両間通信用R-BUS拡張。

基本的に数値チャンネルは制御権車両およびドア扱いを行った車両で書き換え、On/Offチャンネルは全ての車両が必要に応じて書き換える方式をとる。

書き換えを実施しない車両ではパススルー、書き換えを行う車両では前後に適切に処理した情報を送信する。

function onCustomCommand(full_message, user_peer_id, is_admin, is_auth, command, arg1, arg2, arg3, arg4, arg5)
if command == "?spawnLocation" and is_admin == true then
local addon_index = server.getAddonIndex()
server.spawnAddonLocation(matrix.translation(arg2,arg3,arg4), addon_index, (server.getLocationIndex(addon_index, arg1)))
end
if command == "?spawnAll" and is_admin == true then
local addon_index = server.getAddonIndex()
k={"oneill_airbase","oneill_north","oneill_delta","north_lake","north_harbour"}

本規格草案は廃止となり、NS-TPB (https://gist.github.com/nona-takahara/f12f5e00e5769e5c80a754d7eb40cda3) で置き換えとなりました。

自分が参考にするため残していますが、不要になったら消える予定です。

本規格の目的

本規格の仮名称はNT-PSPとします(Nona's Train system - Passenger Service Protocolの頭文字)

R-BUSの派生システム領域のみを使用し、多くのユーザ間で互換性のある旅客サービス提供を可能にします。

機能が膨大であるためカテゴリ分けを行い、不要なカテゴリの機能は実装をしなくてもよいことにします。