From dde1f22b713f59a7ee9e28f8415e789a5cef3e6e Mon Sep 17 00:00:00 2001 From: Tomasz Bialek Date: Wed, 3 Dec 2025 10:22:00 -0600 Subject: [PATCH 1/5] clone multi-hand support branch --- cppbuild.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cppbuild.bash b/cppbuild.bash index ee6c665..dbc87ed 100755 --- a/cppbuild.bash +++ b/cppbuild.bash @@ -8,7 +8,7 @@ cd cppbuild # Clone the ability-hand-api repo, if it's not already here if [ ! -d ability-hand-api ]; then - git clone -b split-read-write-v2 https://github.com/ihmcrobotics/ability-hand-api.git ability-hand-api + git clone -b bugfix/support-multiple-hands https://github.com/ihmcrobotics/ability-hand-api.git ability-hand-api fi cd ability-hand-api/cpp From 913095848c114d0e290db3b3ea86e34b68c9489f Mon Sep 17 00:00:00 2001 From: ihmc-rosie Date: Wed, 3 Dec 2025 16:23:10 +0000 Subject: [PATCH 2/5] Rebuild natives for Linux (x86_64) --- .../ihmc/abilityhand/global/abilityhand.java | 5 +---- .../linux-x86_64/libability_hand_api.so | Bin 43512 -> 43440 bytes .../native/linux-x86_64/libjniabilityhand.so | Bin 84760 -> 84760 bytes 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/us/ihmc/abilityhand/global/abilityhand.java b/src/main/java/us/ihmc/abilityhand/global/abilityhand.java index 0fcf827..a1e7306 100644 --- a/src/main/java/us/ihmc/abilityhand/global/abilityhand.java +++ b/src/main/java/us/ihmc/abilityhand/global/abilityhand.java @@ -25,11 +25,7 @@ public class abilityhand extends us.ihmc.abilityhand.AbilityHandJavaAPIConfig { // #include "hand.h" // #include "ppp.h" -// #ifdef PLATFORM_WINDOWS -// #include "winserial.h" -// #elif defined(PLATFORM_LINUX) // #include "linux_serial.h" -// #endif @MemberGetter public static native @Cast("const uint16_t") short BUFFER_SIZE(); @MemberGetter public static native @Cast("const uint16_t") short STUFFED_BUFFER_SIZE(); @@ -40,6 +36,7 @@ public class abilityhand extends us.ihmc.abilityhand.AbilityHandJavaAPIConfig { + // Parsed from hand.h // #pragma once diff --git a/src/main/resources/abilityhand/native/linux-x86_64/libability_hand_api.so b/src/main/resources/abilityhand/native/linux-x86_64/libability_hand_api.so index 427de9f238d3328f63730f3d69e5a140683f009d..42c5cbfb7e37613b62f9ad8f27f15e4e5a417dee 100644 GIT binary patch delta 10377 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 diff --git a/src/main/resources/abilityhand/native/linux-x86_64/libjniabilityhand.so b/src/main/resources/abilityhand/native/linux-x86_64/libjniabilityhand.so index d6b38d77c975040fc9332c6460d93ad406b796ea..8df58a3b901860869f6576b4415b0502860e0d07 100755 GIT binary patch delta 131 zcmbO+jdjK})(tn9M9RPBc>lj{Dydh_;r&01@$ADx0eYL?Fy%!sUf3KRJ(~?keNU|C z1XAVMT8xYrCNIj_4kV*;zXHjCya_<^VcvNlxiSAKP|@@Pagd_*g`0t7a?vy(`Kzb{ UNH!M(*_)+G`Wk`M%CGsM0IY02od5s; delta 131 zcmbO+jdjK})(tn9M9Q|EzVqN~xpu=6%XNc@u!-!@ToAa%28eprYvo;vhxq3pWGFfv@ UkZdjnvNubW^fdyhm0$Bi0R|U83jhEB From 5afa355ff3d80860798d7fbe06e4e9b50c159d01 Mon Sep 17 00:00:00 2001 From: Tomasz Bialek Date: Wed, 3 Dec 2025 11:12:50 -0600 Subject: [PATCH 3/5] Add back Windows support --- cppbuild.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cppbuild.bash b/cppbuild.bash index dbc87ed..d43900a 100755 --- a/cppbuild.bash +++ b/cppbuild.bash @@ -8,7 +8,7 @@ cd cppbuild # Clone the ability-hand-api repo, if it's not already here if [ ! -d ability-hand-api ]; then - git clone -b bugfix/support-multiple-hands https://github.com/ihmcrobotics/ability-hand-api.git ability-hand-api + git clone -b multi-hand-support https://github.com/ihmcrobotics/ability-hand-api.git ability-hand-api fi cd ability-hand-api/cpp From 826e70a851734fb3eb63d3f711ed374728d9c2b8 Mon Sep 17 00:00:00 2001 From: ihmc-rosie Date: Wed, 3 Dec 2025 17:18:02 +0000 Subject: [PATCH 4/5] Rebuild natives for Linux (x86_64) --- .../ihmc/abilityhand/global/abilityhand.java | 4 ++++ .../linux-x86_64/libability_hand_api.so | Bin 43440 -> 43760 bytes 2 files changed, 4 insertions(+) diff --git a/src/main/java/us/ihmc/abilityhand/global/abilityhand.java b/src/main/java/us/ihmc/abilityhand/global/abilityhand.java index a1e7306..ce11dae 100644 --- a/src/main/java/us/ihmc/abilityhand/global/abilityhand.java +++ b/src/main/java/us/ihmc/abilityhand/global/abilityhand.java @@ -25,7 +25,11 @@ public class abilityhand extends us.ihmc.abilityhand.AbilityHandJavaAPIConfig { // #include "hand.h" // #include "ppp.h" +// #ifdef PLATFORM_WINDOWS +// #include "winserial.h" +// #elif defined(PLATFORM_LINUX) // #include "linux_serial.h" +// #endif @MemberGetter public static native @Cast("const uint16_t") short BUFFER_SIZE(); @MemberGetter public static native @Cast("const uint16_t") short STUFFED_BUFFER_SIZE(); diff --git a/src/main/resources/abilityhand/native/linux-x86_64/libability_hand_api.so b/src/main/resources/abilityhand/native/linux-x86_64/libability_hand_api.so index 42c5cbfb7e37613b62f9ad8f27f15e4e5a417dee..d0fe7b54e4d66e8f84bc599d2dd0125a95b8a3f0 100644 GIT binary patch delta 13590 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 Date: Wed, 3 Dec 2025 11:58:36 -0600 Subject: [PATCH 5/5] Bugfix --- .../us/ihmc/abilityhand/AbilityHandJavaAPIConfig.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/us/ihmc/abilityhand/AbilityHandJavaAPIConfig.java b/src/main/java/us/ihmc/abilityhand/AbilityHandJavaAPIConfig.java index 76edeea..42c56df 100644 --- a/src/main/java/us/ihmc/abilityhand/AbilityHandJavaAPIConfig.java +++ b/src/main/java/us/ihmc/abilityhand/AbilityHandJavaAPIConfig.java @@ -13,6 +13,14 @@ link = "ability_hand_api", linkpath = "install/lib", preload = "jniabilityhand" + ), + @Platform( + value = "linux", + define = "PLATFORM_LINUX" + ), + @Platform( + value = "windows", + define = "PLATFORM_WINDOWS" )}, target = "us.ihmc.abilityhand", global = "us.ihmc.abilityhand.global.abilityhand" @@ -27,6 +35,7 @@ public void map(InfoMap infoMap) .put(new Info("std::array").pointerTypes("UInt16Array30").define()) // Hand field of AHWrapper is read-only. Code adapted from here: // https://github.com/bytedeco/javacpp/wiki/Mapping-Recipes#mapping-a-declaration-to-custom-code - .put(new Info("AHWrapper::hand").javaText("public native @MemberGetter @Const @ByRef Hand hand();")); + .put(new Info("AHWrapper::hand").javaText("public native @MemberGetter @Const @ByRef Hand hand();")) + .put(new Info("AHSerial").skip()); } }