X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;ds=inline;f=bertos%2Fmware%2Fparser.h;h=281db3964c05e51c8a85fe110daf8a670fb3947b;hb=27fdd5acbb4371d9ba5c273e2d79004f6834b9f5;hp=0e2b0b9d9aa5804335830fe55a49733eba2001eb;hpb=f87390bf71f44a3ed9dc65c66128c5c6979655a9;p=bertos.git
diff --git a/bertos/mware/parser.h b/bertos/mware/parser.h
index 0e2b0b9d..281db396 100644
--- a/bertos/mware/parser.h
+++ b/bertos/mware/parser.h
@@ -70,8 +70,8 @@
* // Declare a buzzer command
* MAKE_CMD(beep, "d", "",
* ({
- * buz_beep(args[1].l);
- * RC_OK;
+ * buz_beep(args[1].l);
+ * RC_OK;
* }), 0)
*
* // initialize the parser
@@ -92,7 +92,7 @@
* //Execute command
* if(!parser_execute_cmd(templ, args))
* {
- * // error
+ * // error
* }
* // Now args contain the outputs of the function, you can send it
* // back to the caller
@@ -100,6 +100,8 @@
*
* \endcode
*
+ * Configuration file: cfg_parser.h
+ *
* \author Bernie Innocenti
* \author Stefano Fedrigo
* \author Giovanni Bajo
@@ -116,6 +118,7 @@
#include "cfg/cfg_parser.h"
#include
+#include
/**
* Error generated by the commands through the return code.
@@ -161,7 +164,11 @@ struct CmdTemplate
*
* \param NAME Command name to register
*/
-#define REGISTER_CMD(NAME) REGISTER_FUNCTION(&cmd_ ## NAME ## _template)
+#define REGISTER_CMD(NAME) \
+ do { \
+ if (!REGISTER_FUNCTION(&cmd_ ## NAME ## _template)) \
+ ASSERT2(0, "Error in registering command, no space left"); \
+ } while (0)
/**
* Utility macro to create a command template.
@@ -217,7 +224,7 @@ MAKE_TEMPLATE(NAME, ARGS, RES, FLAGS)
*/
void parser_init(void);
-void parser_register_cmd(const struct CmdTemplate* cmd);
+bool parser_register_cmd(const struct CmdTemplate* cmd);
/**