diff --git a/dynamixel_manager/Makefile b/dynamixel_manager/Makefile index 1eb0622aba6cb3ccd78e5a4df4867c0c583003d3..638a1bfc3c31bb541b6f27a99b127138573184db 100755 --- a/dynamixel_manager/Makefile +++ b/dynamixel_manager/Makefile @@ -19,7 +19,7 @@ SCHEDULER_PATH = ../scheduler INCLUDE_DIRS = -I./include/ -I./include/modules -I$(COMM_PATH)/include -I$(UTILS_PATH)/include -I$(DYN_BASE_PATH)/include -I$(MEMORY_PATH)/include -I$(SCHEDULER_PATH)/include -MACROS = -DMAX_DYN_MASTER_TX_BUFFER_LEN=256 -DMAX_DYN_MASTER_RX_BUFFER_LEN=256 -DDYN_MANAGER_MAX_NUM_MASTERS=4 -DDYN_MANAGER_MAX_NUM_MODULES=8 -DDYN_MANAGER_MAX_NUM_DEVICES=32 -DDYN_MANAGER_MAX_NUM_SINGLE_OP=16 -DDYN_MANAGER_MAX_NUM_SYNC_OP=4 -DDYN_MANAGER_MAX_NUM_BULK_OP=4 -DMODULE_MAX_NUM_MODELS=32 -DMM_MAX_NUM_MOTION_MODULES=8 +MACROS = -DMAX_DYN_MASTER_TX_BUFFER_LEN=256 -DMAX_DYN_MASTER_RX_BUFFER_LEN=256 -DDYN_MANAGER_MAX_NUM_MASTERS=4 -DDYN_MANAGER_MAX_NUM_MODULES=8 -DDYN_MANAGER_MAX_NUM_DEVICES=32 -DDYN_MANAGER_MAX_NUM_SINGLE_OP=16 -DDYN_MANAGER_MAX_NUM_SYNC_OP=4 -DDYN_MANAGER_MAX_NUM_BULK_OP=4 -DMODULE_MAX_NUM_MODELS=32 -DMM_MAX_NUM_MOTION_MODULES=8 -DNUM_MOTION_PAGES=256 TCHAIN_PREFIX=arm-none-eabi- diff --git a/dynamixel_manager/include/modules/motion_pages.h b/dynamixel_manager/include/modules/motion_pages.h index e871850961238d47b2f0557a836b129e1a2bb767..56f8febe2818fe91a67ca43c686cd058da8567ca 100755 --- a/dynamixel_manager/include/modules/motion_pages.h +++ b/dynamixel_manager/include/modules/motion_pages.h @@ -5,7 +5,11 @@ extern "C" { #endif -#define MAX_PAGES 256 +#ifndef NUM_MOTION_PAGES + #error "Please, specify the number of motion pages with the NUM_MOTION_PAGES macro" +#endif + +#define MAX_MOTION_PAGES 256 #define PAGE_MAX_NUM_SERVOS 31 #define POSE_NUMBER_OF_POSES_PER_PAGE 7 @@ -42,7 +46,7 @@ typedef struct // Page Structure (total 512unsigned char) TStep steps[POSE_NUMBER_OF_POSES_PER_PAGE]; // Page step 65~511 }TPage; -extern TPage motion_pages[MAX_PAGES]; +extern TPage motion_pages[NUM_MOTION_PAGES]; // public functions void pages_get_page(unsigned char page_id,TPage *page); diff --git a/dynamixel_manager/src/modules/motion_pages.c b/dynamixel_manager/src/modules/motion_pages.c index 34bec5e5cb174d3825a84f1d76b7fcb25c88fad5..70b4b05ea1a2b2c26997d8cdd305b852ce74a030 100755 --- a/dynamixel_manager/src/modules/motion_pages.c +++ b/dynamixel_manager/src/modules/motion_pages.c @@ -42,4 +42,4 @@ inline unsigned char pages_get_slope(TPage *page,unsigned char servo_id) return 0x01<<(page->header.slope[servo_id]&0x0F); } -TPage motion_pages[MAX_PAGES] __attribute__ ((section (".pages"))) __attribute__((weak)); +TPage motion_pages[NUM_MOTION_PAGES] __attribute__ ((section (".pages"))) __attribute__((weak));