CAN型向け 信号定義サンプル¶
このサンプルでは、CANデータを物理値に変換する信号定義を登録します。
このサンプルでは以下のようなCANデータを想定しています(このデータ定義は架空のもので、実在するものではありません)。
CAN ID |
データ名 |
startbit |
bitsize |
scale |
offset |
---|---|---|---|---|---|
330 (0x0000014A) |
ブレーキオン・オフ |
1 |
1 |
1 |
0 |
330 (0x0000014A) |
アクセル |
2 |
8 |
0.3 |
0 |
信号定義の概要¶
項目 |
設定内容 |
---|---|
変換対象とする時系列データのタイプ |
|
適用する変換 |
信号定義の登録¶
信号定義のアクセスオブジェクトを生成します。
import intdash
client = intdash.Client(
url = "https://example.intdash.jp",
edge_token = "your_token",
)
sig = client.signals
以下のように、信号定義をそれぞれ登録します。
ブレーキオン・オフ
s = sig.create(
label="BRAKE_ONOFF",
data_type=intdash.DataType.can,
data_id="0000014A",
channel=1,
conversion=intdash.ConversionNumFixedPoint(
startbit=1,
bitsize=1,
endian="little",
sign="unsigned",
scale=1,
offset=0,
),
display=intdash.Display(
unit="",
min=0,
max=1,
format="%0.0f",
),
)
アクセル
s = sig.create(
label="ACCEL",
data_type=intdash.DataType.can,
data_id="0000014A",
channel=1,
conversion=intdash.ConversionNumFixedPoint(
startbit=2,
bitsize=8,
endian="little",
sign="unsigned",
scale=0.3,
offset=0,
),
display=intdash.Display(
unit="",
min=0,
max=100,
format="%0.0f",
),
)