@ -41,6 +41,9 @@ int main(int argc, char **argv)
|
||||
while (1)
|
||||
{
|
||||
usb_poll();
|
||||
if (cdc_connected()) {
|
||||
tester_poll();
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
5
sw/src/tester.c
Normal file
5
sw/src/tester.c
Normal file
@ -0,0 +1,5 @@
|
||||
#include <tester.h>
|
||||
|
||||
void tester_poll(void) {
|
||||
return;
|
||||
}
|
13
sw/src/usb-cdc.c
Normal file
13
sw/src/usb-cdc.c
Normal file
@ -0,0 +1,13 @@
|
||||
#include <usb-cdc.h>
|
||||
|
||||
static int connected = 0;
|
||||
|
||||
int cdc_connected(void)
|
||||
{
|
||||
return connected;
|
||||
}
|
||||
|
||||
void cdc_set_connected(int is_connected)
|
||||
{
|
||||
connected = is_connected;
|
||||
}
|
@ -3,6 +3,7 @@
|
||||
#include <usb.h>
|
||||
|
||||
#include <usb-desc.h>
|
||||
#include <usb-cdc.h>
|
||||
|
||||
static uint8_t reply_buffer[8];
|
||||
static uint8_t usb_configuration = 0;
|
||||
@ -15,6 +16,14 @@ void usb_setup(const struct usb_setup_request *setup)
|
||||
|
||||
switch (setup->wRequestAndType)
|
||||
{
|
||||
|
||||
case 0x2021: // Set Line Coding
|
||||
break;
|
||||
|
||||
case 0x2221: // Set control line state
|
||||
cdc_set_connected(setup->wValue & 1); /* Check RTS bit */
|
||||
break;
|
||||
|
||||
case 0x0500: // SET_ADDRESS
|
||||
case 0x0b01: // SET_INTERFACE
|
||||
break;
|
||||
|
Reference in New Issue
Block a user