rainbow-rb-schemas 0.0.9.dev5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- rainbow_rb_schemas-0.0.9.dev5/PKG-INFO +79 -0
- rainbow_rb_schemas-0.0.9.dev5/README.md +67 -0
- rainbow_rb_schemas-0.0.9.dev5/pyproject.toml +31 -0
- rainbow_rb_schemas-0.0.9.dev5/setup.cfg +4 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/__init__.py +0 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/base.py +51 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/__init__.py +10 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/__init__.py +6 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/__init__.py +21 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/samsung_log_models.py +85 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_accessory_models.py +49 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_capability_models.py +226 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_control_models.py +287 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_file_models.py +90 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_localization_models.py +107 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_map_models.py +279 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_message_models.py +94 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_move_models.py +182 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_multi_models.py +43 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_program_models.py +57 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_setting_models.py +257 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_socket_models.py +41 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_status_models.py +166 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_update_models.py +40 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/struct_models.py +42 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/__init__.py +6 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/__init__.py +20 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/common_struct_models.py +91 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/func_arm_models.py +73 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/func_box_models.py +184 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/func_config_models.py +144 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/func_flage_models.py +25 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/func_flow_models.py +54 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/func_get_models.py +74 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/func_move_models.py +213 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/func_return_models.py +22 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/func_service_models.py +193 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/func_servo_models.py +75 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/func_set_models.py +155 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/state_core_models.py +89 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/state_log_models.py +18 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/manipulate/v1/state_message_models.py +18 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/__init__.py +6 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/__init__.py +18 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/common_email_models.py +22 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/common_file_models.py +52 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/common_info_models.py +19 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/common_network_models.py +112 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/common_notify_models.py +60 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/common_sound_models.py +78 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/common_state_models.py +30 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/deploy_models.py +29 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/flow_manager_models.py +42 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/log_models.py +29 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/program_models.py +145 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/struct_models.py +34 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/nexus/v1/test_models.py +20 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/rby1/__init__.py +6 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/rby1/v1/__init__.py +6 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/rby1/v1/test_models.py +16 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/smbc/__init__.py +6 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/smbc/v1/__init__.py +6 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/smbc/v1/func_smbc_models.py +88 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/py.typed +0 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/sdk.py +16 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/utility.py +70 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow_rb_schemas.egg-info/PKG-INFO +79 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow_rb_schemas.egg-info/SOURCES.txt +69 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow_rb_schemas.egg-info/dependency_links.txt +1 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow_rb_schemas.egg-info/requires.txt +4 -0
- rainbow_rb_schemas-0.0.9.dev5/src/rainbow_rb_schemas.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: rainbow-rb-schemas
|
|
3
|
+
Version: 0.0.9.dev5
|
|
4
|
+
Summary: Rainbow Common Schema
|
|
5
|
+
Author-email: Derek <dfd1123@rainbow-robotics.com>
|
|
6
|
+
Requires-Python: <3.13,>=3.12
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
Requires-Dist: flatbuffers<26.0.0,>=25.2.10
|
|
9
|
+
Requires-Dist: fastapi>=0.116.1
|
|
10
|
+
Requires-Dist: rainbow-rb-utils==0.0.9.dev5
|
|
11
|
+
Requires-Dist: rainbow-rb-flow-manager==0.0.9.dev5
|
|
12
|
+
|
|
13
|
+
# rb_schemas 사용 설명서
|
|
14
|
+
|
|
15
|
+
`rb_schemas`는 프로젝트 공통 Pydantic 스키마와 Flow Manager 연동 타입을 제공하는 패키지입니다.
|
|
16
|
+
|
|
17
|
+
## 1. 제공 구성
|
|
18
|
+
|
|
19
|
+
- 기본 스키마 (`base.py`)
|
|
20
|
+
- `Response_ReturnValuePD`
|
|
21
|
+
- `NJointfPD`, `NInputfPD`, `Vec3fPD` 등 공용 모델
|
|
22
|
+
- Flow Manager 연계 타입 (`sdk.py`)
|
|
23
|
+
- `FlowManagerArgs`
|
|
24
|
+
- 스키마 유틸 (`utility.py`)
|
|
25
|
+
- `Pick(base, *include)`
|
|
26
|
+
- `Omit(base, *omit)`
|
|
27
|
+
- FBS 기반 자동 생성 모델
|
|
28
|
+
- `rb_schemas.fbs_models.*`
|
|
29
|
+
- 클래스명은 `...PD` 접미사 규칙
|
|
30
|
+
|
|
31
|
+
## 2. FlowManagerArgs 용도
|
|
32
|
+
|
|
33
|
+
`FlowManagerArgs`는 SDK 함수에서 Flow Manager 실행 컨텍스트를 받을 때 사용합니다.
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
from rb_schemas.sdk import FlowManagerArgs
|
|
37
|
+
|
|
38
|
+
def my_step_handler(flow_manager_args: FlowManagerArgs | None = None):
|
|
39
|
+
# step 로직 수행
|
|
40
|
+
if flow_manager_args is not None:
|
|
41
|
+
flow_manager_args.done()
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## 3. Pick/Omit 사용 예제
|
|
45
|
+
|
|
46
|
+
```python
|
|
47
|
+
from pydantic import BaseModel
|
|
48
|
+
from rb_schemas.utility import Omit, Pick
|
|
49
|
+
|
|
50
|
+
class UserPD(BaseModel):
|
|
51
|
+
user_id: str
|
|
52
|
+
email: str
|
|
53
|
+
password: str
|
|
54
|
+
|
|
55
|
+
UserPublicPD = Omit(UserPD, "password")
|
|
56
|
+
UserOnlyIdPD = Pick(UserPD, "user_id")
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## 4. FBS 모델 사용 예제
|
|
60
|
+
|
|
61
|
+
```python
|
|
62
|
+
# 예: 자동 생성된 모델 import
|
|
63
|
+
from rb_schemas.fbs_models.nexus.v1.deploy_models import Response_Deploy_ProgressPD
|
|
64
|
+
|
|
65
|
+
payload = Response_Deploy_ProgressPD(
|
|
66
|
+
sw_name="example",
|
|
67
|
+
ip="127.0.0.1",
|
|
68
|
+
mode="dev",
|
|
69
|
+
tag="v1",
|
|
70
|
+
percentage=80,
|
|
71
|
+
service_name="manipulate",
|
|
72
|
+
result="success",
|
|
73
|
+
)
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## 5. 참고
|
|
77
|
+
|
|
78
|
+
- FBS 기반 모델은 `backend.flatc` 실행 시 자동 재생성됩니다.
|
|
79
|
+
- 생성 모델은 snake_case 필드와 alias(원본 CamelCase)를 함께 가질 수 있습니다.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# rb_schemas 사용 설명서
|
|
2
|
+
|
|
3
|
+
`rb_schemas`는 프로젝트 공통 Pydantic 스키마와 Flow Manager 연동 타입을 제공하는 패키지입니다.
|
|
4
|
+
|
|
5
|
+
## 1. 제공 구성
|
|
6
|
+
|
|
7
|
+
- 기본 스키마 (`base.py`)
|
|
8
|
+
- `Response_ReturnValuePD`
|
|
9
|
+
- `NJointfPD`, `NInputfPD`, `Vec3fPD` 등 공용 모델
|
|
10
|
+
- Flow Manager 연계 타입 (`sdk.py`)
|
|
11
|
+
- `FlowManagerArgs`
|
|
12
|
+
- 스키마 유틸 (`utility.py`)
|
|
13
|
+
- `Pick(base, *include)`
|
|
14
|
+
- `Omit(base, *omit)`
|
|
15
|
+
- FBS 기반 자동 생성 모델
|
|
16
|
+
- `rb_schemas.fbs_models.*`
|
|
17
|
+
- 클래스명은 `...PD` 접미사 규칙
|
|
18
|
+
|
|
19
|
+
## 2. FlowManagerArgs 용도
|
|
20
|
+
|
|
21
|
+
`FlowManagerArgs`는 SDK 함수에서 Flow Manager 실행 컨텍스트를 받을 때 사용합니다.
|
|
22
|
+
|
|
23
|
+
```python
|
|
24
|
+
from rb_schemas.sdk import FlowManagerArgs
|
|
25
|
+
|
|
26
|
+
def my_step_handler(flow_manager_args: FlowManagerArgs | None = None):
|
|
27
|
+
# step 로직 수행
|
|
28
|
+
if flow_manager_args is not None:
|
|
29
|
+
flow_manager_args.done()
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 3. Pick/Omit 사용 예제
|
|
33
|
+
|
|
34
|
+
```python
|
|
35
|
+
from pydantic import BaseModel
|
|
36
|
+
from rb_schemas.utility import Omit, Pick
|
|
37
|
+
|
|
38
|
+
class UserPD(BaseModel):
|
|
39
|
+
user_id: str
|
|
40
|
+
email: str
|
|
41
|
+
password: str
|
|
42
|
+
|
|
43
|
+
UserPublicPD = Omit(UserPD, "password")
|
|
44
|
+
UserOnlyIdPD = Pick(UserPD, "user_id")
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 4. FBS 모델 사용 예제
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
# 예: 자동 생성된 모델 import
|
|
51
|
+
from rb_schemas.fbs_models.nexus.v1.deploy_models import Response_Deploy_ProgressPD
|
|
52
|
+
|
|
53
|
+
payload = Response_Deploy_ProgressPD(
|
|
54
|
+
sw_name="example",
|
|
55
|
+
ip="127.0.0.1",
|
|
56
|
+
mode="dev",
|
|
57
|
+
tag="v1",
|
|
58
|
+
percentage=80,
|
|
59
|
+
service_name="manipulate",
|
|
60
|
+
result="success",
|
|
61
|
+
)
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 5. 참고
|
|
65
|
+
|
|
66
|
+
- FBS 기반 모델은 `backend.flatc` 실행 시 자동 재생성됩니다.
|
|
67
|
+
- 생성 모델은 snake_case 필드와 alias(원본 CamelCase)를 함께 가질 수 있습니다.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=69", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "rainbow-rb-schemas"
|
|
7
|
+
version = "0.0.9.dev5"
|
|
8
|
+
requires-python = ">=3.12,<3.13"
|
|
9
|
+
description = "Rainbow Common Schema"
|
|
10
|
+
authors = [
|
|
11
|
+
{ name = "Derek", email = "dfd1123@rainbow-robotics.com" },
|
|
12
|
+
]
|
|
13
|
+
readme = "README.md"
|
|
14
|
+
|
|
15
|
+
dependencies = [
|
|
16
|
+
"flatbuffers>=25.2.10,<26.0.0",
|
|
17
|
+
"fastapi>=0.116.1",
|
|
18
|
+
"rainbow-rb-utils==0.0.9.dev5",
|
|
19
|
+
"rainbow-rb-flow-manager==0.0.9.dev5",
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
[tool.setuptools]
|
|
23
|
+
package-dir = {"" = "src"}
|
|
24
|
+
include-package-data = true
|
|
25
|
+
|
|
26
|
+
[tool.setuptools.packages.find]
|
|
27
|
+
where = ["src"]
|
|
28
|
+
include = ["rainbow.rb_schemas*"]
|
|
29
|
+
|
|
30
|
+
[tool.setuptools.package-data]
|
|
31
|
+
"*" = ["py.typed"]
|
|
File without changes
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import TypeVar
|
|
4
|
+
|
|
5
|
+
from pydantic import BaseModel
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Response_ReturnValuePD(BaseModel):
|
|
9
|
+
returnValue: int
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
T = TypeVar("T")
|
|
13
|
+
class Response_List_ObjectPD[T](BaseModel):
|
|
14
|
+
key: str
|
|
15
|
+
payload: T
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class NJointfPD(BaseModel):
|
|
19
|
+
f: list[float]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class NInputfPD(BaseModel):
|
|
23
|
+
f: list[float]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class NCarrefPD(BaseModel):
|
|
27
|
+
f: list[float]
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class NDInuPD(BaseModel):
|
|
31
|
+
u: list[int]
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class NDOutuPD(BaseModel):
|
|
35
|
+
u: list[int]
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class NAinPfPD(BaseModel):
|
|
39
|
+
f: list[float]
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class NAOutfPD(BaseModel):
|
|
43
|
+
f: list[float]
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class Vec3fPD(BaseModel):
|
|
47
|
+
v: list[float]
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class Mat3fPD(BaseModel):
|
|
51
|
+
m: list[float]
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# AUTO-GENERATED by scripts/fbs_to_pydantic.py. DO NOT EDIT.
|
|
2
|
+
from __future__ import annotations
|
|
3
|
+
|
|
4
|
+
from .amr import * # noqa: F401,F403
|
|
5
|
+
from .manipulate import * # noqa: F401,F403
|
|
6
|
+
from .nexus import * # noqa: F401,F403
|
|
7
|
+
from .rby1 import * # noqa: F401,F403
|
|
8
|
+
from .smbc import * # noqa: F401,F403
|
|
9
|
+
|
|
10
|
+
__all__ = []
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# AUTO-GENERATED by scripts/fbs_to_pydantic.py. DO NOT EDIT.
|
|
2
|
+
from __future__ import annotations
|
|
3
|
+
|
|
4
|
+
from .samsung_log_models import * # noqa: F401,F403
|
|
5
|
+
from .slamnav_accessory_models import * # noqa: F401,F403
|
|
6
|
+
from .slamnav_capability_models import * # noqa: F401,F403
|
|
7
|
+
from .slamnav_control_models import * # noqa: F401,F403
|
|
8
|
+
from .slamnav_file_models import * # noqa: F401,F403
|
|
9
|
+
from .slamnav_localization_models import * # noqa: F401,F403
|
|
10
|
+
from .slamnav_map_models import * # noqa: F401,F403
|
|
11
|
+
from .slamnav_message_models import * # noqa: F401,F403
|
|
12
|
+
from .slamnav_move_models import * # noqa: F401,F403
|
|
13
|
+
from .slamnav_multi_models import * # noqa: F401,F403
|
|
14
|
+
from .slamnav_program_models import * # noqa: F401,F403
|
|
15
|
+
from .slamnav_setting_models import * # noqa: F401,F403
|
|
16
|
+
from .slamnav_socket_models import * # noqa: F401,F403
|
|
17
|
+
from .slamnav_status_models import * # noqa: F401,F403
|
|
18
|
+
from .slamnav_update_models import * # noqa: F401,F403
|
|
19
|
+
from .struct_models import * # noqa: F401,F403
|
|
20
|
+
|
|
21
|
+
__all__ = []
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# AUTO-GENERATED by scripts/backend/fbs_to_pydantic.py. Derek said 'DO NOT EDIT. ㅡㅡ#'
|
|
2
|
+
from __future__ import annotations
|
|
3
|
+
|
|
4
|
+
from enum import Enum
|
|
5
|
+
from typing import List
|
|
6
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
7
|
+
|
|
8
|
+
NAMESPACE = "SAMSUNG"
|
|
9
|
+
|
|
10
|
+
class RequestGetGeneralLogPD(BaseModel):
|
|
11
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
12
|
+
date: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
13
|
+
|
|
14
|
+
class ResponsePD(BaseModel):
|
|
15
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
16
|
+
result: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
17
|
+
message: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
18
|
+
|
|
19
|
+
class RequestDeleteGeneralLogPD(BaseModel):
|
|
20
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
21
|
+
date: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
22
|
+
|
|
23
|
+
class RequestSetGeneralLogPD(BaseModel):
|
|
24
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
25
|
+
date_time: str | None = Field(alias="dateTime", json_schema_extra={"example": ""}, default=None)
|
|
26
|
+
machine_id: str | None = Field(alias="machineId", json_schema_extra={"example": ""}, default=None)
|
|
27
|
+
log_type: str | None = Field(alias="logType", json_schema_extra={"example": ""}, default=None)
|
|
28
|
+
lot_id: str | None = Field(alias="lotId", json_schema_extra={"example": ""}, default=None)
|
|
29
|
+
recipe: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
30
|
+
product_id: str | None = Field(alias="productId", json_schema_extra={"example": ""}, default=None)
|
|
31
|
+
status: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
32
|
+
scope: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
33
|
+
operation_name: str | None = Field(alias="operationName", json_schema_extra={"example": ""}, default=None)
|
|
34
|
+
operation_status: str | None = Field(alias="operationStatus", json_schema_extra={"example": ""}, default=None)
|
|
35
|
+
data: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
36
|
+
|
|
37
|
+
class RequestSetManipulateLogPD(BaseModel):
|
|
38
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
39
|
+
datetime: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
40
|
+
position: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
41
|
+
x: float | None = Field(default=None)
|
|
42
|
+
y: float | None = Field(default=None)
|
|
43
|
+
z: float | None = Field(default=None)
|
|
44
|
+
rx: float | None = Field(default=None)
|
|
45
|
+
ry: float | None = Field(default=None)
|
|
46
|
+
rz: float | None = Field(default=None)
|
|
47
|
+
base: float | None = Field(default=None)
|
|
48
|
+
shoulder: float | None = Field(default=None)
|
|
49
|
+
elbow: float | None = Field(default=None)
|
|
50
|
+
wrist1: float | None = Field(default=None)
|
|
51
|
+
wrist2: float | None = Field(default=None)
|
|
52
|
+
|
|
53
|
+
class RequestSetTorsoLogPD(BaseModel):
|
|
54
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
55
|
+
datetime: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
56
|
+
x: float | None = Field(default=None)
|
|
57
|
+
y: float | None = Field(default=None)
|
|
58
|
+
theta: float | None = Field(default=None)
|
|
59
|
+
|
|
60
|
+
class RequestSetAMRLogPD(BaseModel):
|
|
61
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
62
|
+
datetime: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
63
|
+
kind: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
64
|
+
x: float | None = Field(default=None)
|
|
65
|
+
y: float | None = Field(default=None)
|
|
66
|
+
theta: float | None = Field(default=None)
|
|
67
|
+
x_vel: float | None = Field(alias="xVel", default=None)
|
|
68
|
+
y_vel: float | None = Field(alias="yVel", default=None)
|
|
69
|
+
status_front: float | None = Field(alias="statusFront", default=None)
|
|
70
|
+
distance_front: float | None = Field(alias="distanceFront", default=None)
|
|
71
|
+
theta_front: float | None = Field(alias="thetaFront", default=None)
|
|
72
|
+
status_back: float | None = Field(alias="statusBack", default=None)
|
|
73
|
+
distance_back: float | None = Field(alias="distanceBack", default=None)
|
|
74
|
+
theta_back: float | None = Field(alias="thetaBack", default=None)
|
|
75
|
+
two_d_marker_recognize_position: float | None = Field(alias="twoDMarkerRecognizePosition", default=None)
|
|
76
|
+
|
|
77
|
+
__all__ = [
|
|
78
|
+
"RequestGetGeneralLogPD",
|
|
79
|
+
"ResponsePD",
|
|
80
|
+
"RequestDeleteGeneralLogPD",
|
|
81
|
+
"RequestSetGeneralLogPD",
|
|
82
|
+
"RequestSetManipulateLogPD",
|
|
83
|
+
"RequestSetTorsoLogPD",
|
|
84
|
+
"RequestSetAMRLogPD",
|
|
85
|
+
]
|
rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_accessory_models.py
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# AUTO-GENERATED by scripts/backend/fbs_to_pydantic.py. Derek said 'DO NOT EDIT. ㅡㅡ#'
|
|
2
|
+
from __future__ import annotations
|
|
3
|
+
|
|
4
|
+
from enum import Enum
|
|
5
|
+
from typing import List
|
|
6
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
7
|
+
|
|
8
|
+
from .struct_models import * # noqa: F401,F403
|
|
9
|
+
|
|
10
|
+
NAMESPACE = "SLAMNAV"
|
|
11
|
+
|
|
12
|
+
class RequestLiftPowerPD(BaseModel):
|
|
13
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
14
|
+
switch: bool | None = Field(default=None)
|
|
15
|
+
|
|
16
|
+
class ResponseLiftPowerPD(BaseModel):
|
|
17
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
18
|
+
switch: bool | None = Field(default=None)
|
|
19
|
+
result: ResultEnumPD | None = Field(default=None)
|
|
20
|
+
message: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
21
|
+
|
|
22
|
+
class RequestFootMovePD(BaseModel):
|
|
23
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
24
|
+
pose: float | None = Field(default=None)
|
|
25
|
+
|
|
26
|
+
class RequestFootStopPD(BaseModel):
|
|
27
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
28
|
+
pass
|
|
29
|
+
|
|
30
|
+
class ResponseFootMovePD(BaseModel):
|
|
31
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
32
|
+
pose: float | None = Field(default=None)
|
|
33
|
+
result: ResultEnumPD | None = Field(default=None)
|
|
34
|
+
message: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
35
|
+
|
|
36
|
+
class ResponseFootPD(BaseModel):
|
|
37
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
38
|
+
pose: float | None = Field(default=None)
|
|
39
|
+
result: ResultEnumPD | None = Field(default=None)
|
|
40
|
+
message: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
41
|
+
|
|
42
|
+
__all__ = [
|
|
43
|
+
"RequestLiftPowerPD",
|
|
44
|
+
"ResponseLiftPowerPD",
|
|
45
|
+
"RequestFootMovePD",
|
|
46
|
+
"RequestFootStopPD",
|
|
47
|
+
"ResponseFootMovePD",
|
|
48
|
+
"ResponseFootPD",
|
|
49
|
+
]
|
rainbow_rb_schemas-0.0.9.dev5/src/rainbow/rb_schemas/fbs_models/amr/v1/slamnav_capability_models.py
ADDED
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
# AUTO-GENERATED by scripts/backend/fbs_to_pydantic.py. Derek said 'DO NOT EDIT. ㅡㅡ#'
|
|
2
|
+
from __future__ import annotations
|
|
3
|
+
|
|
4
|
+
from enum import Enum
|
|
5
|
+
from typing import List
|
|
6
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
7
|
+
|
|
8
|
+
from .slamnav_setting_models import * # noqa: F401,F403
|
|
9
|
+
from .struct_models import * # noqa: F401,F403
|
|
10
|
+
|
|
11
|
+
NAMESPACE = "SLAMNAV"
|
|
12
|
+
|
|
13
|
+
class ChargeStateEnumPD(Enum):
|
|
14
|
+
NONE = 0
|
|
15
|
+
CHARGING = 1
|
|
16
|
+
COMPLETE = 2
|
|
17
|
+
FAIL = 3
|
|
18
|
+
CANCEL = 4
|
|
19
|
+
|
|
20
|
+
class ChargeTypeEnumPD(Enum):
|
|
21
|
+
CABLE = 0
|
|
22
|
+
CONTACT = 1
|
|
23
|
+
INDUCTIVE = 2
|
|
24
|
+
|
|
25
|
+
class BatteryTypeEnumPD(Enum):
|
|
26
|
+
DEFAULT = 0
|
|
27
|
+
TABOS = 1
|
|
28
|
+
|
|
29
|
+
class CameraTypeEnumPD(Enum):
|
|
30
|
+
ORBBEC = 0
|
|
31
|
+
|
|
32
|
+
class LidarTypeEnumPD(Enum):
|
|
33
|
+
RPLIDAR = 0
|
|
34
|
+
SICK = 1
|
|
35
|
+
LAKI = 2
|
|
36
|
+
LIVOX = 3
|
|
37
|
+
HOKUYO = 4
|
|
38
|
+
|
|
39
|
+
class IMUTypeEnumPD(Enum):
|
|
40
|
+
DEFAULT = 0
|
|
41
|
+
IMU = 1
|
|
42
|
+
|
|
43
|
+
class RequestCapabilityDockPD(BaseModel):
|
|
44
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
45
|
+
pass
|
|
46
|
+
|
|
47
|
+
class ResponseCapabilityDockPD(BaseModel):
|
|
48
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
49
|
+
dock_state: bool | None = Field(alias="dockState", default=None)
|
|
50
|
+
charge_state: ChargeStateEnumPD | None = Field(alias="chargeState", default=None)
|
|
51
|
+
battery_percent: float | None = Field(alias="batteryPercent", default=None)
|
|
52
|
+
charge_current: float | None = Field(alias="chargeCurrent", default=None)
|
|
53
|
+
contact_voltage: float | None = Field(alias="contactVoltage", default=None)
|
|
54
|
+
battery_type: BatteryTypeEnumPD | None = Field(alias="batteryType", default=None)
|
|
55
|
+
charge_type: List[ChargeTypeEnumPD] | None = Field(alias="chargeType", default=None)
|
|
56
|
+
|
|
57
|
+
class RequestCapabilitySafetyIoPD(BaseModel):
|
|
58
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
59
|
+
pass
|
|
60
|
+
|
|
61
|
+
class ResponseCapabilitySafetyIoPD(BaseModel):
|
|
62
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
63
|
+
mcu0_dio: List[bool] | None = Field(alias="mcu0Dio", default=None)
|
|
64
|
+
mcu1_dio: List[bool] | None = Field(alias="mcu1Dio", default=None)
|
|
65
|
+
mcu0_din: List[bool] | None = Field(alias="mcu0Din", default=None)
|
|
66
|
+
mcu1_din: List[bool] | None = Field(alias="mcu1Din", default=None)
|
|
67
|
+
|
|
68
|
+
class CameraInfoPD(BaseModel):
|
|
69
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
70
|
+
connection: bool | None = Field(default=None)
|
|
71
|
+
index: int | None = Field(default=None)
|
|
72
|
+
serial: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
73
|
+
tf: List[float] | None = Field(default=None)
|
|
74
|
+
color_profile: int | None = Field(alias="colorProfile", default=None)
|
|
75
|
+
depth_profile: int | None = Field(alias="depthProfile", default=None)
|
|
76
|
+
type: CameraTypeEnumPD | None = Field(default=None)
|
|
77
|
+
|
|
78
|
+
class RequestCapabilityCameraPD(BaseModel):
|
|
79
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
80
|
+
pass
|
|
81
|
+
|
|
82
|
+
class ResponseCapabilityCameraPD(BaseModel):
|
|
83
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
84
|
+
enabled: bool | None = Field(default=None)
|
|
85
|
+
enabled_obs: bool | None = Field(alias="enabledObs", default=None)
|
|
86
|
+
enabled_depth: bool | None = Field(alias="enabledDepth", default=None)
|
|
87
|
+
enabled_filter: bool | None = Field(alias="enabledFilter", default=None)
|
|
88
|
+
info: List[CameraInfoPD] | None = Field(default=None)
|
|
89
|
+
|
|
90
|
+
class LidarInfoPD(BaseModel):
|
|
91
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
92
|
+
connection: bool | None = Field(default=None)
|
|
93
|
+
index: int | None = Field(default=None)
|
|
94
|
+
serial: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
95
|
+
tf: List[float] | None = Field(default=None)
|
|
96
|
+
ip: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
97
|
+
type: LidarTypeEnumPD | None = Field(default=None)
|
|
98
|
+
safety: bool | None = Field(default=None)
|
|
99
|
+
|
|
100
|
+
class RequestCapabilityLidar2DPD(BaseModel):
|
|
101
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
102
|
+
pass
|
|
103
|
+
|
|
104
|
+
class ResponseCapabilityLidar2DPD(BaseModel):
|
|
105
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
106
|
+
enabled: bool | None = Field(default=None)
|
|
107
|
+
enabled_obs: bool | None = Field(alias="enabledObs", default=None)
|
|
108
|
+
info: List[LidarInfoPD] | None = Field(default=None)
|
|
109
|
+
|
|
110
|
+
class RequestCapabilityLidar3DPD(BaseModel):
|
|
111
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
112
|
+
pass
|
|
113
|
+
|
|
114
|
+
class ResponseCapabilityLidar3DPD(BaseModel):
|
|
115
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
116
|
+
enabled: bool | None = Field(default=None)
|
|
117
|
+
enabled_obs: bool | None = Field(alias="enabledObs", default=None)
|
|
118
|
+
info: List[LidarInfoPD] | None = Field(default=None)
|
|
119
|
+
|
|
120
|
+
class IMUInfoPD(BaseModel):
|
|
121
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
122
|
+
connection: bool | None = Field(default=None)
|
|
123
|
+
index: int | None = Field(default=None)
|
|
124
|
+
serial: str | None = Field(json_schema_extra={"example": ""}, default=None)
|
|
125
|
+
type: IMUTypeEnumPD | None = Field(default=None)
|
|
126
|
+
|
|
127
|
+
class RequestCapabilityImuPD(BaseModel):
|
|
128
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
129
|
+
pass
|
|
130
|
+
|
|
131
|
+
class ResponseCapabilityImuPD(BaseModel):
|
|
132
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
133
|
+
info: List[IMUInfoPD] | None = Field(default=None)
|
|
134
|
+
|
|
135
|
+
class RequestCapabilitySafetyBumperPD(BaseModel):
|
|
136
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
137
|
+
pass
|
|
138
|
+
|
|
139
|
+
class ResponseCapabilitySafetyBumperPD(BaseModel):
|
|
140
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
141
|
+
enabled: bool | None = Field(default=None)
|
|
142
|
+
bumper_state: bool | None = Field(alias="bumperState", default=None)
|
|
143
|
+
|
|
144
|
+
class RequestCapabilitySafetyInterlockPD(BaseModel):
|
|
145
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
146
|
+
pass
|
|
147
|
+
|
|
148
|
+
class ResponseCapabilitySafetyInterlockPD(BaseModel):
|
|
149
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
150
|
+
enabled: bool | None = Field(default=None)
|
|
151
|
+
interlock_state: bool | None = Field(alias="interlockState", default=None)
|
|
152
|
+
|
|
153
|
+
class RequestCapabilitySafetyObstaclePD(BaseModel):
|
|
154
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
155
|
+
pass
|
|
156
|
+
|
|
157
|
+
class ResponseCapabilitySafetyObstaclePD(BaseModel):
|
|
158
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
159
|
+
enabled: bool | None = Field(default=None)
|
|
160
|
+
obs_detect: bool | None = Field(alias="obsDetect", default=None)
|
|
161
|
+
|
|
162
|
+
class RequestCapabilitySafetyOperationStopPD(BaseModel):
|
|
163
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
164
|
+
pass
|
|
165
|
+
|
|
166
|
+
class ResponseCapabilitySafetyOperationStopPD(BaseModel):
|
|
167
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
168
|
+
enabled: bool | None = Field(default=None)
|
|
169
|
+
operation_stop_state: bool | None = Field(alias="operationStopState", default=None)
|
|
170
|
+
|
|
171
|
+
class RequestCapabilitySafetySpeedControlPD(BaseModel):
|
|
172
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
173
|
+
pass
|
|
174
|
+
|
|
175
|
+
class ResponseCapabilitySafetySpeedControlPD(BaseModel):
|
|
176
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
177
|
+
enabled: bool | None = Field(default=None)
|
|
178
|
+
speed_control_state: bool | None = Field(alias="speedControlState", default=None)
|
|
179
|
+
|
|
180
|
+
class RequestCapabilityTabosPD(BaseModel):
|
|
181
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
182
|
+
pass
|
|
183
|
+
|
|
184
|
+
class ResponseCapabilityTabosPD(BaseModel):
|
|
185
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
186
|
+
tabos_voltage: float | None = Field(alias="tabosVoltage", default=None)
|
|
187
|
+
tabos_current: float | None = Field(alias="tabosCurrent", default=None)
|
|
188
|
+
tabos_soc: float | None = Field(alias="tabosSoc", default=None)
|
|
189
|
+
tabos_soh: float | None = Field(alias="tabosSoh", default=None)
|
|
190
|
+
tabos_temp: float | None = Field(alias="tabosTemp", default=None)
|
|
191
|
+
|
|
192
|
+
__all__ = [
|
|
193
|
+
"ChargeStateEnumPD",
|
|
194
|
+
"ChargeTypeEnumPD",
|
|
195
|
+
"BatteryTypeEnumPD",
|
|
196
|
+
"CameraTypeEnumPD",
|
|
197
|
+
"LidarTypeEnumPD",
|
|
198
|
+
"IMUTypeEnumPD",
|
|
199
|
+
"RequestCapabilityDockPD",
|
|
200
|
+
"ResponseCapabilityDockPD",
|
|
201
|
+
"RequestCapabilitySafetyIoPD",
|
|
202
|
+
"ResponseCapabilitySafetyIoPD",
|
|
203
|
+
"CameraInfoPD",
|
|
204
|
+
"RequestCapabilityCameraPD",
|
|
205
|
+
"ResponseCapabilityCameraPD",
|
|
206
|
+
"LidarInfoPD",
|
|
207
|
+
"RequestCapabilityLidar2DPD",
|
|
208
|
+
"ResponseCapabilityLidar2DPD",
|
|
209
|
+
"RequestCapabilityLidar3DPD",
|
|
210
|
+
"ResponseCapabilityLidar3DPD",
|
|
211
|
+
"IMUInfoPD",
|
|
212
|
+
"RequestCapabilityImuPD",
|
|
213
|
+
"ResponseCapabilityImuPD",
|
|
214
|
+
"RequestCapabilitySafetyBumperPD",
|
|
215
|
+
"ResponseCapabilitySafetyBumperPD",
|
|
216
|
+
"RequestCapabilitySafetyInterlockPD",
|
|
217
|
+
"ResponseCapabilitySafetyInterlockPD",
|
|
218
|
+
"RequestCapabilitySafetyObstaclePD",
|
|
219
|
+
"ResponseCapabilitySafetyObstaclePD",
|
|
220
|
+
"RequestCapabilitySafetyOperationStopPD",
|
|
221
|
+
"ResponseCapabilitySafetyOperationStopPD",
|
|
222
|
+
"RequestCapabilitySafetySpeedControlPD",
|
|
223
|
+
"ResponseCapabilitySafetySpeedControlPD",
|
|
224
|
+
"RequestCapabilityTabosPD",
|
|
225
|
+
"ResponseCapabilityTabosPD",
|
|
226
|
+
]
|