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

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions