strdef.h
Go to the documentation of this file.
1 // Copyright 2018 Tokyo Opensource Robotics Kyokai Association (TORK)
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 //***************************************************************
16 // リアルタイム制御サンプルプログラム
17 // 通信パケットデータ構造体定義ヘッダーファイル
18 //***************************************************************
19 // strdef.h
20 #include <stdint.h>
21 #define VER_H7
22 /********************************************************/
23 /* 関節座標系 (未使用軸は0にします) */
24 /* 各成分の詳細は、各ロボット付属の取扱説明書を */
25 /* 参照してください */
26 /********************************************************/
27 typedef struct{
28  float j1; // J1軸角度 (ラジアン)
29  float j2; // J2軸角度 (ラジアン)
30  float j3; // J3軸角度 (ラジアン)
31  float j4; // J4軸角度 (ラジアン)
32  float j5; // J5軸角度 (ラジアン)
33  float j6; // J6軸角度 (ラジアン)
34  float j7; // 付加軸1(J7軸角度) (ラジアン)
35  float j8; // 付加軸2(J8軸角度) (ラジアン)
36 } JOINT;
37 /********************************************************/
38 /* 直交座標系 (未使用軸は0にします) */
39 /* 各成分の詳細は、各ロボット付属の取扱説明書を */
40 /* 参照してください */
41 /********************************************************/
42 typedef struct{
43  float x; // X軸座標値(mm)
44  float y; // Y軸座標値(mm)
45  float z; // Z軸座標値(mm)
46  float a; // A軸座標値(ラジアン)
47  float b; // B軸座標値(ラジアン)
48  float c; // C軸座標値(ラジアン)
49  float l1; // 付加軸1(mm またはラジアン)
50  float l2; // 付加軸2(mm またはラジアン)
51 } WORLD;
52 typedef struct{
54  uint32_t sflg1; // 構造フラグ1
55  uint32_t sflg2; // 構造フラグ2
56 } POSE;
57 
58 /********************************************************/
59 /* パルス座標系 (未使用軸は0にします) */
60 /* 各関節をモータパルス値で表した座標です */
61 /********************************************************/
62 typedef struct{
63  int32_t p1; // モータ1軸
64  int32_t p2; // モータ2軸
65  int32_t p3; // モータ3軸
66  int32_t p4; // モータ4軸
67  int32_t p5; // モータ5軸
68  int32_t p6; // モータ6軸
69  int32_t p7; // 付加軸1(モータ7軸)
70  int32_t p8; // 付加軸2(モータ8軸)
71 } PULSE;
72 /****************************************/
73 /* リアルタイム機能通信データパケット */
74 /****************************************/
75 typedef struct enet_rtcmd_str {
76  uint16_t Command; // コマンド
77 #define MXT_CMD_NULL 0 // リアルタイム外部指令なし
78 #define MXT_CMD_MOVE 1 // リアルタイム外部指令あり
79 #define MXT_CMD_END 255 // リアルタイム外部指令終了
80  uint16_t SendType; // 指令データタイプ指定
81  uint16_t RecvType; // モニタデータタイプ指定
82 
84 
85 #define MXT_TYP_NULL 0 // データなし
86 
87  // 指令用およびモニタ用 ////////////////////
88 
89 #define MXT_TYP_POSE 1 // 直交データ(指令値)
90 #define MXT_TYP_JOINT 2 // 関節データ(指令値)
91 #define MXT_TYP_PULSE 3 // パルスデータ(指令値)
92 
93  // 位置関連モニタ用 ////////////////////////
94 #define MXT_TYP_FPOSE 4 // 直交データ(指令値フィルタ処理後)
95 #define MXT_TYP_FJOINT 5 // 関節データ(指令値フィルタ処理後)
96 #define MXT_TYP_FPULSE 6 // パルスデータ(指令値フィルタ処理後)
97 #define MXT_TYP_FB_POSE 7 // 直交データ(エンコーダフィードバック値)
98 #define MXT_TYP_FB_JOINT 8 // 関節データ(エンコーダフィードバック値)
99 #define MXT_TYP_FB_PULSE 9 // パルスデータ(エンコーダフィードバック値)
100  // 電流関連モニタ用 ///////////////////////
101 
102 #define MXT_TYP_CMDCUR 10 // 電流指令
103 #define MXT_TYP_FBKCUR 11 // 電流フィードバック
104  union rtdata { // 指令データ
105  POSE pos; // 直交タイプ[mm/rad]
106  JOINT jnt; // 関節タイプ[rad]
107  PULSE pls; // パルスタイプ[pls]
108  int32_t lng[8]; // 整数タイプ[%/無単位など]
109  } dat;
110  uint16_t SendIOType; // 送信入出力信号データ指定
111  uint16_t RecvIOType; // 返信入出力信号データ指定
112 #define MXT_IO_NULL 0 // データなし
113 #define MXT_IO_OUT 1 // 出力信号
114 #define MXT_IO_IN 2 // 入力信号
115  uint16_t BitTop; // 先頭ビット番号
116  uint16_t BitMask; // 送信用ビットマスクパターン指定(0x0001-0xffff)
117  uint16_t IoData; // 入出力信号データ(0x0000-0xffff)
118  uint16_t TCount; // タイムアウト時間のカウンタ値
119  uint32_t CCount; // 通信データ用のカウンタ値
120  uint16_t RecvType1; // 返信データタイプ指定1
121  union rtdata1 { // モニタデータ1
122  POSE pos1; // 直交タイプ[mm/rad]
123  JOINT jnt1; // 関節タイプ[rad]
124  PULSE pls1; // パルスタイプ[pls]
125  int32_t lng1[8]; // 整数タイプ[%/無単位など]
126  } dat1;
127  uint16_t RecvType2; // 返信データタイプ指定2
128  union rtdata2 { // モニタデータ2
129  POSE pos2; // 直交タイプ[mm/rad]
130  JOINT jnt2; // 関節タイプ[rad]
131  PULSE pls2; // パルスタイプ[pls]または整数タイプ[%/無単位など]
132  int32_t lng2[8]; // 整数タイプ[%/無単位など]
133  } dat2;
134  uint16_t RecvType3; // 返信データタイプ指定3
135  union rtdata3 { // モニタデータ3
136  POSE pos3; // 直交タイプ[mm/rad]
137  JOINT jnt3; // 関節タイプ[rad]
138  PULSE pls3; // パルスタイプ[pls]または整数タイプ[%/無単位など]
139  int32_t lng3[8]; // 整数タイプ[%/無単位など]
140  } dat3;
141 } MXTCMD;
uint16_t BitTop
Definition: strdef.h:115
int32_t lng[8]
Definition: strdef.h:108
Definition: strdef.h:52
float j3
Definition: strdef.h:30
int32_t p2
Definition: strdef.h:64
uint16_t IoData
Definition: strdef.h:117
uint16_t RecvType2
Definition: strdef.h:127
uint16_t RecvType1
Definition: strdef.h:120
float z
Definition: strdef.h:45
uint16_t TCount
Definition: strdef.h:118
Definition: strdef.h:27
float j1
Definition: strdef.h:28
uint16_t SendIOType
Definition: strdef.h:110
union enet_rtcmd_str::rtdata3 dat3
struct enet_rtcmd_str MXTCMD
int32_t p7
Definition: strdef.h:69
int32_t p1
Definition: strdef.h:63
int32_t p4
Definition: strdef.h:66
uint16_t RecvType3
Definition: strdef.h:134
uint32_t sflg1
Definition: strdef.h:54
uint32_t sflg2
Definition: strdef.h:55
float j6
Definition: strdef.h:33
float a
Definition: strdef.h:46
int32_t p8
Definition: strdef.h:70
float c
Definition: strdef.h:48
uint16_t BitMask
Definition: strdef.h:116
Definition: strdef.h:42
union enet_rtcmd_str::rtdata2 dat2
union enet_rtcmd_str::rtdata1 dat1
float j5
Definition: strdef.h:32
float y
Definition: strdef.h:44
uint16_t RecvType
Definition: strdef.h:81
union enet_rtcmd_str::rtdata dat
float j2
Definition: strdef.h:29
float j7
Definition: strdef.h:34
int32_t p5
Definition: strdef.h:67
float j4
Definition: strdef.h:31
float l1
Definition: strdef.h:49
int32_t p6
Definition: strdef.h:68
float j8
Definition: strdef.h:35
Definition: strdef.h:62
uint16_t Command
Definition: strdef.h:76
WORLD w
Definition: strdef.h:53
float x
Definition: strdef.h:43
uint16_t SendType
Definition: strdef.h:80
int32_t p3
Definition: strdef.h:65
float b
Definition: strdef.h:47
uint32_t CCount
Definition: strdef.h:119
float l2
Definition: strdef.h:50
uint16_t RecvIOType
Definition: strdef.h:111


melfa_driver
Author(s): Ryosuke Tajima
autogenerated on Mon Jun 10 2019 14:04:51