From 266d04bfeff855387c43fdd2ebe9107547c5d877 Mon Sep 17 00:00:00 2001 From: dfd1123 Date: Thu, 22 Jan 2026 16:57:51 +0900 Subject: [PATCH] Update schemas from main repo @ 35d7c69 --- .github/workflows/delete-after-merge.yml | 34 +++++++++ README.md | 69 ++++++++++--------- {manipulate => amr}/v1/slamnav_control.fbs | 0 .../v1/slamnav_localization.fbs | 0 {manipulate => amr}/v1/slamnav_map.fbs | 0 {manipulate => amr}/v1/slamnav_move.fbs | 0 {manipulate => amr}/v1/slamnav_moveStatus.fbs | 0 {manipulate => amr}/v1/slamnav_path.fbs | 0 {manipulate => amr}/v1/slamnav_setting.fbs | 0 {manipulate => amr}/v1/slamnav_status.fbs | 0 {manipulate => amr}/v1/slamnav_update.fbs | 0 manipulate/v1/common_struct.fbs | 6 ++ manipulate/v1/func_box.fbs | 5 +- manipulate/v1/func_config.fbs | 4 +- manipulate/v1/func_flow.fbs | 1 - manipulate/v1/func_get.fbs | 25 +++++-- manipulate/v1/func_move.fbs | 18 +++++ manipulate/v1/state_core.fbs | 30 ++++---- {manipulate => nexus}/v1/common_email.fbs | 0 {manipulate => nexus}/v1/common_file.fbs | 0 20 files changed, 135 insertions(+), 57 deletions(-) create mode 100644 .github/workflows/delete-after-merge.yml rename {manipulate => amr}/v1/slamnav_control.fbs (100%) rename {manipulate => amr}/v1/slamnav_localization.fbs (100%) rename {manipulate => amr}/v1/slamnav_map.fbs (100%) rename {manipulate => amr}/v1/slamnav_move.fbs (100%) rename {manipulate => amr}/v1/slamnav_moveStatus.fbs (100%) rename {manipulate => amr}/v1/slamnav_path.fbs (100%) rename {manipulate => amr}/v1/slamnav_setting.fbs (100%) rename {manipulate => amr}/v1/slamnav_status.fbs (100%) rename {manipulate => amr}/v1/slamnav_update.fbs (100%) rename {manipulate => nexus}/v1/common_email.fbs (100%) rename {manipulate => nexus}/v1/common_file.fbs (100%) diff --git a/.github/workflows/delete-after-merge.yml b/.github/workflows/delete-after-merge.yml new file mode 100644 index 00000000..b0edaad4 --- /dev/null +++ b/.github/workflows/delete-after-merge.yml @@ -0,0 +1,34 @@ +name: Delete branch after merge + +on: + pull_request: + types: [closed] + +permissions: + contents: write + +jobs: + delete-branch: + if: > + github.event.pull_request.merged == true && + (github.event.pull_request.base.ref == 'main' || github.event.pull_request.base.ref == 'develop') + runs-on: self-hosted + + steps: + - name: Delete head branch + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + REPO: ${{ github.repository }} + BRANCH: ${{ github.event.pull_request.head.ref }} + run: | + set -euo pipefail + + case "$BRANCH" in + main|develop) + echo "๐Ÿšซ $BRANCH ๋ธŒ๋žœ์น˜๋Š” ๋ณดํ˜ธ ๋Œ€์ƒ์ด๋ฏ€๋กœ ์‚ญ์ œํ•˜์ง€ ์•Š์Œ." + exit 0 + ;; + esac + + echo "๐Ÿ—‘๏ธ $BRANCH ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค." + gh api -X DELETE "repos/$REPO/git/refs/heads/$BRANCH" diff --git a/README.md b/README.md index 60586671..85c80a2e 100644 --- a/README.md +++ b/README.md @@ -5,31 +5,36 @@ ___ -## 1๏ธโƒฃ Subtree๋ฅผ ํ”„๋กœ์ ํŠธ์— ์ตœ์ดˆ 1ํšŒ ์„ค์ • -### 1. message-schema๋ฅผ Subtree๋กœ ์ถ”๊ฐ€ -```sh -# ์ž์‹ ์˜ ํŒ€ ํ”„๋กœ์ ํŠธ(repository) main ๋˜๋Š” develop ๋ธŒ๋žœ์น˜์—์„œ - -git remote add message-schema https://github.com/RainbowRobotics/message-schema.git -git subtree add --prefix=schemas message-schema main --squash - -git push origin -``` - -### 2. Makefile ์„ค์ • +## 1๏ธโƒฃ Subtree๋ฅผ ํ”„๋กœ์ ํŠธ์— ์ ์šฉ ๋ฐฉ๋ฒ• +### 1. Makefile ์„ค์ • ```Makefile -SCHEMA_DIR := schemas # ๋ณธ์ธ์ด ์›ํ•˜๋Š” ์Šคํ‚ค๋งˆ ๋””๋ ‰ํ† ๋ฆฌ๋ช… (๊ธฐ๋ณธ๊ฐ’: schemas) -SCHEMA_REMOTE := message-schema # ๋ณธ์ธ์ด ์›ํ•˜๋Š” remote ๋ช… (๊ธฐ๋ณธ๊ฐ’: message-schema) +SCHEMA_DIR := schemas # subtree๊ฐ€ ์œ„์น˜ํ•  ๋””๋ ‰ํ† ๋ฆฌ +SCHEMA_REMOTE := message-schema # subtree remote ์ด๋ฆ„ +SCHEMA_REMOTE_URL := https://github.com/RainbowRobotics/message-schema.git + +.PHONY: schema-subtree-init +schema-subtree-init: ## schema subtree ์ตœ์ดˆ 1ํšŒ ์ดˆ๊ธฐํ™” + @[ ! -d "$(SCHEMA_DIR)" ] || (echo "โŒ $(SCHEMA_DIR) ์ด๋ผ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ง€์›Œ์ฃผ์‹œ๊ณ  ์ปค๋ฐ‹/ํ‘ธ์‹œ ํ›„ ์ง„ํ–‰ํ•ด์ฃผ์„ธ์š”!"; exit 1) + @git remote get-url $(SCHEMA_REMOTE) >/dev/null 2>&1 \ + || git remote add $(SCHEMA_REMOTE) $(SCHEMA_REMOTE_URL) + @git subtree add --prefix=$(SCHEMA_DIR) $(SCHEMA_REMOTE) main --squash .PHONY: schema-update -schema-update: +schema-update: ## schemas ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ํ˜„์žฌ ๋ ˆํฌ์™€ ์„œ๋ธŒ๋ ˆํฌ๋กœ push ๊ทธ๋ฆฌ๊ณ  ์ž๋™ PR ์ง„ํ–‰ @bash "$(SCHEMA_DIR)/schema-update.sh" --dir $(SCHEMA_DIR) --remote $(SCHEMA_REMOTE) .PHONY: schema-sync -schema-sync: +schema-sync: ## message-schema์˜ main ๋ธŒ๋žœ์น˜ ๋‚ด์šฉ์„ ํ˜„์žฌ SCHEMA_DIR์— ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ (๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ๋‹ค๋ฉด ์ง„์งœ ๋ฎ์–ด์”Œ์šธ๊ฑด์ง€ ๋ฌผ์–ด๋ด„) @bash "$(SCHEMA_DIR)/schema-sync.sh" --dir $(SCHEMA_DIR) --remote $(SCHEMA_REMOTE) ``` +### 2. message-schema๋ฅผ Subtree๋กœ ์ถ”๊ฐ€ +```sh +# ์ž์‹ ์˜ ํŒ€ ํ”„๋กœ์ ํŠธ(repository) main ๋˜๋Š” develop ๋ธŒ๋žœ์น˜์—์„œ + +make schema-subtree-init ## ์ด๋ฏธ ์ „์— ์ง„ํ–‰ํ–ˆ๋‹ค๋ฉด ์•ˆํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค. +``` + ### 3. Git ์‚ฌ์šฉ์ž ์ด๋ฉ”์ผ ํ™•์ธ ```sh git config user.email @@ -67,7 +72,7 @@ message-schema ๋ ˆํฌ์—์„œ **๋ฆฌ๋ทฐ ํ›„ ์ˆ˜๋™ Apply** ๋˜์–ด์•ผ main์— ๋ฐ˜์˜
-### ๐Ÿ“ฅ message-schema ์ตœ์‹  ๋ณ€๊ฒฝ์‚ฌํ•ญ ๊ฐ€์ ธ์˜ค๊ธฐ +### ๐Ÿ“ฅ message-schema์— main ๋ธŒ๋žœ์น˜ ๋‚ด์šฉ์œผ๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ ```sh make schema-sync @@ -103,36 +108,38 @@ main-repo/ ``` ## 4๏ธโƒฃ ๋Œ€ํ‘œ ์‹œ๋‚˜๋ฆฌ์˜ค -### ์ƒˆ๋กœ์šด schema ์ถ”๊ฐ€ / ์ˆ˜์ • +### 1. ์ƒˆ๋กœ์šด schema ์ถ”๊ฐ€ / ์ˆ˜์ • ```sh vim schemas/nexus/v1/new_message.fbs make schema-update ``` -### ๋‹ค๋ฅธ ํŒ€์›์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ ๋ฐ›๊ธฐ -```sh -make schema-sync -``` +### 2. message-schema์— ์˜ฌ๋ผ์˜จ PR์„ ๋‹ค๋ฅธ ํŒ€์› ์ตœ์†Œ 1๋ช…์ด Apply + +- `Slack` ์‚ฌ์šฉ์ž๋Š” **๋ฉ”์‹œ์ง€๋กœ PR์ด ์žˆ๋‹ค๋Š” Notify๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ** +- ์ตœ์†Œ ํŒ€์› 1๋ช…์ด Apply ํ•˜๋ฉด Merge ๊ฐ€๋Šฅ + +### 3. ๋ณ€๊ฒฝ๋œ ์Šคํ‚ค๋งˆ์™€ ๊ด€๋ จ ์žˆ๋Š” ๋™๋ฃŒ๊ฐ€ ๋ณธ์ธ์˜ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๊ณ  PR ์Šน์ธ + +### 4. ์ˆ˜์ •ํ•œ ์‚ฌ๋žŒ์ด PR์„ Merge -### ์ถฉ๋Œ ๋ฐœ์ƒ ์‹œ +### 5. main ๋ธŒ๋žœ์น˜๋กœ Merge๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด main ๋ธŒ๋žœ์น˜์— ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์ด ๋ณ‘ํ•ฉ๋จ +`Slack` ์‚ฌ์šฉ์ž๋Š” **๋ฉ”์‹œ์ง€๋กœ PR์ด ๋ณ‘ํ•ฉ ๋˜์—ˆ๋‹ค๋Š” Notify๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ** + +### 6. message-schema์— main ๋ธŒ๋žœ์น˜(ํ—ˆ์šฉ์„ ๋ฐ›๊ณ  ๋ณ‘ํ•ฉ๋œ ๋‚ด์šฉ๋งŒ ์žˆ๋Š”) ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ค๊ธฐ ```sh make schema-sync -# ์ถฉ๋Œ ๋ฐœ์ƒ - -# ์ˆ˜๋™ ํ•ด๊ฒฐ ํ›„ -git add schemas/ -git commit -m "Resolve schema conflicts" -git push origin ``` +๐Ÿ“Œ `schemas/`์—์„œ ์ž‘์—… ์ค‘์ธ ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด, ๋™๊ธฐํ™” ์‹œ **์‚ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.** +ํ•„์š”ํ•˜๋ฉด ๋จผ์ € `make schema-update`๋กœ PR์„ ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜, ๋ณ„๋„ ๋ฐฑ์—… ํ›„ ์ง„ํ–‰ํ•˜์„ธ์š”. + ## 5๏ธโƒฃ ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์•ผ ํ•  ๊ทœ์น™ โš ๏ธ ### โŒ ๊ธˆ์ง€ -- `schemas/`๋ฅผ ์ง์ ‘ ์ปค๋ฐ‹ํ•˜์ง€ ๋ง ๊ฒƒ - `git add .` ์ƒํƒœ์—์„œ `schema-update` ์‹คํ–‰ ๊ธˆ์ง€ -- `message-schema`๋ฅผ ๋ณ„๋„๋กœ ํด๋ก ํ•ด์„œ ์ž‘์—… ๊ธˆ์ง€ - `make schema-sync`๋ฅผ ํ•˜์ง€ ์•Š๊ณ  ๋นŒ๋“œ ํ›„ ๋ฐฐํฌ ๊ธˆ์ง€ ```sh diff --git a/manipulate/v1/slamnav_control.fbs b/amr/v1/slamnav_control.fbs similarity index 100% rename from manipulate/v1/slamnav_control.fbs rename to amr/v1/slamnav_control.fbs diff --git a/manipulate/v1/slamnav_localization.fbs b/amr/v1/slamnav_localization.fbs similarity index 100% rename from manipulate/v1/slamnav_localization.fbs rename to amr/v1/slamnav_localization.fbs diff --git a/manipulate/v1/slamnav_map.fbs b/amr/v1/slamnav_map.fbs similarity index 100% rename from manipulate/v1/slamnav_map.fbs rename to amr/v1/slamnav_map.fbs diff --git a/manipulate/v1/slamnav_move.fbs b/amr/v1/slamnav_move.fbs similarity index 100% rename from manipulate/v1/slamnav_move.fbs rename to amr/v1/slamnav_move.fbs diff --git a/manipulate/v1/slamnav_moveStatus.fbs b/amr/v1/slamnav_moveStatus.fbs similarity index 100% rename from manipulate/v1/slamnav_moveStatus.fbs rename to amr/v1/slamnav_moveStatus.fbs diff --git a/manipulate/v1/slamnav_path.fbs b/amr/v1/slamnav_path.fbs similarity index 100% rename from manipulate/v1/slamnav_path.fbs rename to amr/v1/slamnav_path.fbs diff --git a/manipulate/v1/slamnav_setting.fbs b/amr/v1/slamnav_setting.fbs similarity index 100% rename from manipulate/v1/slamnav_setting.fbs rename to amr/v1/slamnav_setting.fbs diff --git a/manipulate/v1/slamnav_status.fbs b/amr/v1/slamnav_status.fbs similarity index 100% rename from manipulate/v1/slamnav_status.fbs rename to amr/v1/slamnav_status.fbs diff --git a/manipulate/v1/slamnav_update.fbs b/amr/v1/slamnav_update.fbs similarity index 100% rename from manipulate/v1/slamnav_update.fbs rename to amr/v1/slamnav_update.fbs diff --git a/manipulate/v1/common_struct.fbs b/manipulate/v1/common_struct.fbs index 3b934ff1..313d2855 100755 --- a/manipulate/v1/common_struct.fbs +++ b/manipulate/v1/common_struct.fbs @@ -15,6 +15,12 @@ struct N_DIN_u { struct N_DOUT_u { u: [ubyte: 16]; } +struct N_DIN_b { + b: [byte: 16]; +} +struct N_DOUT_b { + b: [byte: 16]; +} struct N_AIN_f { f: [float: 4]; } diff --git a/manipulate/v1/func_box.fbs b/manipulate/v1/func_box.fbs index bac0b722..af0b33ab 100755 --- a/manipulate/v1/func_box.fbs +++ b/manipulate/v1/func_box.fbs @@ -2,7 +2,6 @@ include "func_return.fbs"; include "common_struct.fbs"; namespace IPC; - table Request_Save_Robot_Code { code: int; option: int; @@ -38,12 +37,12 @@ table Request_Save_User_Frame { } table Request_Save_SideDin_SpecialFunc { - port_num: int; + port_num: int; desired_function: int; } table Request_Save_SideDout_SpecialFunc { - port_num: int; + port_num: int; desired_function: int; } diff --git a/manipulate/v1/func_config.fbs b/manipulate/v1/func_config.fbs index e8340655..65c15e19 100755 --- a/manipulate/v1/func_config.fbs +++ b/manipulate/v1/func_config.fbs @@ -47,8 +47,8 @@ table ST_Config_UserFrame{ } table Response_CallConfigControlBox{ - dout_special_func: N_DOUT_u; - din_special_func: N_DIN_u; + dout_special_func: N_DOUT_b; + din_special_func: N_DIN_b; din_filter_count: N_DIN_u; area_configs_0: ST_Config_Area; diff --git a/manipulate/v1/func_flow.fbs b/manipulate/v1/func_flow.fbs index 8a6222cf..b79e23f2 100755 --- a/manipulate/v1/func_flow.fbs +++ b/manipulate/v1/func_flow.fbs @@ -22,7 +22,6 @@ table Request_MotionHalt { table Request_ProgramBefore { option: int; } - table Request_ProgramAfter { option: int; } \ No newline at end of file diff --git a/manipulate/v1/func_get.fbs b/manipulate/v1/func_get.fbs index dab0e970..dae80b50 100644 --- a/manipulate/v1/func_get.fbs +++ b/manipulate/v1/func_get.fbs @@ -16,25 +16,40 @@ table Response_Get_Core_Data { payload_str : string; } //-------------------------------------------------------------- - table Request_Get_Relative_Value { relative_value : MoveInput_Target; reference_value: MoveInput_Target; - move_type: int; + move_type: int; } table Response_Get_Relative_Value { calculated_result: int; calculated_value: MoveInput_Target; } - - +//-------------------------------------------------------------- table Request_Get_Absolute_Value { reference_value: MoveInput_Target; - move_type: int; + move_type: int; } table Response_Get_Absolute_Value { calculated_result: int; calculated_value: MoveInput_Target; } +//-------------------------------------------------------------- +table Request_Get_Tcp_Value { + option: int; +} + +table Response_Get_Tcp_Value { + carte_info: N_CARTE_f; +} + +table Request_Get_Joint_Value { + option: int; +} + +table Response_Get_Joint_Value { + joint_info: N_JOINT_f; +} +//-------------------------------------------------------------- \ No newline at end of file diff --git a/manipulate/v1/func_move.fbs b/manipulate/v1/func_move.fbs index 3fb3d367..9eec5992 100755 --- a/manipulate/v1/func_move.fbs +++ b/manipulate/v1/func_move.fbs @@ -79,4 +79,22 @@ table Request_Move_XB_ADD { table Request_Move_XB_RUN { running_mode: int; } +//--------------------------------------------------------------- +// Servo +//--------------------------------------------------------------- +table Request_Servo_J { + target: MoveInput_Target; + t1: float; + t2: float; + gain: float; + filter: float; +} + +table Request_Servo_L { + target: MoveInput_Target; + t1: float; + t2: float; + gain: float; + filter: float; +} //--------------------------------------------------------------- \ No newline at end of file diff --git a/manipulate/v1/state_core.fbs b/manipulate/v1/state_core.fbs index c02d0c3d..833857dd 100755 --- a/manipulate/v1/state_core.fbs +++ b/manipulate/v1/state_core.fbs @@ -5,7 +5,7 @@ namespace IPC; table State_Core { heart_beat: ubyte; - + joint_q_ref: N_JOINT_f; joint_q_enc: N_JOINT_f; joint_t_esti: N_JOINT_f; @@ -19,29 +19,29 @@ table State_Core { userf_x_ref: N_CARTE_f; tool_selection_no: int; - tool_name: string; - tool_tcp_x: float; - tool_tcp_y: float; - tool_tcp_z: float; + tool_name: string; + tool_tcp_x: float; + tool_tcp_y: float; + tool_tcp_z: float; tool_tcp_rx: float; tool_tcp_ry: float; tool_tcp_rz: float; - tool_com_m: float; - tool_com_x: float; - tool_com_y: float; - tool_com_z: float; + tool_com_m: float; + tool_com_x: float; + tool_com_y: float; + tool_com_z: float; cbox_digital_input: N_DIN_u; cbox_digital_output: N_DOUT_u; - cbox_analog_input: N_AIN_f; + cbox_analog_input: N_AIN_f; cbox_analog_output: N_AOUT_f; - ex_digital_input: N_DIN_u; + ex_digital_input: N_DIN_u; ex_digital_output: N_DOUT_u; - ex_analog_input: N_AIN_f; - ex_analog_output: N_AOUT_f; + ex_analog_input: N_AIN_f; + ex_analog_output: N_AOUT_f; - tool_digital_input: N_DIN_u; + tool_digital_input: N_DIN_u; tool_digital_output: N_DOUT_u; tool_analog_input: N_AIN_f; tool_analog_output: N_AOUT_f; @@ -61,4 +61,4 @@ table State_Core { status_dt_mode: ubyte; } -root_type State_Core; +root_type State_Core; \ No newline at end of file diff --git a/manipulate/v1/common_email.fbs b/nexus/v1/common_email.fbs similarity index 100% rename from manipulate/v1/common_email.fbs rename to nexus/v1/common_email.fbs diff --git a/manipulate/v1/common_file.fbs b/nexus/v1/common_file.fbs similarity index 100% rename from manipulate/v1/common_file.fbs rename to nexus/v1/common_file.fbs