#include "main.h"
#include "cmdline.h"
-#include "DualVirtualSerial.h"
+#ifdef USE_USB
+#include "DualVirtualSerial.h"
+#endif
-/******** See in commands.c for the list of commands. */
extern parse_pgm_ctx_t main_ctx[];
-int usbserial1_dev_send(char c, FILE* f)
+int cmdline_dev_send(char c, FILE* f)
{
+#ifdef USE_USB
CDC_Device_SendByte(&VirtualSerial1_CDC_Interface, (uint8_t)c);
+#else
+ uart_send(CMDLINE_UART, c);
+#endif
return 0;
}
-int usbserial1_dev_recv(FILE* f)
+int cmdline_dev_recv(FILE* f)
{
int16_t c;
+#ifdef USE_USB
/* non-blocking ! */
c = CDC_Device_ReceiveByte(&VirtualSerial1_CDC_Interface);
+#else
+ c = uart_recv_nowait(CMDLINE_UART);
+#endif
if (c < 0)
return _FDEV_EOF;
}
-int usbserial2_dev_send(char c, FILE* f)
+int xbee_dev_send(char c, FILE* f)
{
+#ifdef USE_USB
CDC_Device_SendByte(&VirtualSerial2_CDC_Interface, (uint8_t)c);
+#else
+ uart_send(XBEE_UART, c);
+#endif
return 0;
}
-int usbserial2_dev_recv(FILE* f)
+int xbee_dev_recv(FILE* f)
{
int16_t c;
+#ifdef USE_USB
/* non-blocking ! */
c = CDC_Device_ReceiveByte(&VirtualSerial2_CDC_Interface);
+#else
+ c = uart_recv_nowait(XBEE_UART);
+#endif
if (c < 0)
return _FDEV_EOF;
return c;
}
-
static void
valid_buffer(const char *buf, uint8_t size)
{
static void write_char(char c)
{
- usbserial1_dev_send(c, NULL);
+ cmdline_dev_send(c, NULL);
}
void cmdline_init(void)
{
rdline_init(&xbeeboard.rdl, write_char, valid_buffer, complete_buffer);
- snprintf(xbeeboard.prompt, sizeof(xbeeboard.prompt), "mainboard > ");
+ snprintf_P(xbeeboard.prompt, sizeof(xbeeboard.prompt), PSTR("mainboard > "));
}
int8_t ret, same = 0;
int16_t c;
- c = CDC_Device_ReceiveByte(&VirtualSerial1_CDC_Interface);
+ c = cmdline_dev_recv(NULL);
if (c < 0)
return -1;