We can find it on Github: https://github.com/openrobots-dev/uROSnode
It is a great work for MCU can run ROS.
https://dl.dropboxusercontent.com/u/2771793/uros/doc/html/pag_demos.html
One great explainition about this project: pdf
ROSCon: http://vimeo.com/66970254
Problem 1:
Compiling ./src/urosUser.c
In file included from ../../include/urosUser.h:45:0,
from ./src/urosUser.c:42:
./src/urosUser.c: In function 'urosUserParamUpdate':
./src/urosUser.c:353:21: error: 'UrosRpcParam' has no member named 'class'
urosError(paramp->class != UROS_RPCP_INT, return UROS_ERR_BADPARAM,
^
../../include/urosBase.h:323:50: note: in definition of macro 'urosError'
# define urosError(when, action, msgargs) { if (when) { action; } }
^
./src/urosUser.c:368:21: error: 'UrosRpcParam' has no member named 'class'
urosError(paramp->class != UROS_RPCP_INT, return UROS_ERR_BADPARAM,
^
../../include/urosBase.h:323:50: note: in definition of macro 'urosError'
# define urosError(when, action, msgargs) { if (when) { action; } }
^
./src/urosUser.c:383:21: error: 'UrosRpcParam' has no member named 'class'
urosError(paramp->class != UROS_RPCP_INT, return UROS_ERR_BADPARAM,
^
../../include/urosBase.h:323:50: note: in definition of macro 'urosError'
# define urosError(when, action, msgargs) { if (when) { action; } }
^
make: *** [build/obj/urosUser.o] Error 1
Fix:
Find the struct in uROSnode/include/urosRpcCall.h
typedef struct UrosRpcParam {
uros_rpcparamclass_t pclass; /**< @brief Parameter pclass.*/
union {
UrosString string; /**< @brief XMLRPC string.*/
int32_t int32; /**< @brief XMLRPC int/i4.*/
uros_bool_t boolean; /**< @brief XMLRPC boolean.*/
double real; /**< @brief XMLRPC double.*/
UrosString base64; /**< @brief XMLRPC base64.*/
void *mapp; /**< @brief XMLRPC struct (map pointer).*/ /* TODO */
struct UrosRpcParamList *listp; /**< @brief XMLRPC array (list pointer).*/
} value; /**< @brief Parameter value.*/
} UrosRpcParam;
Then, just change the variable name from class to pclass. The error seems caused by typo.
Problem 2:
/src/lld/lwip/uros_lld_conn.c:784: undefined reference to `netconn_set_sendtimeout'
At first, I think it seems the lwip version caused error.
Change from 1.4.0 to 1.4.1
However, problem still exist.
/../../ext/lwip/src/api/api_lib.c:627: undefined reference to `sys_now'build/obj/api_msg.o: In function `do_writemore':/home/kv/rosnode/ChibiOS_2.5.1/demos/uROSnode/demos/turtlesim-chibios+lwip/../../../../ext/lwip/src/api/api_msg.c:1228: undefined reference to `sys_now'collect2: error: ld returned 1 exit statusmake: *** [build/turtlesim.elf] Error 1
Fix:
Then i just do the dirty thing. That I comment sys_now in
lwip/src/api/api_msg.c
and
lwip/src/api/api_lib.c
Finally, the compilation is d
one.
one.
st-flash write build/turtlesim.bin 0x08000000
2014-06-19T16:29:51 INFO src/stlink-common.c: Starting verification of write complete
2014-06-19T16:29:54 INFO src/stlink-common.c: Flash written and verified! jolly good!
But it doesn't Run! Obviously, we have different hardware module with their.
沒有留言:
張貼留言