CAN型向け 信号定義サンプル =================================== このサンプルでは、CANデータを物理値に変換する信号定義を登録します。 このサンプルでは以下のようなCANデータを想定しています(このデータ定義は架空のもので、実在するものではありません)。 .. list-table:: :widths: 10 15 5 5 5 5 :header-rows: 1 * - CAN ID - データ名 - startbit - bitsize - scale - offset * - 330 (0x0000014A) - ブレーキオン・オフ - 1 - 1 - 1 - 0 * - 330 (0x0000014A) - アクセル - 2 - 8 - 0.3 - 0 信号定義の概要 ------------------------------------------------ .. list-table:: :widths: 10 30 :header-rows: 1 * - 項目 - 設定内容 * - 変換対象とする時系列データのタイプ - ``intdash.DataType.can`` * - 適用する変換 - `intdash.ConversionNumFixedPoint <../../signals.html#intdash.ConversionNumFixedPoint>`_ 信号定義の登録 ------------------------------------------------ 信号定義のアクセスオブジェクトを生成します。 .. code-block:: python import intdash client = intdash.Client( url = "https://example.intdash.jp", edge_token = "your_token", ) sig = client.signals 以下のように、信号定義をそれぞれ登録します。 **ブレーキオン・オフ** .. code-block:: python 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", ), ) **アクセル** .. code-block:: python 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", ), )