Skip to content

Commit 212c192

Browse files
authored
Merge pull request arduino#114 from hathach/adafruit-tinyusb
sync with master
2 parents f36d409 + 0f22c47 commit 212c192

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+429
-537
lines changed

boards.txt

Lines changed: 2 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
menu.cache=Cache
1818
menu.speed=CPU Speed
1919
menu.opt=Optimize
20-
menu.maxspi=Max SPI
2120
menu.maxqspi=Max QSPI
2221
menu.usbstack=USB Stack
2322

@@ -28,6 +27,8 @@ adafruit_feather_m0.vid.0=0x239A
2827
adafruit_feather_m0.pid.0=0x800B
2928
adafruit_feather_m0.vid.1=0x239A
3029
adafruit_feather_m0.pid.1=0x000B
30+
adafruit_feather_m0.vid.2=0x239A
31+
adafruit_feather_m0.pid.2=0x0015
3132
adafruit_feather_m0.upload.tool=bossac
3233
adafruit_feather_m0.upload.protocol=sam-ba
3334
adafruit_feather_m0.upload.maximum_size=262144
@@ -362,12 +363,6 @@ adafruit_metro_m4.menu.opt.fast=Fast (-O2)
362363
adafruit_metro_m4.menu.opt.fast.build.flags.optimize=-O2
363364
adafruit_metro_m4.menu.opt.dragons=Here be dragons (-Ofast -funroll-loops)
364365
adafruit_metro_m4.menu.opt.dragons.build.flags.optimize=-Ofast -funroll-loops
365-
adafruit_metro_m4.menu.maxspi.24=24 MHz (standard)
366-
adafruit_metro_m4.menu.maxspi.24.build.flags.maxspi=-DMAX_SPI=24000000
367-
adafruit_metro_m4.menu.maxspi.50=50 MHz
368-
adafruit_metro_m4.menu.maxspi.50.build.flags.maxspi=-DMAX_SPI=50000000
369-
adafruit_metro_m4.menu.maxspi.fcpu2=CPU Speed / 2
370-
adafruit_metro_m4.menu.maxspi.fcpu2.build.flags.maxspi=-DMAX_SPI=({build.f_cpu}/2)
371366
adafruit_metro_m4.menu.maxqspi.50=50 MHz (standard)
372367
adafruit_metro_m4.menu.maxqspi.50.build.flags.maxqspi=-DVARIANT_QSPI_BAUD_DEFAULT=50000000
373368
adafruit_metro_m4.menu.maxqspi.fcpu=CPU Speed / 2
@@ -426,12 +421,6 @@ adafruit_grandcentral_m4.menu.opt.fast=Fast (-O2)
426421
adafruit_grandcentral_m4.menu.opt.fast.build.flags.optimize=-O2
427422
adafruit_grandcentral_m4.menu.opt.dragons=Here be dragons (-Ofast -funroll-loops)
428423
adafruit_grandcentral_m4.menu.opt.dragons.build.flags.optimize=-Ofast -funroll-loops
429-
adafruit_grandcentral_m4.menu.maxspi.24=24 MHz (standard)
430-
adafruit_grandcentral_m4.menu.maxspi.24.build.flags.maxspi=-DMAX_SPI=24000000
431-
adafruit_grandcentral_m4.menu.maxspi.50=50 MHz
432-
adafruit_grandcentral_m4.menu.maxspi.50.build.flags.maxspi=-DMAX_SPI=50000000
433-
adafruit_grandcentral_m4.menu.maxspi.fcpu2=CPU Speed / 2
434-
adafruit_grandcentral_m4.menu.maxspi.fcpu2.build.flags.maxspi=-DMAX_SPI=({build.f_cpu}/2)
435424
adafruit_grandcentral_m4.menu.maxqspi.50=50 MHz (standard)
436425
adafruit_grandcentral_m4.menu.maxqspi.50.build.flags.maxqspi=-DVARIANT_QSPI_BAUD_DEFAULT=50000000
437426
adafruit_grandcentral_m4.menu.maxqspi.fcpu=CPU Speed / 2
@@ -488,12 +477,6 @@ adafruit_itsybitsy_m4.menu.opt.fast=Fast (-O2)
488477
adafruit_itsybitsy_m4.menu.opt.fast.build.flags.optimize=-O2
489478
adafruit_itsybitsy_m4.menu.opt.dragons=Here be dragons (-Ofast -funroll-loops)
490479
adafruit_itsybitsy_m4.menu.opt.dragons.build.flags.optimize=-Ofast -funroll-loops
491-
adafruit_itsybitsy_m4.menu.maxspi.24=24 MHz (standard)
492-
adafruit_itsybitsy_m4.menu.maxspi.24.build.flags.maxspi=-DMAX_SPI=24000000
493-
adafruit_itsybitsy_m4.menu.maxspi.50=50 MHz
494-
adafruit_itsybitsy_m4.menu.maxspi.50.build.flags.maxspi=-DMAX_SPI=50000000
495-
adafruit_itsybitsy_m4.menu.maxspi.fcpu2=CPU Speed / 2
496-
adafruit_itsybitsy_m4.menu.maxspi.fcpu2.build.flags.maxspi=-DMAX_SPI=({build.f_cpu}/2)
497480
adafruit_itsybitsy_m4.menu.maxqspi.50=50 MHz (standard)
498481
adafruit_itsybitsy_m4.menu.maxqspi.50.build.flags.maxqspi=-DVARIANT_QSPI_BAUD_DEFAULT=50000000
499482
adafruit_itsybitsy_m4.menu.maxqspi.fcpu=CPU Speed / 2
@@ -550,12 +533,6 @@ adafruit_feather_m4.menu.opt.fast=Fast (-O2)
550533
adafruit_feather_m4.menu.opt.fast.build.flags.optimize=-O2
551534
adafruit_feather_m4.menu.opt.dragons=Here be dragons (-Ofast -funroll-loops)
552535
adafruit_feather_m4.menu.opt.dragons.build.flags.optimize=-Ofast -funroll-loops
553-
adafruit_feather_m4.menu.maxspi.24=24 MHz (standard)
554-
adafruit_feather_m4.menu.maxspi.24.build.flags.maxspi=-DMAX_SPI=24000000
555-
adafruit_feather_m4.menu.maxspi.50=50 MHz
556-
adafruit_feather_m4.menu.maxspi.50.build.flags.maxspi=-DMAX_SPI=50000000
557-
adafruit_feather_m4.menu.maxspi.fcpu2=CPU Speed / 2
558-
adafruit_feather_m4.menu.maxspi.fcpu2.build.flags.maxspi=-DMAX_SPI=({build.f_cpu}/2)
559536
adafruit_feather_m4.menu.maxqspi.50=50 MHz (standard)
560537
adafruit_feather_m4.menu.maxqspi.50.build.flags.maxqspi=-DVARIANT_QSPI_BAUD_DEFAULT=50000000
561538
adafruit_feather_m4.menu.maxqspi.fcpu=CPU Speed / 2
@@ -649,12 +626,6 @@ adafruit_trellis_m4.menu.opt.fast=Fast (-O2)
649626
adafruit_trellis_m4.menu.opt.fast.build.flags.optimize=-O2
650627
adafruit_trellis_m4.menu.opt.dragons=Here be dragons (-Ofast -funroll-loops)
651628
adafruit_trellis_m4.menu.opt.dragons.build.flags.optimize=-Ofast -funroll-loops
652-
adafruit_trellis_m4.menu.maxspi.24=24 MHz (standard)
653-
adafruit_trellis_m4.menu.maxspi.24.build.flags.maxspi=-DMAX_SPI=24000000
654-
adafruit_trellis_m4.menu.maxspi.50=50 MHz
655-
adafruit_trellis_m4.menu.maxspi.50.build.flags.maxspi=-DMAX_SPI=50000000
656-
adafruit_trellis_m4.menu.maxspi.fcpu2=CPU Speed / 2
657-
adafruit_trellis_m4.menu.maxspi.fcpu2.build.flags.maxspi=-DMAX_SPI=({build.f_cpu}/2)
658629
adafruit_trellis_m4.menu.maxqspi.50=50 MHz (standard)
659630
adafruit_trellis_m4.menu.maxqspi.50.build.flags.maxqspi=-DVARIANT_QSPI_BAUD_DEFAULT=50000000
660631
adafruit_trellis_m4.menu.maxqspi.fcpu=CPU Speed / 2
@@ -746,12 +717,6 @@ adafruit_pyportal_m4.menu.opt.fast=Fast (-O2)
746717
adafruit_pyportal_m4.menu.opt.fast.build.flags.optimize=-O2
747718
adafruit_pyportal_m4.menu.opt.dragons=Here be dragons (-Ofast -funroll-loops)
748719
adafruit_pyportal_m4.menu.opt.dragons.build.flags.optimize=-Ofast -funroll-loops
749-
adafruit_pyportal_m4.menu.maxspi.24=24 MHz (standard)
750-
adafruit_pyportal_m4.menu.maxspi.24.build.flags.maxspi=-DMAX_SPI=24000000
751-
adafruit_pyportal_m4.menu.maxspi.50=50 MHz
752-
adafruit_pyportal_m4.menu.maxspi.50.build.flags.maxspi=-DMAX_SPI=50000000
753-
adafruit_pyportal_m4.menu.maxspi.fcpu2=CPU Speed / 2
754-
adafruit_pyportal_m4.menu.maxspi.fcpu2.build.flags.maxspi=-DMAX_SPI=({build.f_cpu}/2)
755720
adafruit_pyportal_m4.menu.maxqspi.50=50 MHz (standard)
756721
adafruit_pyportal_m4.menu.maxqspi.50.build.flags.maxqspi=-DVARIANT_QSPI_BAUD_DEFAULT=50000000
757722
adafruit_pyportal_m4.menu.maxqspi.fcpu=CPU Speed / 2
@@ -810,12 +775,6 @@ adafruit_pybadge_m4.menu.opt.fast=Fast (-O2)
810775
adafruit_pybadge_m4.menu.opt.fast.build.flags.optimize=-O2
811776
adafruit_pybadge_m4.menu.opt.dragons=Here be dragons (-Ofast -funroll-loops)
812777
adafruit_pybadge_m4.menu.opt.dragons.build.flags.optimize=-Ofast -funroll-loops
813-
adafruit_pybadge_m4.menu.maxspi.24=24 MHz (standard)
814-
adafruit_pybadge_m4.menu.maxspi.24.build.flags.maxspi=-DMAX_SPI=24000000
815-
adafruit_pybadge_m4.menu.maxspi.50=50 MHz
816-
adafruit_pybadge_m4.menu.maxspi.50.build.flags.maxspi=-DMAX_SPI=50000000
817-
adafruit_pybadge_m4.menu.maxspi.fcpu2=CPU Speed / 2
818-
adafruit_pybadge_m4.menu.maxspi.fcpu2.build.flags.maxspi=-DMAX_SPI=({build.f_cpu}/2)
819778
adafruit_pybadge_m4.menu.maxqspi.50=50 MHz (standard)
820779
adafruit_pybadge_m4.menu.maxqspi.50.build.flags.maxqspi=-DVARIANT_QSPI_BAUD_DEFAULT=50000000
821780
adafruit_pybadge_m4.menu.maxqspi.fcpu=CPU Speed / 2
@@ -873,12 +832,6 @@ adafruit_metro_m4_airliftlite.menu.opt.fast=Fast (-O2)
873832
adafruit_metro_m4_airliftlite.menu.opt.fast.build.flags.optimize=-O2
874833
adafruit_metro_m4_airliftlite.menu.opt.dragons=Here be dragons (-Ofast -funroll-loops)
875834
adafruit_metro_m4_airliftlite.menu.opt.dragons.build.flags.optimize=-Ofast -funroll-loops
876-
adafruit_metro_m4_airliftlite.menu.maxspi.24=24 MHz (standard)
877-
adafruit_metro_m4_airliftlite.menu.maxspi.24.build.flags.maxspi=-DMAX_SPI=24000000
878-
adafruit_metro_m4_airliftlite.menu.maxspi.50=50 MHz
879-
adafruit_metro_m4_airliftlite.menu.maxspi.50.build.flags.maxspi=-DMAX_SPI=50000000
880-
adafruit_metro_m4_airliftlite.menu.maxspi.fcpu2=CPU Speed / 2
881-
adafruit_metro_m4_airliftlite.menu.maxspi.fcpu2.build.flags.maxspi=-DMAX_SPI=({build.f_cpu}/2)
882835
adafruit_metro_m4_airliftlite.menu.maxqspi.50=50 MHz (standard)
883836
adafruit_metro_m4_airliftlite.menu.maxqspi.50.build.flags.maxqspi=-DVARIANT_QSPI_BAUD_DEFAULT=50000000
884837
adafruit_metro_m4_airliftlite.menu.maxqspi.fcpu=CPU Speed / 2
@@ -937,12 +890,6 @@ adafruit_pygamer_m4.menu.opt.fast=Fast (-O2)
937890
adafruit_pygamer_m4.menu.opt.fast.build.flags.optimize=-O2
938891
adafruit_pygamer_m4.menu.opt.dragons=Here be dragons (-Ofast -funroll-loops)
939892
adafruit_pygamer_m4.menu.opt.dragons.build.flags.optimize=-Ofast -funroll-loops
940-
adafruit_pygamer_m4.menu.maxspi.24=24 MHz (standard)
941-
adafruit_pygamer_m4.menu.maxspi.24.build.flags.maxspi=-DMAX_SPI=24000000
942-
adafruit_pygamer_m4.menu.maxspi.50=50 MHz
943-
adafruit_pygamer_m4.menu.maxspi.50.build.flags.maxspi=-DMAX_SPI=50000000
944-
adafruit_pygamer_m4.menu.maxspi.fcpu2=CPU Speed / 2
945-
adafruit_pygamer_m4.menu.maxspi.fcpu2.build.flags.maxspi=-DMAX_SPI=({build.f_cpu}/2)
946893
adafruit_pygamer_m4.menu.maxqspi.50=50 MHz (standard)
947894
adafruit_pygamer_m4.menu.maxqspi.50.build.flags.maxqspi=-DVARIANT_QSPI_BAUD_DEFAULT=50000000
948895
adafruit_pygamer_m4.menu.maxqspi.fcpu=CPU Speed / 2

cores/arduino/Adafruit_TinyUSB_Core/Adafruit_TinyUSB_Core.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
#include "Arduino.h"
2828
#include "Adafruit_TinyUSB_Core.h"
29+
#include <Reset.h> // Needed for auto-reset with 1200bps port touch
2930

3031
//--------------------------------------------------------------------+
3132
// MACRO TYPEDEF CONSTANT ENUM DECLARATION
@@ -124,4 +125,9 @@ void Adafruit_TinyUSB_Core_init(void)
124125
tusb_init();
125126
}
126127

128+
void Adafruit_TinyUSB_Core_touch1200(void)
129+
{
130+
initiateReset(250);
131+
}
132+
127133
#endif // USE_TINYUSB

cores/arduino/Adafruit_TinyUSB_Core/Adafruit_TinyUSB_Core.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,7 @@
3939
// Called by main.cpp to initialize usb device typically with CDC device for Serial
4040
void Adafruit_TinyUSB_Core_init(void);
4141

42+
// Invoked when host disconnects cdc at baud 1200, usually touch feature to go into DFU mode
43+
void Adafruit_TinyUSB_Core_touch1200(void);
44+
4245
#endif /* ADAFRUIT_TINYUSB_CORE_H_ */

cores/arduino/Adafruit_TinyUSB_Core/Adafruit_USBD_CDC.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@
2525
#ifdef USE_TINYUSB
2626

2727
#include "Arduino.h"
28-
#include <Reset.h> // Needed for auto-reset with 1200bps port touch
29-
3028
#include "Adafruit_USBD_CDC.h"
3129

3230
#define EPOUT 0x00
@@ -133,7 +131,7 @@ void tud_cdc_line_state_cb(uint8_t itf, bool dtr, bool rts)
133131
cdc_line_coding_t coding;
134132
tud_cdc_get_line_coding(&coding);
135133

136-
if ( coding.bit_rate == 1200 ) initiateReset(250);
134+
if ( coding.bit_rate == 1200 ) Adafruit_TinyUSB_Core_touch1200();
137135
}
138136
}
139137

cores/arduino/Adafruit_TinyUSB_Core/tinyusb/src/class/audio/audio.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* The MIT License (MIT)
33
*
4-
* Copyright (c) 2018, hathach (tinyusb.org)
4+
* Copyright (c) 2019 Ha Thach (tinyusb.org)
55
*
66
* Permission is hereby granted, free of charge, to any person obtaining a copy
77
* of this software and associated documentation files (the "Software"), to deal

cores/arduino/Adafruit_TinyUSB_Core/tinyusb/src/class/cdc/cdc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* The MIT License (MIT)
33
*
4-
* Copyright (c) 2018, hathach (tinyusb.org)
4+
* Copyright (c) 2019 Ha Thach (tinyusb.org)
55
*
66
* Permission is hereby granted, free of charge, to any person obtaining a copy
77
* of this software and associated documentation files (the "Software"), to deal

cores/arduino/Adafruit_TinyUSB_Core/tinyusb/src/class/cdc/cdc_device.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* The MIT License (MIT)
33
*
4-
* Copyright (c) 2018, hathach (tinyusb.org)
4+
* Copyright (c) 2019 Ha Thach (tinyusb.org)
55
*
66
* Permission is hereby granted, free of charge, to any person obtaining a copy
77
* of this software and associated documentation files (the "Software"), to deal
@@ -99,7 +99,7 @@ static void _prep_out_transaction (uint8_t itf)
9999
bool tud_cdc_n_connected(uint8_t itf)
100100
{
101101
// DTR (bit 0) active is considered as connected
102-
return tud_ready() && TU_BIT_TEST(_cdcd_itf[itf].line_state, 0);
102+
return tud_ready() && tu_bit_test(_cdcd_itf[itf].line_state, 0);
103103
}
104104

105105
uint8_t tud_cdc_n_get_line_state (uint8_t itf)
@@ -358,7 +358,7 @@ bool cdcd_control_request(uint8_t rhport, tusb_control_request_t const * request
358358
usbd_control_status(rhport, request);
359359

360360
// Invoke callback
361-
if ( tud_cdc_line_state_cb) tud_cdc_line_state_cb(itf, TU_BIT_TEST(request->wValue, 0), TU_BIT_TEST(request->wValue, 1));
361+
if ( tud_cdc_line_state_cb) tud_cdc_line_state_cb(itf, tu_bit_test(request->wValue, 0), tu_bit_test(request->wValue, 1));
362362
break;
363363

364364
default: return false; // stall unsupported request

cores/arduino/Adafruit_TinyUSB_Core/tinyusb/src/class/cdc/cdc_device.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* The MIT License (MIT)
33
*
4-
* Copyright (c) 2018, hathach (tinyusb.org)
4+
* Copyright (c) 2019 Ha Thach (tinyusb.org)
55
*
66
* Permission is hereby granted, free of charge, to any person obtaining a copy
77
* of this software and associated documentation files (the "Software"), to deal

cores/arduino/Adafruit_TinyUSB_Core/tinyusb/src/class/custom/custom_device.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* The MIT License (MIT)
33
*
4-
* Copyright (c) 2018, hathach (tinyusb.org)
4+
* Copyright (c) 2019 Ha Thach (tinyusb.org)
55
*
66
* Permission is hereby granted, free of charge, to any person obtaining a copy
77
* of this software and associated documentation files (the "Software"), to deal

cores/arduino/Adafruit_TinyUSB_Core/tinyusb/src/class/custom/custom_device.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* The MIT License (MIT)
33
*
4-
* Copyright (c) 2018, hathach (tinyusb.org)
4+
* Copyright (c) 2019 Ha Thach (tinyusb.org)
55
*
66
* Permission is hereby granted, free of charge, to any person obtaining a copy
77
* of this software and associated documentation files (the "Software"), to deal

0 commit comments

Comments
 (0)