summaryrefslogtreecommitdiff
path: root/n/avr/proto/proto.h
diff options
context:
space:
mode:
Diffstat (limited to 'n/avr/proto/proto.h')
-rw-r--r--n/avr/proto/proto.h43
1 files changed, 11 insertions, 32 deletions
diff --git a/n/avr/proto/proto.h b/n/avr/proto/proto.h
index 2bfe7b8..5d6319f 100644
--- a/n/avr/proto/proto.h
+++ b/n/avr/proto/proto.h
@@ -26,49 +26,28 @@
#include <inttypes.h>
-typedef AC_PROTO_ARG_TYPE proto_arg_t;
-
-/** Protocol callback type. Take the command and the arguments. */
-typedef void (*proto_cb_f) (uint8_t cmd, uint8_t argc, proto_arg_t argv[]);
+/** Protocol callback function. Take the command and the arguments. Must be
+ * defined by the user. */
+void
+proto_callback (uint8_t cmd, uint8_t size, uint8_t *args);
-/** Protocol putc function type. Take a char to send. */
-typedef void (*proto_putc_f) (uint8_t c);
+/** Protocol putc function. Take a char to send. Must be defined by the
+ * user. */
+void
+proto_putc (uint8_t c);
/* +AutoDec */
-/** Initialize and set the callback function. */
-void
-proto_init (proto_cb_f f_cb, proto_putc_f f_putc);
-
/** Accept a new character. */
void
proto_accept (uint8_t c);
/** Send a command, generic function. */
void
-proto_send (uint8_t cmd, uint8_t argc, proto_arg_t *argv);
-
-/** Send a command, no arg. */
-void
-proto_send0 (uint8_t cmd);
-
-/** Send a command, one arg. */
-void
-proto_send1 (uint8_t cmd, proto_arg_t a0);
-
-/** Send a command, two arg. */
-void
-proto_send2 (uint8_t cmd, proto_arg_t a0, proto_arg_t a1);
-
-/** Send a command, three arg. */
-void
-proto_send3 (uint8_t cmd, proto_arg_t a0, proto_arg_t a1, proto_arg_t a2);
-
-/** Send a command, four arg. */
-void
-proto_send4 (uint8_t cmd, proto_arg_t a0, proto_arg_t a1, proto_arg_t a2,
- proto_arg_t a3);
+proto_send (uint8_t cmd, uint8_t size, uint8_t *args);
/* -AutoDec */
+#include "proto_inline.c"
+
#endif /* proto_h */