circuitpython/teensy/usb.c
Dave Hylands ecb5792f88 Updated teensys usb.c and switched to using usb.h from stmhal.
Removed the local usb.h from teensey directory and now uses
the usb.h from the stmhal directory.
Fixed the deploy target to use abspath.
2014-08-03 10:03:02 -07:00

64 lines
1.2 KiB
C

#include <string.h>
#include <stdint.h>
#include "Arduino.h"
#include "mpconfig.h"
#include "misc.h"
#include "qstr.h"
#include "obj.h"
#include "runtime.h"
#include "usb.h"
#include "usb_serial.h"
bool usb_vcp_is_connected(void)
{
return usb_configuration && (usb_cdc_line_rtsdtr & (USB_SERIAL_DTR | USB_SERIAL_RTS));
}
bool usb_vcp_is_enabled(void)
{
return true;
}
void usb_vcp_set_interrupt_char(int c) {
// The teensy 3.1 usb stack doesn't currently have the notion of generating
// an exception when a certain character is received. That just means that
// you can't press Control-C and get your python script to stop.
}
int usb_vcp_rx_num(void) {
return usb_serial_available();
}
int usb_vcp_recv_byte(uint8_t *ptr)
{
int ch = usb_serial_getchar();
if (ch < 0) {
return 0;
}
*ptr = ch;
return 1;
}
void usb_vcp_send_str(const char* str)
{
usb_vcp_send_strn(str, strlen(str));
}
void usb_vcp_send_strn(const char* str, int len)
{
usb_serial_write(str, len);
}
void usb_vcp_send_strn_cooked(const char *str, int len)
{
for (const char *top = str + len; str < top; str++) {
if (*str == '\n') {
usb_serial_putchar('\r');
}
usb_serial_putchar(*str);
}
}