Skip to content

Commit 838b777

Browse files
committed
add more loggers for roseus
ros-*-once ros-*-once-named ros-*-throttle ros-*-throttle-named ros-*-delayed-throttle ros-*-delayed-throttle-named
1 parent 3cff147 commit 838b777

File tree

1 file changed

+140
-12
lines changed

1 file changed

+140
-12
lines changed

roseus/roseus.cpp

Lines changed: 140 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -795,18 +795,60 @@ pointer ROSEUS_OK(register context *ctx,int n,pointer *argv)
795795
}
796796

797797

798-
#define def_rosconsole_formatter(funcname, rosfuncname) \
799-
pointer funcname(register context *ctx,int n,pointer *argv) \
800-
{ pointer *argv2,msg; \
801-
int argc2; \
802-
argc2 = n+1; \
803-
argv2 = (pointer *)malloc(sizeof(pointer)*argc2); \
804-
argv2[0] = NIL; \
805-
for(int i=0;i<n;i++) argv2[i+1]=argv[i] ; \
806-
msg = XFORMAT(ctx, argc2, argv2); \
807-
rosfuncname("%s", msg->c.str.chars); \
808-
free(argv2); \
809-
return (T); \
798+
#define def_rosconsole_formatter(funcname, rosfuncname) \
799+
pointer funcname(register context *ctx,int n,pointer *argv) \
800+
{ pointer *argv2,msg; \
801+
int argc2; \
802+
argc2 = n+1; \
803+
argv2 = (pointer *)malloc(sizeof(pointer)*argc2); \
804+
argv2[0] = NIL; \
805+
for(int i=0;i<n;i++) argv2[i+1]=argv[i] ; \
806+
msg = XFORMAT(ctx, argc2, argv2); \
807+
rosfuncname("%s", msg->c.str.chars); \
808+
free(argv2); \
809+
return (T); \
810+
}
811+
#define def_rosconsole_formatter_named(funcname, rosfuncname) \
812+
pointer funcname(register context *ctx,int n,pointer *argv) \
813+
{ pointer *argv2,msg; \
814+
int argc2; \
815+
argc2 = n; \
816+
argv2 = (pointer *)malloc(sizeof(pointer)*argc2); \
817+
argv2[0] = NIL; \
818+
for(int i=1;i<n;i++) argv2[i]=argv[i] ; \
819+
msg = XFORMAT(ctx, argc2, argv2); \
820+
rosfuncname((char *)get_string(argv[0]), "%s", msg->c.str.chars); \
821+
free(argv2); \
822+
return (T); \
823+
}
824+
#define def_rosconsole_formatter_period(funcname, rosfuncname) \
825+
pointer funcname(register context *ctx,int n,pointer *argv) \
826+
{ pointer *argv2,msg; \
827+
numunion nu; \
828+
int argc2; \
829+
argc2 = n; \
830+
argv2 = (pointer *)malloc(sizeof(pointer)*argc2); \
831+
argv2[0] = NIL; \
832+
for(int i=1;i<n;i++) argv2[i]=argv[i] ; \
833+
msg = XFORMAT(ctx, argc2, argv2); \
834+
rosfuncname((double)ckfltval(argv[0]), "%s", msg->c.str.chars); \
835+
free(argv2); \
836+
return (T); \
837+
}
838+
#define def_rosconsole_formatter_period_named(funcname, rosfuncname) \
839+
pointer funcname(register context *ctx,int n,pointer *argv) \
840+
{ pointer *argv2,msg; \
841+
numunion nu; \
842+
int argc2; \
843+
argc2 = n-1; \
844+
argv2 = (pointer *)malloc(sizeof(pointer)*argc2); \
845+
argv2[0] = NIL; \
846+
for(int i=2;i<n;i++) argv2[i-1]=argv[i] ; \
847+
msg = XFORMAT(ctx, argc2, argv2); \
848+
rosfuncname((double)ckfltval(argv[0]), (char *)get_string(argv[1]), \
849+
"%s", msg->c.str.chars); \
850+
free(argv2); \
851+
return (T); \
810852
}
811853

812854
def_rosconsole_formatter(ROSEUS_ROSDEBUG, ROS_DEBUG)
@@ -815,6 +857,49 @@ def_rosconsole_formatter(ROSEUS_ROSWARN, ROS_WARN)
815857
def_rosconsole_formatter(ROSEUS_ROSERROR, ROS_ERROR)
816858
def_rosconsole_formatter(ROSEUS_ROSFATAL, ROS_FATAL)
817859

860+
def_rosconsole_formatter_named(ROSEUS_ROSDEBUG_NAMED, ROS_DEBUG_NAMED)
861+
def_rosconsole_formatter_named(ROSEUS_ROSINFO_NAMED, ROS_INFO_NAMED)
862+
def_rosconsole_formatter_named(ROSEUS_ROSWARN_NAMED, ROS_WARN_NAMED)
863+
def_rosconsole_formatter_named(ROSEUS_ROSERROR_NAMED, ROS_ERROR_NAMED)
864+
def_rosconsole_formatter_named(ROSEUS_ROSFATAL_NAMED, ROS_FATAL_NAMED)
865+
866+
def_rosconsole_formatter(ROSEUS_ROSDEBUG_ONCE, ROS_DEBUG_ONCE)
867+
def_rosconsole_formatter(ROSEUS_ROSINFO_ONCE, ROS_INFO_ONCE)
868+
def_rosconsole_formatter(ROSEUS_ROSWARN_ONCE, ROS_WARN_ONCE)
869+
def_rosconsole_formatter(ROSEUS_ROSERROR_ONCE, ROS_ERROR_ONCE)
870+
def_rosconsole_formatter(ROSEUS_ROSFATAL_ONCE, ROS_FATAL_ONCE)
871+
872+
def_rosconsole_formatter_named(ROSEUS_ROSDEBUG_ONCE_NAMED, ROS_DEBUG_ONCE_NAMED)
873+
def_rosconsole_formatter_named(ROSEUS_ROSINFO_ONCE_NAMED, ROS_INFO_ONCE_NAMED)
874+
def_rosconsole_formatter_named(ROSEUS_ROSWARN_ONCE_NAMED, ROS_WARN_ONCE_NAMED)
875+
def_rosconsole_formatter_named(ROSEUS_ROSERROR_ONCE_NAMED, ROS_ERROR_ONCE_NAMED)
876+
def_rosconsole_formatter_named(ROSEUS_ROSFATAL_ONCE_NAMED, ROS_FATAL_ONCE_NAMED)
877+
878+
def_rosconsole_formatter_period(ROSEUS_ROSDEBUG_THROTTLE, ROS_DEBUG_THROTTLE)
879+
def_rosconsole_formatter_period(ROSEUS_ROSINFO_THROTTLE, ROS_INFO_THROTTLE)
880+
def_rosconsole_formatter_period(ROSEUS_ROSWARN_THROTTLE, ROS_WARN_THROTTLE)
881+
def_rosconsole_formatter_period(ROSEUS_ROSERROR_THROTTLE, ROS_ERROR_THROTTLE)
882+
def_rosconsole_formatter_period(ROSEUS_ROSFATAL_THROTTLE, ROS_FATAL_THROTTLE)
883+
884+
def_rosconsole_formatter_period_named(ROSEUS_ROSDEBUG_THROTTLE_NAMED, ROS_DEBUG_THROTTLE_NAMED)
885+
def_rosconsole_formatter_period_named(ROSEUS_ROSINFO_THROTTLE_NAMED, ROS_INFO_THROTTLE_NAMED)
886+
def_rosconsole_formatter_period_named(ROSEUS_ROSWARN_THROTTLE_NAMED, ROS_WARN_THROTTLE_NAMED)
887+
def_rosconsole_formatter_period_named(ROSEUS_ROSERROR_THROTTLE_NAMED, ROS_ERROR_THROTTLE_NAMED)
888+
def_rosconsole_formatter_period_named(ROSEUS_ROSFATAL_THROTTLE_NAMED, ROS_FATAL_THROTTLE_NAMED)
889+
890+
def_rosconsole_formatter_period(ROSEUS_ROSDEBUG_DELAYED_THROTTLE, ROS_DEBUG_DELAYED_THROTTLE)
891+
def_rosconsole_formatter_period(ROSEUS_ROSINFO_DELAYED_THROTTLE, ROS_INFO_DELAYED_THROTTLE)
892+
def_rosconsole_formatter_period(ROSEUS_ROSWARN_DELAYED_THROTTLE, ROS_WARN_DELAYED_THROTTLE)
893+
def_rosconsole_formatter_period(ROSEUS_ROSERROR_DELAYED_THROTTLE, ROS_ERROR_DELAYED_THROTTLE)
894+
def_rosconsole_formatter_period(ROSEUS_ROSFATAL_DELAYED_THROTTLE, ROS_FATAL_DELAYED_THROTTLE)
895+
896+
def_rosconsole_formatter_period_named(ROSEUS_ROSDEBUG_DELAYED_THROTTLE_NAMED, ROS_DEBUG_DELAYED_THROTTLE_NAMED)
897+
def_rosconsole_formatter_period_named(ROSEUS_ROSINFO_DELAYED_THROTTLE_NAMED, ROS_INFO_DELAYED_THROTTLE_NAMED)
898+
def_rosconsole_formatter_period_named(ROSEUS_ROSWARN_DELAYED_THROTTLE_NAMED, ROS_WARN_DELAYED_THROTTLE_NAMED)
899+
def_rosconsole_formatter_period_named(ROSEUS_ROSERROR_DELAYED_THROTTLE_NAMED, ROS_ERROR_DELAYED_THROTTLE_NAMED)
900+
def_rosconsole_formatter_period_named(ROSEUS_ROSFATAL_DELAYED_THROTTLE_NAMED, ROS_FATAL_DELAYED_THROTTLE_NAMED)
901+
902+
818903
pointer ROSEUS_EXIT(register context *ctx,int n,pointer *argv)
819904
{
820905
ROS_INFO("%s", __PRETTY_FUNCTION__);
@@ -2028,6 +2113,49 @@ pointer ___roseus(register context *ctx, int n, pointer *argv, pointer env)
20282113
defun(ctx,"ROS-WARN",argv[0],(pointer (*)())ROSEUS_ROSWARN, "write mesage to warn output");
20292114
defun(ctx,"ROS-ERROR",argv[0],(pointer (*)())ROSEUS_ROSERROR, "write mesage to error output");
20302115
defun(ctx,"ROS-FATAL",argv[0],(pointer (*)())ROSEUS_ROSFATAL, "write mesage to fatal output");
2116+
2117+
defun(ctx,"ROS-DEBUG-NAMED",argv[0],(pointer (*)())ROSEUS_ROSDEBUG_NAMED, "write mesage to debug output with name");
2118+
defun(ctx,"ROS-INFO-NAMED",argv[0],(pointer (*)())ROSEUS_ROSINFO_NAMED, "write mesage to info output with name");
2119+
defun(ctx,"ROS-WARN-NAMED",argv[0],(pointer (*)())ROSEUS_ROSWARN_NAMED, "write mesage to warn output with name");
2120+
defun(ctx,"ROS-ERROR-NAMED",argv[0],(pointer (*)())ROSEUS_ROSERROR_NAMED, "write mesage to error output with name");
2121+
defun(ctx,"ROS-FATAL-NAMED",argv[0],(pointer (*)())ROSEUS_ROSFATAL_NAMED, "write mesage to fatal output with name");
2122+
2123+
defun(ctx,"ROS-DEBUG-ONCE",argv[0],(pointer (*)())ROSEUS_ROSDEBUG_ONCE, "write mesage to debug output once");
2124+
defun(ctx,"ROS-INFO-ONCE",argv[0],(pointer (*)())ROSEUS_ROSINFO_ONCE, "write mesage to info output once");
2125+
defun(ctx,"ROS-WARN-ONCE",argv[0],(pointer (*)())ROSEUS_ROSWARN_ONCE, "write mesage to warn output once");
2126+
defun(ctx,"ROS-ERROR-ONCE",argv[0],(pointer (*)())ROSEUS_ROSERROR_ONCE, "write mesage to error output once");
2127+
defun(ctx,"ROS-FATAL-ONCE",argv[0],(pointer (*)())ROSEUS_ROSFATAL_ONCE, "write mesage to fatal output once");
2128+
2129+
defun(ctx,"ROS-DEBUG-ONCE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSDEBUG_ONCE_NAMED, "write mesage to debug output once with name");
2130+
defun(ctx,"ROS-INFO-ONCE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSINFO_ONCE_NAMED, "write mesage to info output once with name");
2131+
defun(ctx,"ROS-WARN-ONCE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSWARN_ONCE_NAMED, "write mesage to warn output once with name");
2132+
defun(ctx,"ROS-ERROR-ONCE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSERROR_ONCE_NAMED, "write mesage to error output once with name");
2133+
defun(ctx,"ROS-FATAL-ONCE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSFATAL_ONCE_NAMED, "write mesage to fatal output once with name");
2134+
2135+
defun(ctx,"ROS-DEBUG-THROTTLE",argv[0],(pointer (*)())ROSEUS_ROSDEBUG_THROTTLE, "write mesage to debug output periodically");
2136+
defun(ctx,"ROS-INFO-THROTTLE",argv[0],(pointer (*)())ROSEUS_ROSINFO_THROTTLE, "write mesage to info output periodically");
2137+
defun(ctx,"ROS-WARN-THROTTLE",argv[0],(pointer (*)())ROSEUS_ROSWARN_THROTTLE, "write mesage to warn output periodically");
2138+
defun(ctx,"ROS-ERROR-THROTTLE",argv[0],(pointer (*)())ROSEUS_ROSERROR_THROTTLE, "write mesage to error output periodically");
2139+
defun(ctx,"ROS-FATAL-THROTTLE",argv[0],(pointer (*)())ROSEUS_ROSFATAL_THROTTLE, "write mesage to fatal output periodically");
2140+
2141+
defun(ctx,"ROS-DEBUG-THROTTLE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSDEBUG_THROTTLE_NAMED, "write mesage to debug output periodically with name");
2142+
defun(ctx,"ROS-INFO-THROTTLE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSINFO_THROTTLE_NAMED, "write mesage to info output periodically with name");
2143+
defun(ctx,"ROS-WARN-THROTTLE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSWARN_THROTTLE_NAMED, "write mesage to warn output periodically with name");
2144+
defun(ctx,"ROS-ERROR-THROTTLE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSERROR_THROTTLE_NAMED, "write mesage to error output periodically with name");
2145+
defun(ctx,"ROS-FATAL-THROTTLE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSFATAL_THROTTLE_NAMED, "write mesage to fatal output periodically with name");
2146+
2147+
defun(ctx,"ROS-DEBUG-DELAYED-THROTTLE",argv[0],(pointer (*)())ROSEUS_ROSDEBUG_DELAYED_THROTTLE, "write mesage to debug output periodically");
2148+
defun(ctx,"ROS-INFO-DELAYED-THROTTLE",argv[0],(pointer (*)())ROSEUS_ROSINFO_DELAYED_THROTTLE, "write mesage to info output periodically");
2149+
defun(ctx,"ROS-WARN-DELAYED-THROTTLE",argv[0],(pointer (*)())ROSEUS_ROSWARN_DELAYED_THROTTLE, "write mesage to warn output periodically");
2150+
defun(ctx,"ROS-ERROR-DELAYED-THROTTLE",argv[0],(pointer (*)())ROSEUS_ROSERROR_DELAYED_THROTTLE, "write mesage to error output periodically");
2151+
defun(ctx,"ROS-FATAL-DELAYED-THROTTLE",argv[0],(pointer (*)())ROSEUS_ROSFATAL_DELAYED_THROTTLE, "write mesage to fatal output periodically");
2152+
2153+
defun(ctx,"ROS-DEBUG-DELAYED-THROTTLE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSDEBUG_DELAYED_THROTTLE_NAMED, "write mesage to debug output periodically with name");
2154+
defun(ctx,"ROS-INFO-DELAYED-THROTTLE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSINFO_DELAYED_THROTTLE_NAMED, "write mesage to info output periodically with name");
2155+
defun(ctx,"ROS-WARN-DELAYED-THROTTLE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSWARN_DELAYED_THROTTLE_NAMED, "write mesage to warn output periodically with name");
2156+
defun(ctx,"ROS-ERROR-DELAYED-THROTTLE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSERROR_DELAYED_THROTTLE_NAMED, "write mesage to error output periodically with name");
2157+
defun(ctx,"ROS-FATAL-DELAYED-THROTTLE-NAMED",argv[0],(pointer (*)())ROSEUS_ROSFATAL_DELAYED_THROTTLE_NAMED, "write mesage to fatal output periodically with name");
2158+
20312159
defun(ctx,"EXIT",argv[0],(pointer (*)())ROSEUS_EXIT, "Exit ros clinet");
20322160

20332161
defun(ctx,"SUBSCRIBE",argv[0],(pointer (*)())ROSEUS_SUBSCRIBE,

0 commit comments

Comments
 (0)