Skip to content

Commit c0c5485

Browse files
authored
Teensyduino 1.59 Compatibility (#35)
* Teensyduino 1.59 Compatibility * Update CI software version * Update Teensyduino version in README * Replace missing USB serialEvent declaration This was inadvertently removed upstream, although it's needed for the dummy Serial interface used by both XInput and USB_DISABLED. * Set CI matrix strategy "fail-fast" to false This property defaults to 'true', and means that if one test fails the remaining tests will halt automatically. Since each test is testing a different compilation mode / feature, I'm disabling this so we get the most information possible out of each commit on failure. * Update CI checkout action to v4 v3 uses Node.js 16 which is deprecated * Add version 2 IDE disclaimer I've had nothing but issues with the v2 IDE. Adding a disclaimer to the README to alert others to potential pitfalls.
1 parent dace7cc commit c0c5485

File tree

8 files changed

+82
-64
lines changed

8 files changed

+82
-64
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ on: [push, pull_request, workflow_dispatch]
44

55
env:
66
IDE_VERSION: 1.8.19
7-
TEENSY_VERSION: 158
7+
TEENSY_VERSION: 159
88
IDE_LOCATION: /usr/local/share/arduino
99

1010
jobs:
1111
build:
1212
runs-on: ubuntu-latest
1313

1414
strategy:
15+
fail-fast: false
1516
matrix:
1617
compilation: ['Serial: Blank Sketch', 'XInput: Blank Sketch', 'USB API Demo', 'XInput Library']
1718
include:
@@ -30,7 +31,7 @@ jobs:
3031

3132
steps:
3233
- name: Checkout
33-
uses: actions/checkout@v3
34+
uses: actions/checkout@v4
3435

3536
- name: Install Arduino IDE
3637
run: |

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This is meant to be used in conjunction with the [ArduinoXInput library](https:/
99

1010
You must have both [the Arduino IDE](https://www.arduino.cc/en/main/software) and [Teensyduino](https://www.pjrc.com/teensy/td_download.html) installed before proceeding.
1111

12-
Double-check that your installed Teensyduino version matches the files provided in this repository. This repository is currently using [**Teensyduino 1.58**](https://www.pjrc.com/teensy/td_158). You can download older versions on [the releases page](../../releases).
12+
Double-check that your installed Teensyduino version matches the files provided in this repository. This repository is currently using [**Teensyduino 1.59**](https://www.pjrc.com/teensy/td_159). You can download older versions on [the releases page](../../releases).
1313

1414
If you don't know your Teensyduino version, compile a blank sketch with a Teensy board selected and the Teensy Loader will open. In the Teensy Loader window select `Help -> About` and it will tell you the version number. If your version does not match you will have to reinstall or update the Teensyduino software.
1515

@@ -37,6 +37,8 @@ For IDE version 2.x the Teensy hardware files are located in your application da
3737

3838
Where `{version}` is the installed version number of the Teensyduino software.
3939

40+
Version 2 of the IDE is reported to have issues with caching board files, which may prevent this project from loading or functioning properly. Consider using the version 1 IDE if you run into problems with installation.
41+
4042
## Supported Boards
4143

4244
* [Teensy 3.6](https://www.pjrc.com/store/teensy36.html)

teensy/avr/boards.txt

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ teensy41.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdl
4141
teensy41.build.flags.dep=-MMD
4242
teensy41.build.flags.optimize=-Os
4343
teensy41.build.flags.cpu=-mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16
44-
teensy41.build.flags.defs=-D__IMXRT1062__ -DTEENSYDUINO=158
45-
teensy41.build.flags.cpp=-std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing
44+
teensy41.build.flags.defs=-D__IMXRT1062__ -DTEENSYDUINO=159
45+
teensy41.build.flags.cpp=-std=gnu++17 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing
4646
teensy41.build.flags.c=
4747
teensy41.build.flags.S=-x assembler-with-cpp
4848
teensy41.build.flags.libs=-larm_cortexM7lfsp_math -lm -lstdc++
@@ -157,24 +157,24 @@ teensy41.menu.speed.24.build.fcpu=24000000
157157
teensy41.menu.opt.o2std=Faster
158158
teensy41.menu.opt.o2std.build.flags.optimize=-O2
159159
teensy41.menu.opt.o2std.build.flags.ldspecs=
160-
#teensy41.menu.opt.o2lto=Faster with LTO
161-
#teensy41.menu.opt.o2lto.build.flags.optimize=-O2 -flto -fno-fat-lto-objects
162-
#teensy41.menu.opt.o2lto.build.flags.ldspecs=-fuse-linker-plugin
160+
teensy41.menu.opt.o2lto=Faster with LTO
161+
teensy41.menu.opt.o2lto.build.flags.optimize=-O2 -flto -fno-fat-lto-objects
162+
teensy41.menu.opt.o2lto.build.flags.ldspecs=-fuse-linker-plugin
163163
teensy41.menu.opt.o1std=Fast
164164
teensy41.menu.opt.o1std.build.flags.optimize=-O1
165165
teensy41.menu.opt.o1std.build.flags.ldspecs=
166-
#teensy41.menu.opt.o1lto=Fast with LTO
167-
#teensy41.menu.opt.o1lto.build.flags.optimize=-O1 -flto -fno-fat-lto-objects
168-
#teensy41.menu.opt.o1lto.build.flags.ldspecs=-fuse-linker-plugin
166+
teensy41.menu.opt.o1lto=Fast with LTO
167+
teensy41.menu.opt.o1lto.build.flags.optimize=-O1 -flto -fno-fat-lto-objects
168+
teensy41.menu.opt.o1lto.build.flags.ldspecs=-fuse-linker-plugin
169169
teensy41.menu.opt.o3std=Fastest
170170
teensy41.menu.opt.o3std.build.flags.optimize=-O3
171171
teensy41.menu.opt.o3std.build.flags.ldspecs=
172172
#teensy41.menu.opt.o3purestd=Fastest + pure-code
173173
#teensy41.menu.opt.o3purestd.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__
174174
#teensy41.menu.opt.o3purestd.build.flags.ldspecs=
175-
#teensy41.menu.opt.o3lto=Fastest with LTO
176-
#teensy41.menu.opt.o3lto.build.flags.optimize=-O3 -flto -fno-fat-lto-objects
177-
#teensy41.menu.opt.o3lto.build.flags.ldspecs=-fuse-linker-plugin
175+
teensy41.menu.opt.o3lto=Fastest with LTO
176+
teensy41.menu.opt.o3lto.build.flags.optimize=-O3 -flto -fno-fat-lto-objects
177+
teensy41.menu.opt.o3lto.build.flags.ldspecs=-fuse-linker-plugin
178178
#teensy41.menu.opt.o3purelto=Fastest + pure-code with LTO
179179
#teensy41.menu.opt.o3purelto.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__ -flto -fno-fat-lto-objects
180180
#teensy41.menu.opt.o3purelto.build.flags.ldspecs=-fuse-linker-plugin
@@ -187,9 +187,9 @@ teensy41.menu.opt.ogstd.build.flags.ldspecs=
187187
teensy41.menu.opt.osstd=Smallest Code
188188
teensy41.menu.opt.osstd.build.flags.optimize=-Os --specs=nano.specs
189189
teensy41.menu.opt.osstd.build.flags.ldspecs=
190-
#teensy41.menu.opt.oslto=Smallest Code with LTO
191-
#teensy41.menu.opt.oslto.build.flags.optimize=-Os -flto -fno-fat-lto-objects --specs=nano.specs
192-
#teensy41.menu.opt.oslto.build.flags.ldspecs=-fuse-linker-plugin
190+
teensy41.menu.opt.oslto=Smallest Code with LTO
191+
teensy41.menu.opt.oslto.build.flags.optimize=-Os -flto -fno-fat-lto-objects --specs=nano.specs
192+
teensy41.menu.opt.oslto.build.flags.ldspecs=-fuse-linker-plugin
193193

194194
teensy41.menu.keys.en-us=US English
195195
teensy41.menu.keys.en-us.build.keylayout=US_ENGLISH
@@ -271,8 +271,8 @@ teensyMM.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdl
271271
teensyMM.build.flags.dep=-MMD
272272
teensyMM.build.flags.optimize=-Os
273273
teensyMM.build.flags.cpu=-mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16
274-
teensyMM.build.flags.defs=-D__IMXRT1062__ -DTEENSYDUINO=158
275-
teensyMM.build.flags.cpp=-std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing
274+
teensyMM.build.flags.defs=-D__IMXRT1062__ -DTEENSYDUINO=159
275+
teensyMM.build.flags.cpp=-std=gnu++17 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing
276276
teensyMM.build.flags.c=
277277
teensyMM.build.flags.S=-x assembler-with-cpp
278278
teensyMM.build.flags.libs=-larm_cortexM7lfsp_math -lm -lstdc++
@@ -387,24 +387,24 @@ teensyMM.menu.speed.24.build.fcpu=24000000
387387
teensyMM.menu.opt.o2std=Faster
388388
teensyMM.menu.opt.o2std.build.flags.optimize=-O2
389389
teensyMM.menu.opt.o2std.build.flags.ldspecs=
390-
#teensyMM.menu.opt.o2lto=Faster with LTO
391-
#teensyMM.menu.opt.o2lto.build.flags.optimize=-O2 -flto -fno-fat-lto-objects
392-
#teensyMM.menu.opt.o2lto.build.flags.ldspecs=-fuse-linker-plugin
390+
teensyMM.menu.opt.o2lto=Faster with LTO
391+
teensyMM.menu.opt.o2lto.build.flags.optimize=-O2 -flto -fno-fat-lto-objects
392+
teensyMM.menu.opt.o2lto.build.flags.ldspecs=-fuse-linker-plugin
393393
teensyMM.menu.opt.o1std=Fast
394394
teensyMM.menu.opt.o1std.build.flags.optimize=-O1
395395
teensyMM.menu.opt.o1std.build.flags.ldspecs=
396-
#teensyMM.menu.opt.o1lto=Fast with LTO
397-
#teensyMM.menu.opt.o1lto.build.flags.optimize=-O1 -flto -fno-fat-lto-objects
398-
#teensyMM.menu.opt.o1lto.build.flags.ldspecs=-fuse-linker-plugin
396+
teensyMM.menu.opt.o1lto=Fast with LTO
397+
teensyMM.menu.opt.o1lto.build.flags.optimize=-O1 -flto -fno-fat-lto-objects
398+
teensyMM.menu.opt.o1lto.build.flags.ldspecs=-fuse-linker-plugin
399399
teensyMM.menu.opt.o3std=Fastest
400400
teensyMM.menu.opt.o3std.build.flags.optimize=-O3
401401
teensyMM.menu.opt.o3std.build.flags.ldspecs=
402402
#teensyMM.menu.opt.o3purestd=Fastest + pure-code
403403
#teensyMM.menu.opt.o3purestd.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__
404404
#teensyMM.menu.opt.o3purestd.build.flags.ldspecs=
405-
#teensyMM.menu.opt.o3lto=Fastest with LTO
406-
#teensyMM.menu.opt.o3lto.build.flags.optimize=-O3 -flto -fno-fat-lto-objects
407-
#teensyMM.menu.opt.o3lto.build.flags.ldspecs=-fuse-linker-plugin
405+
teensyMM.menu.opt.o3lto=Fastest with LTO
406+
teensyMM.menu.opt.o3lto.build.flags.optimize=-O3 -flto -fno-fat-lto-objects
407+
teensyMM.menu.opt.o3lto.build.flags.ldspecs=-fuse-linker-plugin
408408
#teensyMM.menu.opt.o3purelto=Fastest + pure-code with LTO
409409
#teensyMM.menu.opt.o3purelto.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__ -flto -fno-fat-lto-objects
410410
#teensyMM.menu.opt.o3purelto.build.flags.ldspecs=-fuse-linker-plugin
@@ -417,9 +417,9 @@ teensyMM.menu.opt.ogstd.build.flags.ldspecs=
417417
teensyMM.menu.opt.osstd=Smallest Code
418418
teensyMM.menu.opt.osstd.build.flags.optimize=-Os --specs=nano.specs
419419
teensyMM.menu.opt.osstd.build.flags.ldspecs=
420-
#teensyMM.menu.opt.oslto=Smallest Code with LTO
421-
#teensyMM.menu.opt.oslto.build.flags.optimize=-Os -flto -fno-fat-lto-objects --specs=nano.specs
422-
#teensyMM.menu.opt.oslto.build.flags.ldspecs=-fuse-linker-plugin
420+
teensyMM.menu.opt.oslto=Smallest Code with LTO
421+
teensyMM.menu.opt.oslto.build.flags.optimize=-Os -flto -fno-fat-lto-objects --specs=nano.specs
422+
teensyMM.menu.opt.oslto.build.flags.ldspecs=-fuse-linker-plugin
423423

424424
teensyMM.menu.keys.en-us=US English
425425
teensyMM.menu.keys.en-us.build.keylayout=US_ENGLISH
@@ -501,8 +501,8 @@ teensy40.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdl
501501
teensy40.build.flags.dep=-MMD
502502
teensy40.build.flags.optimize=-Os
503503
teensy40.build.flags.cpu=-mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16
504-
teensy40.build.flags.defs=-D__IMXRT1062__ -DTEENSYDUINO=158
505-
teensy40.build.flags.cpp=-std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing
504+
teensy40.build.flags.defs=-D__IMXRT1062__ -DTEENSYDUINO=159
505+
teensy40.build.flags.cpp=-std=gnu++17 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing
506506
teensy40.build.flags.c=
507507
teensy40.build.flags.S=-x assembler-with-cpp
508508
teensy40.build.flags.libs=-larm_cortexM7lfsp_math -lm -lstdc++
@@ -617,24 +617,24 @@ teensy40.menu.speed.24.build.fcpu=24000000
617617
teensy40.menu.opt.o2std=Faster
618618
teensy40.menu.opt.o2std.build.flags.optimize=-O2
619619
teensy40.menu.opt.o2std.build.flags.ldspecs=
620-
#teensy40.menu.opt.o2lto=Faster with LTO
621-
#teensy40.menu.opt.o2lto.build.flags.optimize=-O2 -flto -fno-fat-lto-objects
622-
#teensy40.menu.opt.o2lto.build.flags.ldspecs=-fuse-linker-plugin
620+
teensy40.menu.opt.o2lto=Faster with LTO
621+
teensy40.menu.opt.o2lto.build.flags.optimize=-O2 -flto -fno-fat-lto-objects
622+
teensy40.menu.opt.o2lto.build.flags.ldspecs=-fuse-linker-plugin
623623
teensy40.menu.opt.o1std=Fast
624624
teensy40.menu.opt.o1std.build.flags.optimize=-O1
625625
teensy40.menu.opt.o1std.build.flags.ldspecs=
626-
#teensy40.menu.opt.o1lto=Fast with LTO
627-
#teensy40.menu.opt.o1lto.build.flags.optimize=-O1 -flto -fno-fat-lto-objects
628-
#teensy40.menu.opt.o1lto.build.flags.ldspecs=-fuse-linker-plugin
626+
teensy40.menu.opt.o1lto=Fast with LTO
627+
teensy40.menu.opt.o1lto.build.flags.optimize=-O1 -flto -fno-fat-lto-objects
628+
teensy40.menu.opt.o1lto.build.flags.ldspecs=-fuse-linker-plugin
629629
teensy40.menu.opt.o3std=Fastest
630630
teensy40.menu.opt.o3std.build.flags.optimize=-O3
631631
teensy40.menu.opt.o3std.build.flags.ldspecs=
632632
#teensy40.menu.opt.o3purestd=Fastest + pure-code
633633
#teensy40.menu.opt.o3purestd.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__
634634
#teensy40.menu.opt.o3purestd.build.flags.ldspecs=
635-
#teensy40.menu.opt.o3lto=Fastest with LTO
636-
#teensy40.menu.opt.o3lto.build.flags.optimize=-O3 -flto -fno-fat-lto-objects
637-
#teensy40.menu.opt.o3lto.build.flags.ldspecs=-fuse-linker-plugin
635+
teensy40.menu.opt.o3lto=Fastest with LTO
636+
teensy40.menu.opt.o3lto.build.flags.optimize=-O3 -flto -fno-fat-lto-objects
637+
teensy40.menu.opt.o3lto.build.flags.ldspecs=-fuse-linker-plugin
638638
#teensy40.menu.opt.o3purelto=Fastest + pure-code with LTO
639639
#teensy40.menu.opt.o3purelto.build.flags.optimize=-O3 -mpure-code -D__PURE_CODE__ -flto -fno-fat-lto-objects
640640
#teensy40.menu.opt.o3purelto.build.flags.ldspecs=-fuse-linker-plugin
@@ -647,9 +647,9 @@ teensy40.menu.opt.ogstd.build.flags.ldspecs=
647647
teensy40.menu.opt.osstd=Smallest Code
648648
teensy40.menu.opt.osstd.build.flags.optimize=-Os --specs=nano.specs
649649
teensy40.menu.opt.osstd.build.flags.ldspecs=
650-
#teensy40.menu.opt.oslto=Smallest Code with LTO
651-
#teensy40.menu.opt.oslto.build.flags.optimize=-Os -flto -fno-fat-lto-objects --specs=nano.specs
652-
#teensy40.menu.opt.oslto.build.flags.ldspecs=-fuse-linker-plugin
650+
teensy40.menu.opt.oslto=Smallest Code with LTO
651+
teensy40.menu.opt.oslto.build.flags.optimize=-Os -flto -fno-fat-lto-objects --specs=nano.specs
652+
teensy40.menu.opt.oslto.build.flags.ldspecs=-fuse-linker-plugin
653653

654654
teensy40.menu.keys.en-us=US English
655655
teensy40.menu.keys.en-us.build.keylayout=US_ENGLISH
@@ -727,8 +727,8 @@ teensy36.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdl
727727
teensy36.build.flags.dep=-MMD
728728
teensy36.build.flags.optimize=-Os
729729
teensy36.build.flags.cpu=-mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant
730-
teensy36.build.flags.defs=-D__MK66FX1M0__ -DTEENSYDUINO=158
731-
teensy36.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti
730+
teensy36.build.flags.defs=-D__MK66FX1M0__ -DTEENSYDUINO=159
731+
teensy36.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++17 -Wno-error=narrowing -fno-rtti
732732
teensy36.build.flags.c=
733733
teensy36.build.flags.S=-x assembler-with-cpp
734734
teensy36.build.flags.ld=-Wl,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk66fx1m0.ld"
@@ -967,8 +967,8 @@ teensy35.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdl
967967
teensy35.build.flags.dep=-MMD
968968
teensy35.build.flags.optimize=-Os
969969
teensy35.build.flags.cpu=-mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant
970-
teensy35.build.flags.defs=-D__MK64FX512__ -DTEENSYDUINO=158
971-
teensy35.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti
970+
teensy35.build.flags.defs=-D__MK64FX512__ -DTEENSYDUINO=159
971+
teensy35.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++17 -Wno-error=narrowing -fno-rtti
972972
teensy35.build.flags.c=
973973
teensy35.build.flags.S=-x assembler-with-cpp
974974
teensy35.build.flags.ld=-Wl,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk64fx512.ld"
@@ -1198,8 +1198,8 @@ teensy31.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdl
11981198
teensy31.build.flags.dep=-MMD
11991199
teensy31.build.flags.optimize=-Os
12001200
teensy31.build.flags.cpu=-mthumb -mcpu=cortex-m4 -fsingle-precision-constant
1201-
teensy31.build.flags.defs=-D__MK20DX256__ -DTEENSYDUINO=158
1202-
teensy31.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti
1201+
teensy31.build.flags.defs=-D__MK20DX256__ -DTEENSYDUINO=159
1202+
teensy31.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++17 -Wno-error=narrowing -fno-rtti
12031203
teensy31.build.flags.c=
12041204
teensy31.build.flags.S=-x assembler-with-cpp
12051205
teensy31.build.flags.ld=-Wl,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk20dx256.ld"
@@ -1439,8 +1439,8 @@ teensy30.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdl
14391439
teensy30.build.flags.dep=-MMD
14401440
teensy30.build.flags.optimize=-Os
14411441
teensy30.build.flags.cpu=-mthumb -mcpu=cortex-m4 -fsingle-precision-constant
1442-
teensy30.build.flags.defs=-D__MK20DX128__ -DTEENSYDUINO=158
1443-
teensy30.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti
1442+
teensy30.build.flags.defs=-D__MK20DX128__ -DTEENSYDUINO=159
1443+
teensy30.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++17 -Wno-error=narrowing -fno-rtti
14441444
teensy30.build.flags.c=
14451445
teensy30.build.flags.S=-x assembler-with-cpp
14461446
teensy30.build.flags.ld=-Wl,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mk20dx128.ld"
@@ -1615,8 +1615,8 @@ teensyLC.build.command.size=arm-none-eabi-size
16151615
teensyLC.build.flags.common=-g -Wall -ffunction-sections -fdata-sections -nostdlib -mno-unaligned-access
16161616
teensyLC.build.flags.dep=-MMD
16171617
teensyLC.build.flags.cpu=-mthumb -mcpu=cortex-m0plus -fsingle-precision-constant
1618-
teensyLC.build.flags.defs=-D__MKL26Z64__ -DTEENSYDUINO=158
1619-
teensyLC.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti
1618+
teensyLC.build.flags.defs=-D__MKL26Z64__ -DTEENSYDUINO=159
1619+
teensyLC.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++17 -Wno-error=narrowing -fno-rtti
16201620
teensyLC.build.flags.c=
16211621
teensyLC.build.flags.S=-x assembler-with-cpp
16221622
teensyLC.build.flags.ld=-Wl,--gc-sections,--relax,--defsym=__rtc_localtime={extra.time.local} "-T{build.core.path}/mkl26z64.ld"
@@ -1790,7 +1790,7 @@ teensypp2.build.flags.common=-g -Wall -ffunction-sections -fdata-sections
17901790
teensypp2.build.flags.dep=-MMD
17911791
teensypp2.build.flags.optimize=-Os
17921792
teensypp2.build.flags.cpu=-mmcu=at90usb1286
1793-
teensypp2.build.flags.defs=-DTEENSYDUINO=158 -DARDUINO_ARCH_AVR
1793+
teensypp2.build.flags.defs=-DTEENSYDUINO=159 -DARDUINO_ARCH_AVR
17941794
teensypp2.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++11
17951795
teensypp2.build.flags.c=
17961796
teensypp2.build.flags.S=-x assembler-with-cpp
@@ -1918,7 +1918,7 @@ teensy2.build.flags.common=-g -Wall -ffunction-sections -fdata-sections
19181918
teensy2.build.flags.dep=-MMD
19191919
teensy2.build.flags.optimize=-Os
19201920
teensy2.build.flags.cpu=-mmcu=atmega32u4
1921-
teensy2.build.flags.defs=-DTEENSYDUINO=158 -DARDUINO_ARCH_AVR
1921+
teensy2.build.flags.defs=-DTEENSYDUINO=159 -DARDUINO_ARCH_AVR
19221922
teensy2.build.flags.cpp=-fno-exceptions -fpermissive -felide-constructors -std=gnu++11
19231923
teensy2.build.flags.c=
19241924
teensy2.build.flags.S=-x assembler-with-cpp

teensy/avr/cores/teensy3/WProgram.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151

5252
#ifdef __cplusplus
5353

54+
#include "inplace_function.h"
5455
#include "avr_emulation.h"
5556
#include "usb_serial.h"
5657
#include "usb_serial2.h"

teensy/avr/cores/teensy3/usb_serial.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ class usb_serial_class : public Stream
155155
size_t write(long n) { return 1; }
156156
size_t write(unsigned int n) { return 1; }
157157
size_t write(int n) { return 1; }
158-
int availableForWrite() { return 0; }
158+
virtual int availableForWrite() { return 0; }
159159
using Print::write;
160160
void send_now(void) { }
161161
uint32_t baud(void) { return 0; }

teensy/avr/cores/teensy4/WProgram.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848

4949
#ifdef __cplusplus
5050

51+
#include "inplace_function.h"
5152
#include "avr_emulation.h"
5253
#include "usb_serial.h"
5354
#include "usb_seremu.h"

teensy/avr/cores/teensy4/usb.c

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ FLASHMEM void usb_init(void)
209209
}
210210

211211

212-
FLASHMEM void _reboot_Teensyduino_(void)
212+
FLASHMEM __attribute__((noinline)) void _reboot_Teensyduino_(void)
213213
{
214214
if (!(HW_OCOTP_CFG5 & 0x02)) {
215215
asm("bkpt #251"); // run bootloader
@@ -681,6 +681,19 @@ static void endpoint0_setup(uint64_t setupdata)
681681
}
682682
break;
683683
#endif
684+
#if defined(MULTITOUCH_INTERFACE)
685+
case 0x01A1:
686+
if (setup.wValue == 0x0300 && setup.wIndex == MULTITOUCH_INTERFACE) {
687+
endpoint0_buffer[0] = MULTITOUCH_FINGERS;
688+
endpoint0_transmit(endpoint0_buffer, 1, 0);
689+
return;
690+
} else if (setup.wValue == 0x0100 && setup.wIndex == MULTITOUCH_INTERFACE) {
691+
memset(endpoint0_buffer, 0, 8);
692+
endpoint0_transmit(endpoint0_buffer, 8, 0);
693+
return;
694+
}
695+
break;
696+
#endif
684697
#if defined(MTP_INTERFACE)
685698
case 0x6421: // Cancel Request, Still Image Class 1.0, 5.2.1, page 8
686699
if (setup.wLength == 6) {

0 commit comments

Comments
 (0)