From fa49aeaa578feb48c0ea483ce79624c20543f712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergi=20Hern=C3=A1ndez?= <shernand@iri.upc.edu> Date: Sat, 30 Jul 2016 17:36:11 +0200 Subject: [PATCH] Chnaged the baudrate of all examples to 1000000bps. Added the current step to the action interface. --- src/CMakeLists.txt | 4 +++- src/darwin_robot.cpp | 14 ++++++++++++++ src/darwin_robot.h | 1 + src/examples/darwin_action_test.cpp | 2 +- src/examples/darwin_adc_test.cpp | 2 +- src/examples/darwin_gpio_test.cpp | 2 +- src/examples/darwin_imu_test.cpp | 2 +- src/examples/darwin_manager_test.cpp | 2 +- src/examples/darwin_walking_test.cpp | 2 +- 9 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index dffe470..8e1d04e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -SET(DARWIN_FW_PATH /home/shernand/humanoids/darwin_stm32_fw) +SET(DARWIN_FW_PATH ~/humanoids/darwin_stm32_fw) ADD_SUBDIRECTORY(xml) IF(HAVE_XSD) @@ -56,6 +56,8 @@ INSTALL(TARGETS darwin_robot LIBRARY DESTINATION lib/iridrivers ARCHIVE DESTINATION lib/iridrivers) INSTALL(FILES ${robot_headers} DESTINATION include/iridrivers) +INSTALL(FILES ${DARWIN_FW_PATH}/include/darwin_registers.h DESTINATION include/iridrivers) +INSTALL(FILES ${DARWIN_FW_PATH}/include/action_id.h DESTINATION include/iridrivers) IF(KDL_FOUND) INSTALL(FILES ${kin_heders} DESTINATION include/iridrivers) INSTALL(TARGETS darwin_arm_kinematics diff --git a/src/darwin_robot.cpp b/src/darwin_robot.cpp index 7f0c587..a2bcbec 100644 --- a/src/darwin_robot.cpp +++ b/src/darwin_robot.cpp @@ -855,6 +855,20 @@ unsigned char CDarwinRobot::action_get_current_page(void) throw CDarwinRobotException(_HERE_,"Invalid robot device"); } +unsigned char CDarwinRobot::action_get_current_step(void) +{ + unsigned char step_id; + + if(this->robot_device!=NULL) + { + this->robot_device->read_byte_register(DARWIN_ACTION_CNTRL,&step_id); + + return (step_id>>5); + } + else + throw CDarwinRobotException(_HERE_,"Invalid robot device"); +} + void CDarwinRobot::action_start(void) { if(this->robot_device!=NULL) diff --git a/src/darwin_robot.h b/src/darwin_robot.h index 116487e..7e08847 100644 --- a/src/darwin_robot.h +++ b/src/darwin_robot.h @@ -109,6 +109,7 @@ class CDarwinRobot // motion action interface void action_load_page(unsigned char page_id); unsigned char action_get_current_page(void); + unsigned char action_get_current_step(void); void action_start(void); void action_stop(void); bool action_is_page_running(void); diff --git a/src/examples/darwin_action_test.cpp b/src/examples/darwin_action_test.cpp index f9a6e31..7afacc4 100644 --- a/src/examples/darwin_action_test.cpp +++ b/src/examples/darwin_action_test.cpp @@ -12,7 +12,7 @@ int main(int argc, char *argv[]) int i=0,num_servos; try{ - CDarwinRobot darwin("Darwin",robot_device,926100,0x02); + CDarwinRobot darwin("Darwin",robot_device,1000000,0x02); num_servos=darwin.mm_get_num_servos(); std::cout << "Found " << num_servos << " servos " << std::endl; diff --git a/src/examples/darwin_adc_test.cpp b/src/examples/darwin_adc_test.cpp index 08f2c3a..7548ce3 100644 --- a/src/examples/darwin_adc_test.cpp +++ b/src/examples/darwin_adc_test.cpp @@ -11,7 +11,7 @@ int main(int argc, char *argv[]) int i=0; try{ - CDarwinRobot darwin("Darwin",robot_device,926100,0x02); + CDarwinRobot darwin("Darwin",robot_device,1000000,0x02); std::cout << "found darwin controller" << std::endl; darwin.adc_start(); for(i=0;i<50;i++) diff --git a/src/examples/darwin_gpio_test.cpp b/src/examples/darwin_gpio_test.cpp index d033073..85d6c6d 100644 --- a/src/examples/darwin_gpio_test.cpp +++ b/src/examples/darwin_gpio_test.cpp @@ -9,7 +9,7 @@ std::string robot_device="A4008atn"; int main(int argc, char *argv[]) { try{ - CDarwinRobot darwin("Darwin",robot_device,926100,0x02); + CDarwinRobot darwin("Darwin",robot_device,1000000,0x02); std::cout << "found darwin controller" << std::endl; darwin.gpio_blink_led(LED_TX,1000); darwin.gpio_blink_led(LED_RX,2000); diff --git a/src/examples/darwin_imu_test.cpp b/src/examples/darwin_imu_test.cpp index 6cc915e..c48e3b4 100644 --- a/src/examples/darwin_imu_test.cpp +++ b/src/examples/darwin_imu_test.cpp @@ -12,7 +12,7 @@ int main(int argc, char *argv[]) double accel_x,accel_y,accel_z; try{ - CDarwinRobot darwin("Darwin",robot_device,926100,0x02); + CDarwinRobot darwin("Darwin",robot_device,1000000,0x02); std::cout << "found darwin controller" << std::endl; std::cout << "Number of calibration samples: " << darwin.imu_get_cal_samples() << std::endl; darwin.imu_start(); diff --git a/src/examples/darwin_manager_test.cpp b/src/examples/darwin_manager_test.cpp index ca2edb8..7b3fd22 100644 --- a/src/examples/darwin_manager_test.cpp +++ b/src/examples/darwin_manager_test.cpp @@ -14,7 +14,7 @@ int main(int argc, char *argv[]) std::vector<double> angles,speeds,accels,offsets; try{ - CDarwinRobot darwin("Darwin",robot_device,926100,0x02); + CDarwinRobot darwin("Darwin",robot_device,1000000,0x02); darwin.mm_load_config(config_file); num_servos=darwin.mm_get_num_servos(); std::cout << "Found " << num_servos << " servos" << std::endl; diff --git a/src/examples/darwin_walking_test.cpp b/src/examples/darwin_walking_test.cpp index 23faa18..5f474f4 100644 --- a/src/examples/darwin_walking_test.cpp +++ b/src/examples/darwin_walking_test.cpp @@ -13,7 +13,7 @@ int main(int argc, char *argv[]) std::vector<double> angles; try{ - CDarwinRobot darwin("Darwin",robot_device,926100,0x02); + CDarwinRobot darwin("Darwin",robot_device,1000000,0x02); num_servos=darwin.mm_get_num_servos(); std::cout << "Found " << num_servos << " servos" << std::endl; // enable all servos and assign them to the action module -- GitLab