#include "rc_proto.h"
#include "main.h"
#include "cmdline.h"
+#include "beep.h"
/* commands_gen.c */
extern const parse_inst_t PROGMEM cmd_reset;
},
};
+
+/**********************************************************/
+
+/* this structure is filled when cmd_beep is parsed successfully */
+struct cmd_beep_result {
+ fixed_string_t beep;
+};
+
+/* function called when cmd_beep is parsed successfully */
+static void cmd_beep_parsed(void *parsed_result, void *data)
+{
+ (void)parsed_result;
+ (void)data;
+
+ beep(0, 3, 3);
+ beep(1, 3, 3);
+ beep(2, 3, 3);
+ beep(0, 1, 1);
+ beep(1, 1, 1);
+ beep(2, 1, 1);
+}
+
+const char PROGMEM str_beep[] = "beep";
+const parse_token_string_t PROGMEM cmd_beep_beep =
+ TOKEN_STRING_INITIALIZER(struct cmd_beep_result, beep,
+ str_beep);
+
+const char PROGMEM help_beep[] = "Send a beep";
+
+const parse_inst_t PROGMEM cmd_beep = {
+ .f = cmd_beep_parsed, /* function to call */
+ .data = NULL, /* 2nd arg of func */
+ .help_str = help_beep,
+ .tokens = { /* token list, NULL terminated */
+ (PGM_P)&cmd_beep_beep,
+ NULL,
+ },
+};
+
/**********************************************************/
/* this structure is filled when cmd_servo is parsed successfully */
static void cmd_servo_parsed(void * parsed_result, void *data)
{
struct cmd_servo_result *res = parsed_result;
- uint8_t i;
(void)data;
spi_servo_set_ppm(!!res->val);
}
else if (!strcmp_P(res->arg1, PSTR("show"))) {
- for (i = 0; i < 6; i++)
- printf_P(PSTR("%d: %d\r\n"), i, spi_servo_get(i));
- printf_P(PSTR("bypass=%d ppm=%d\n"),
- spi_servo_get_bypass(), spi_servo_get_ppm());
- printf_P(PSTR("\r\n"));
+ spi_servo_dump();
}
}
spi_servo_set(i, val);
wait_ms(wait_time);
-
- for (i = 0; i < 6; i++)
- printf_P(PSTR("%d: %d\r\n"), i, spi_servo_get(i));
- printf_P(PSTR("\r\n"));
+ printf_P(PSTR("%4.4d %4.4d %4.4d %4.4d %4.4d %4.4d\r\n"),
+ spi_servo_get(0), spi_servo_get(1), spi_servo_get(2),
+ spi_servo_get(3), spi_servo_get(4), spi_servo_get(5));
}
printf_P(PSTR("bypass mode, with spi commands in background\r\n"));
spi_servo_set(i, val);
wait_ms(wait_time);
-
- for (i = 0; i < 6; i++)
- printf_P(PSTR("%d: %d\r\n"), i, spi_servo_get(i));
- printf_P(PSTR("\r\n"));
+ printf_P(PSTR("%4.4d %4.4d %4.4d %4.4d %4.4d %4.4d\r\n"),
+ spi_servo_get(0), spi_servo_get(1), spi_servo_get(2),
+ spi_servo_get(3), spi_servo_get(4), spi_servo_get(5));
}
printf_P(PSTR("PPM to servo\r\n"));
&cmd_dump,
&cmd_debug,
&cmd_baudrate,
+ &cmd_beep,
&cmd_servo_set,
&cmd_servo_bypassppm,
&cmd_servo_show,