From 6380c0d914941d874a2cbb9c562170267df8d543 Mon Sep 17 00:00:00 2001 From: Sergi Hernandez Juan <shernand@iri.upc.edu> Date: Sun, 9 Feb 2020 21:49:16 +0100 Subject: [PATCH] Added a new macro for the actual number of motion pages. --- dynamixel_manager/Makefile | 2 +- dynamixel_manager/include/modules/motion_pages.h | 8 ++++++-- dynamixel_manager/src/modules/motion_pages.c | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/dynamixel_manager/Makefile b/dynamixel_manager/Makefile index 1eb0622..638a1bf 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 e871850..56f8feb 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 34bec5e..70b4b05 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)); -- GitLab