Skip to content

質問: ePortS, ePortM について #4

@mysticatea

Description

@mysticatea

C++ API では、ポート番号を表すために ePortS, ePortM を定義しています。
C API にも、ポート番号を表すために motor_port_t, sensor_port_t があります。

そして、make app=hoge (β6-2) でビルドすると、この2つの列挙体の間で暗黙的な型変換ができません。

../workspace/example/src/robot.cpp:90:72: error: cannot convert 'const ePortM' to 'motor_port_t' for argument '1' to 'ER ev3_motor_rotate(motor_port_t, int, uint32_t, bool_t)'
             ev3_motor_rotate(PORT_TAIL_MOTOR, -TAIL_DEGREES, 100, false);
                                                                        ^

ePortS, ePortMmotor_port_t, sensor_port_t は、仕様上、相互に型変換を行っても安全でしょうか? (C++ には ev3_motor_rotate に相当する API が無いので...)
また、ePortS, ePortM はなぜ定義されているのでしょうか?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions