This option has been selected for teledongle so that you can use slave
mode and hook two teledongles together over the RF link.
Signed-off-by: Keith Packard <keithp@keithp.com>
void
ao_packet_slave_start(void)
{
void
ao_packet_slave_start(void)
{
- ao_packet_enable = 1;
- ao_add_task(&ao_packet_task, ao_packet_slave, "slave");
+ if (!ao_packet_enable) {
+ ao_packet_enable = 1;
+ ao_add_task(&ao_packet_task, ao_packet_slave, "slave");
+ }
+#ifdef PACKET_HAS_SLAVE_CMD
+void
+ao_packet_slave_control(void)
+{
+ ao_cmd_hex();
+ if (ao_cmd_lex_i)
+ ao_packet_slave_start();
+ else
+ ao_packet_slave_stop();
+}
+
+__code struct ao_cmds ao_packet_slave_cmds[] = {
+ { 's', ao_packet_slave_control, "s <enable> Remote packet link slave" },
+ { 0, ao_packet_slave_control, NULL },
+};
+#endif
+
void
ao_packet_slave_init(void)
{
ao_add_stdio(ao_packet_pollchar,
ao_packet_putchar,
NULL);
void
ao_packet_slave_init(void)
{
ao_add_stdio(ao_packet_pollchar,
ao_packet_putchar,
NULL);
+#ifdef PACKET_HAS_SLAVE_CMD
+ ao_cmd_register(&ao_packet_slave_cmds[0]);
+#endif
#define DBG_ON_P1 1
#define DBG_ON_P0 0
#define PACKET_HAS_MASTER 1
#define DBG_ON_P1 1
#define DBG_ON_P0 0
#define PACKET_HAS_MASTER 1
- #define PACKET_HAS_SLAVE 0
+ #define PACKET_HAS_SLAVE 1
+ #define PACKET_HAS_SLAVE_CMD 1
#define AO_LED_RED 1
#define AO_LED_GREEN 2
#define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN)
#define AO_LED_RED 1
#define AO_LED_GREEN 2
#define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN)