Skip to content

Commit

Permalink
Merge pull request #3 from ROBOTIS-GIT/develop
Browse files Browse the repository at this point in the history
added dynamixel model
  • Loading branch information
hancheol-cho committed Feb 14, 2018
2 parents 467d5ba + b8144dc commit e7b49fc
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 20 deletions.
18 changes: 12 additions & 6 deletions examples/addMotor/addMotor.ino
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
/*
#define M_AX12 ((uint8_t)0)
#define M_AX18 ((uint8_t)1)
#define M_XL320 ((uint8_t)2)
#define M_XL430 ((uint8_t)3)
#define M_XM430 ((uint8_t)4)
#define M_XM540 ((uint8_t)5)
#define M_AX12
#define M_AX18
#define M_RX24
#define M_RX28
#define M_RX64
#define M_EX106
#define M_MX28
#define M_MX64
#define M_MX106
#define M_MX28_2
#define M_MX64_2
#define M_MX106_2
*/


Expand Down
48 changes: 41 additions & 7 deletions src/DynamixelShield.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -763,11 +763,32 @@ uint8_t DynamixelShield::getDxlModelIndex(uint16_t model_number)
{
case 12: // AX12+
case 300: // AX12W
model_index = M_AX12;
case 18: // AX18
case 24: // RX-24F
case 28: // RX-28
case 64: // RX-64
model_index = M_AX;
break;

case 18: // AX18
model_index = M_AX18;
case 106: // EX-106
case 107: // EX-106+
model_index = M_EX;
break;

case 29: // MX-28
case 310: // MX-64
case 320: // MX-106
model_index = M_MX;
break;

case 30: // MX-28(2.0)
case 311: // MX-64(2.0)
case 321: // MX-106(2.0)
model_index = M_MX2;
break;

case 350: // XL320
model_index = M_XL320;
break;

case 1060: // XL430-W250
Expand Down Expand Up @@ -805,8 +826,7 @@ void DynamixelShield::getDxlModel(uint8_t model_index, dxl_model_t *p_model)
{
switch(model_index)
{
case M_AX12:
case M_AX18:
case M_AX:
p_model->protocol = DXL_PACKET_VER_1_0;
p_model->goal_pos.addr = 30;
p_model->goal_pos.length = 2;
Expand All @@ -822,12 +842,26 @@ void DynamixelShield::getDxlModel(uint8_t model_index, dxl_model_t *p_model)
p_model->led.length = 1;
p_model->op_mode.addr = 25;
p_model->op_mode.length = 1;
p_model->max_res = 1024;
p_model->max_angle = 3000;
p_model->id.addr = 3;
p_model->id.length = 1;
p_model->baud.addr = 4;
p_model->baud.length = 1;

if (model_index == M_EX)
{
p_model->max_res = 4096;
p_model->max_angle = 2509;
}
else if (model_index == M_MX)
{
p_model->max_res = 4096;
p_model->max_angle = 3600;
}
else
{
p_model->max_res = 1024;
p_model->max_angle = 3000;
}
break;

case M_XL320:
Expand Down
29 changes: 22 additions & 7 deletions src/DynamixelShield.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,28 @@



#define M_AX12 ((uint8_t)0)
#define M_AX18 ((uint8_t)1)
#define M_XL320 ((uint8_t)2)
#define M_XL430 ((uint8_t)3)
#define M_XM430 ((uint8_t)4)
#define M_XM540 ((uint8_t)5)

#define M_AX ((uint8_t)0)
#define M_RX ((uint8_t)1)
#define M_EX ((uint8_t)2)
#define M_MX ((uint8_t)3)
#define M_MX2 ((uint8_t)4)
#define M_XL320 ((uint8_t)5)
#define M_XL430 ((uint8_t)6)
#define M_XM430 ((uint8_t)7)
#define M_XM540 ((uint8_t)8)

#define M_AX12 M_AX
#define M_AX18 M_AX
#define M_RX24 M_RX
#define M_RX28 M_RX
#define M_RX64 M_RX
#define M_EX106 M_EX
#define M_MX28 M_MX
#define M_MX64 M_MX
#define M_MX106 M_MX
#define M_MX28_2 M_MX2
#define M_MX64_2 M_MX2
#define M_MX106_2 M_MX2


typedef struct
Expand Down

0 comments on commit e7b49fc

Please sign in to comment.