diff --git a/.github/workflows/arduino_ci.yml b/.github/workflows/arduino_ci.yml new file mode 100644 index 0000000..728ad01 --- /dev/null +++ b/.github/workflows/arduino_ci.yml @@ -0,0 +1,19 @@ +name: Arduino_CI + +on: + push: + branches: [ master, develop ] + pull_request: + branches: [ master, develop ] + +jobs: + arduino_ci: + runs-on: ubuntu-latest + strategy: + fail-fast: false + steps: + - uses: actions/checkout@v2 + - name: install script + run: | + source <(curl -SLs https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCM9.04/master/install.sh) ${{github.ref}} + build_platform opencm904 \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100755 index 2f04e01..0000000 --- a/.travis.yml +++ /dev/null @@ -1,21 +0,0 @@ -language: cpp -sudo: required -before_install: - - source <(curl -SLs https://raw.githubusercontent.com/${TRAVIS_REPO_SLUG}/${TRAVIS_BRANCH}/install.sh) - -script: - - build_platform opencm904 - -notifications: - email: - on_success: change - on_failure: always - recipients: - - kkw@robotis.com - - chc@robotis.com - - pyo@robotis.com - -branches: - only: - - master - - develop diff --git a/arduino/opencm_arduino/opencm9.04/libraries/DynamixelWorkbench/include/dynamixel_workbench_toolbox/dynamixel_item.h b/arduino/opencm_arduino/opencm9.04/libraries/DynamixelWorkbench/include/dynamixel_workbench_toolbox/dynamixel_item.h index 63f9d77..d9b8254 100644 --- a/arduino/opencm_arduino/opencm9.04/libraries/DynamixelWorkbench/include/dynamixel_workbench_toolbox/dynamixel_item.h +++ b/arduino/opencm_arduino/opencm9.04/libraries/DynamixelWorkbench/include/dynamixel_workbench_toolbox/dynamixel_item.h @@ -47,6 +47,7 @@ #define XL430_W250 1060 #define XL430_W250_2 1090 // 2XL +#define XC430_W250_2 1160 // 2XC #define XC430_W150 1070 #define XC430_W240 1080 diff --git a/arduino/opencm_arduino/opencm9.04/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_item.cpp b/arduino/opencm_arduino/opencm9.04/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_item.cpp index 3c8f974..350661d 100644 --- a/arduino/opencm_arduino/opencm9.04/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_item.cpp +++ b/arduino/opencm_arduino/opencm9.04/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_item.cpp @@ -533,7 +533,7 @@ static const ModelInfo info_XL320 = {0.11, 2.61799}; //--------------------------------------------------------- -// XL - (num == XL430_W250, XL430_W250_2, XC430_W150, XC430_W240) +// XL - (num == XL430_W250, XL430_W250_2, XC430_W150, XC430_W240, XC430_W250_2) //--------------------------------------------------------- static const ControlItem items_XL[]{ {s_Model_Number, 0, sizeof(s_Model_Number) - 1, 2}, @@ -1296,7 +1296,7 @@ const ControlItem *DynamixelItem::getControlTable(uint16_t model_number) control_table = items_XL320; the_number_of_item = COUNT_XL320_ITEMS; } - else if (num == XL430_W250 || num == XL430_W250_2 || num == XC430_W150 || num == XC430_W240) + else if (num == XL430_W250 || num == XL430_W250_2 || num == XC430_W150 || num == XC430_W240 || num == XC430_W250_2) { control_table = items_XL; the_number_of_item = COUNT_XL_ITEMS; @@ -1402,7 +1402,7 @@ const ModelInfo *DynamixelItem::getModelInfo(uint16_t model_number) { info = &info_XL320; } - else if (num == XL430_W250 || num == XL430_W250_2 || num == XC430_W150 || num == XC430_W240) + else if (num == XL430_W250 || num == XL430_W250_2 || num == XC430_W150 || num == XC430_W240 || num == XC430_W250_2) { info = &info_XL; } diff --git a/arduino/opencm_arduino/opencm9.04/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_tool.cpp b/arduino/opencm_arduino/opencm9.04/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_tool.cpp index 15aed05..2242779 100644 --- a/arduino/opencm_arduino/opencm9.04/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_tool.cpp +++ b/arduino/opencm_arduino/opencm9.04/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_tool.cpp @@ -53,6 +53,7 @@ static const DynamixelModel dynamixel_model_table[] = { {XL430_W250, "XL430-W250"}, {XL430_W250_2, "XL430-W250-2"}, // 2XL + {XC430_W250_2, "XC430-W240-2"}, // 2XC {XC430_W150, "XC430-W150"}, {XC430_W240, "XC430-W240"}, @@ -68,13 +69,13 @@ static const DynamixelModel dynamixel_model_table[] = { {XH430_W210, "XH430-W210"}, {XH430_W350, "XH430-W350"}, - {XH540_W150, "XH540_W150"}, - {XH540_W270, "XH540_W270"}, - {XH540_V150, "XH540_V150"}, - {XH540_V270, "XH540_V270"}, + {XH540_W150, "XH540-W150"}, + {XH540_W270, "XH540-W270"}, + {XH540_V150, "XH540-V150"}, + {XH540_V270, "XH540-V270"}, - {XW540_T140, "XW540_T140"}, - {XW540_T260, "XW540_T260"}, + {XW540_T140, "XW540-T140"}, + {XW540_T260, "XW540-T260"}, {PRO_L42_10_S300_R, "PRO-L42-10-S300-R"}, {PRO_L54_30_S400_R, "PRO-L54-30-S400-R"}, diff --git a/arduino/opencm_arduino/opencm9.04/platform.txt b/arduino/opencm_arduino/opencm9.04/platform.txt index 01243ad..c27a9ed 100644 --- a/arduino/opencm_arduino/opencm9.04/platform.txt +++ b/arduino/opencm_arduino/opencm9.04/platform.txt @@ -52,11 +52,11 @@ compiler.libs.c.flags= "-I{build.variant.path}/{build.inc1}" "-I{build.variant.p # --------------------- ## Compile c files -recipe.c.o.pattern= "{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {build.cpu_flags} {build.common_flags} {compiler.libs.c.flags} {includes} "{source_file}" -o "{object_file}" +recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {build.cpu_flags} {build.common_flags} {compiler.libs.c.flags} {includes} "{source_file}" -o "{object_file}" ### ## Compile c++ files -recipe.cpp.o.pattern= "{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {build.cpu_flags} {build.hs_flag} {build.common_flags} {compiler.libs.c.flags} {includes} "{source_file}" -o "{object_file}" +recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {build.cpu_flags} {build.hs_flag} {build.common_flags} {compiler.libs.c.flags} {includes} "{source_file}" -o "{object_file}" #### {compiler.libs.c.flags} before includes ## Compile S files @@ -66,7 +66,7 @@ recipe.s.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.S.flags} -mcpu={b ## Create archives recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}" -recipe.c.combine.pattern= "{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" --specs=nano.specs -u _printf_float -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-unresolved-symbols -Wl,--start-group {object_files} "{build.variant.path}/{build.variant_system_lib}" -Wl,--whole-archive "{build.path}/{archive_file}" -Wl,--no-whole-archive -Wl,--end-group +recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" --specs=nano.specs -u _printf_float -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-unresolved-symbols -Wl,--start-group {object_files} "{build.variant.path}/{build.variant_system_lib}" -Wl,--whole-archive "{build.path}/{archive_file}" -Wl,--no-whole-archive -Wl,--end-group ## Create eeprom recipe.objcopy.eep.pattern= @@ -92,6 +92,7 @@ tools.opencm_ld.cmd.windows=opencm9.04_ld.exe tools.opencm_ld.path={runtime.tools.opencm_tools.path}/win tools.opencm_ld.path.macosx={runtime.tools.opencm_tools.path}/macosx tools.opencm_ld.path.linux={runtime.tools.opencm_tools.path}/linux +tools.opencm_ld.path.arm={runtime.tools.opencm_tools.path}/arm tools.opencm_ld.upload.params.verbose=-d tools.opencm_ld.upload.params.quiet=n diff --git a/arduino/opencm_arduino/opencm9.04_release/libraries/DynamixelWorkbench/include/dynamixel_workbench_toolbox/dynamixel_item.h b/arduino/opencm_arduino/opencm9.04_release/libraries/DynamixelWorkbench/include/dynamixel_workbench_toolbox/dynamixel_item.h index 63f9d77..d9b8254 100644 --- a/arduino/opencm_arduino/opencm9.04_release/libraries/DynamixelWorkbench/include/dynamixel_workbench_toolbox/dynamixel_item.h +++ b/arduino/opencm_arduino/opencm9.04_release/libraries/DynamixelWorkbench/include/dynamixel_workbench_toolbox/dynamixel_item.h @@ -47,6 +47,7 @@ #define XL430_W250 1060 #define XL430_W250_2 1090 // 2XL +#define XC430_W250_2 1160 // 2XC #define XC430_W150 1070 #define XC430_W240 1080 diff --git a/arduino/opencm_arduino/opencm9.04_release/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_item.cpp b/arduino/opencm_arduino/opencm9.04_release/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_item.cpp index 3c8f974..350661d 100644 --- a/arduino/opencm_arduino/opencm9.04_release/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_item.cpp +++ b/arduino/opencm_arduino/opencm9.04_release/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_item.cpp @@ -533,7 +533,7 @@ static const ModelInfo info_XL320 = {0.11, 2.61799}; //--------------------------------------------------------- -// XL - (num == XL430_W250, XL430_W250_2, XC430_W150, XC430_W240) +// XL - (num == XL430_W250, XL430_W250_2, XC430_W150, XC430_W240, XC430_W250_2) //--------------------------------------------------------- static const ControlItem items_XL[]{ {s_Model_Number, 0, sizeof(s_Model_Number) - 1, 2}, @@ -1296,7 +1296,7 @@ const ControlItem *DynamixelItem::getControlTable(uint16_t model_number) control_table = items_XL320; the_number_of_item = COUNT_XL320_ITEMS; } - else if (num == XL430_W250 || num == XL430_W250_2 || num == XC430_W150 || num == XC430_W240) + else if (num == XL430_W250 || num == XL430_W250_2 || num == XC430_W150 || num == XC430_W240 || num == XC430_W250_2) { control_table = items_XL; the_number_of_item = COUNT_XL_ITEMS; @@ -1402,7 +1402,7 @@ const ModelInfo *DynamixelItem::getModelInfo(uint16_t model_number) { info = &info_XL320; } - else if (num == XL430_W250 || num == XL430_W250_2 || num == XC430_W150 || num == XC430_W240) + else if (num == XL430_W250 || num == XL430_W250_2 || num == XC430_W150 || num == XC430_W240 || num == XC430_W250_2) { info = &info_XL; } diff --git a/arduino/opencm_arduino/opencm9.04_release/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_tool.cpp b/arduino/opencm_arduino/opencm9.04_release/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_tool.cpp index 15aed05..2242779 100644 --- a/arduino/opencm_arduino/opencm9.04_release/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_tool.cpp +++ b/arduino/opencm_arduino/opencm9.04_release/libraries/DynamixelWorkbench/src/dynamixel_workbench_toolbox/dynamixel_tool.cpp @@ -53,6 +53,7 @@ static const DynamixelModel dynamixel_model_table[] = { {XL430_W250, "XL430-W250"}, {XL430_W250_2, "XL430-W250-2"}, // 2XL + {XC430_W250_2, "XC430-W240-2"}, // 2XC {XC430_W150, "XC430-W150"}, {XC430_W240, "XC430-W240"}, @@ -68,13 +69,13 @@ static const DynamixelModel dynamixel_model_table[] = { {XH430_W210, "XH430-W210"}, {XH430_W350, "XH430-W350"}, - {XH540_W150, "XH540_W150"}, - {XH540_W270, "XH540_W270"}, - {XH540_V150, "XH540_V150"}, - {XH540_V270, "XH540_V270"}, + {XH540_W150, "XH540-W150"}, + {XH540_W270, "XH540-W270"}, + {XH540_V150, "XH540-V150"}, + {XH540_V270, "XH540-V270"}, - {XW540_T140, "XW540_T140"}, - {XW540_T260, "XW540_T260"}, + {XW540_T140, "XW540-T140"}, + {XW540_T260, "XW540-T260"}, {PRO_L42_10_S300_R, "PRO-L42-10-S300-R"}, {PRO_L54_30_S400_R, "PRO-L54-30-S400-R"}, diff --git a/arduino/opencm_arduino/opencm9.04_release/platform.txt b/arduino/opencm_arduino/opencm9.04_release/platform.txt index 61686ee..c27a9ed 100644 --- a/arduino/opencm_arduino/opencm9.04_release/platform.txt +++ b/arduino/opencm_arduino/opencm9.04_release/platform.txt @@ -52,11 +52,11 @@ compiler.libs.c.flags= "-I{build.variant.path}/{build.inc1}" "-I{build.variant.p # --------------------- ## Compile c files -recipe.c.o.pattern= "{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {build.cpu_flags} {build.common_flags} {compiler.libs.c.flags} {includes} "{source_file}" -o "{object_file}" +recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {build.cpu_flags} {build.common_flags} {compiler.libs.c.flags} {includes} "{source_file}" -o "{object_file}" ### ## Compile c++ files -recipe.cpp.o.pattern= "{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {build.cpu_flags} {build.hs_flag} {build.common_flags} {compiler.libs.c.flags} {includes} "{source_file}" -o "{object_file}" +recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {build.cpu_flags} {build.hs_flag} {build.common_flags} {compiler.libs.c.flags} {includes} "{source_file}" -o "{object_file}" #### {compiler.libs.c.flags} before includes ## Compile S files @@ -66,7 +66,7 @@ recipe.s.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.S.flags} -mcpu={b ## Create archives recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}" -recipe.c.combine.pattern= "{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" --specs=nano.specs -u _printf_float -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-unresolved-symbols -Wl,--start-group {object_files} "{build.variant.path}/{build.variant_system_lib}" -Wl,--whole-archive "{build.path}/{archive_file}" -Wl,--no-whole-archive -Wl,--end-group +recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" --specs=nano.specs -u _printf_float -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-unresolved-symbols -Wl,--start-group {object_files} "{build.variant.path}/{build.variant_system_lib}" -Wl,--whole-archive "{build.path}/{archive_file}" -Wl,--no-whole-archive -Wl,--end-group ## Create eeprom recipe.objcopy.eep.pattern= diff --git a/arduino/opencm_release/package_opencm9.04_index.json b/arduino/opencm_release/package_opencm9.04_index.json index 8d3a0d7..5c88236 100644 --- a/arduino/opencm_release/package_opencm9.04_index.json +++ b/arduino/opencm_release/package_opencm9.04_index.json @@ -455,6 +455,38 @@ "version": "0.0.2" } + ] + }, + { + "name": "OpenCM9.04", + "architecture": "OpenCM904", + "version": "1.5.1", + "category": "Arduino", + "help": { + "online": "http://emanual.robotis.com/docs/en/parts/controller/opencm904/" + }, + "url": "https://github.com/ROBOTIS-GIT/OpenCM9.04/releases/download/1.5.1/opencm9.04_core_1.5.1.tar.bz2", + "archiveFileName": "opencm9.04_core_1.5.1.tar.bz2", + "checksum": "SHA-256:1B161BFA2D2C2ABC4AB7EEA0F6540CC9C4D85F15C1A468389284171BD4CEA323", + "size": "18007799", + "help": { + "online": "http://emanual.robotis.com/docs/en/parts/controller/opencm904/" + }, + "boards": [ + {"name": "OpenCM9.04"} + ], + "toolsDependencies": [ + { + "packager": "OpenCM904", + "name": "opencm_gcc", + "version": "5.4.0-2016q2" + }, + { + "packager": "OpenCM904", + "name": "opencm_tools", + "version": "0.0.2" + } + ] }