Teensy 4.1 documentation of SPI ports doesn't seem to match the Reference Manual

MarkW307

Member
I am very confused. After reviewing the Reference Manual and the color coded images on PJRC regarding the 4.1, I am unable to match up the SPI ports.
On this page, https://www.pjrc.com/store/teensy41.html, there are images of the Teensy with the SPI ports called out but they don't seem to match the manual.
For example, Pin 26 is labelled as MOSI1, but it is Pad AD_B1_14 which connects to LPSPI3 SDO (MOSI), via SW_MUX_CTL_PAD_GPIO_AD_B1_14 from page 505 of the Reference Manual. Likewise, Pin 39 (pad AD_B1_13) is shown as MISO1, but the manual shows it potentially connected to LPSPI3 as well. (Page 504).
I am using Document Number: IMXRT1060XRM Rev. 1, 05/2022.
Is there some convention of labelling for the Teensy that is there for historical reasons?
Thanks.
 
The motivation is that I am trying to connect an AD7380 to two SPI ports to take advantage of the increased data rate, but I'm having trouble determining which SPI ports are in use when an Audio Adapter and external QSPI RAM is in use.
 
Note in many of the subsystems, like, SPI, or I2C or SPI, there are often two different things.
The Arduino objects, like SPI, SPI1 and SPI2

And then there is the IMXRT object. From My own Excel document, we have SPI using pins 11-13 (and CS or two...)
1719873081774.png

And from a different page that shows the MUX settings (what each pin can do depending on what mode it is in)
1719873240006.png


From this you will see that for the SPI object we are actually using IMXRT object LPSPI4.
In the same way as the Serial1 object uses the hardware object LPUART6

And as you noticed Pin 26:
26/A12AD_B1_14FLEXSPIA_SCLKACMP_OUT02LPSPI3_SDOSAI1_TX_BCLKCSI_DATA03GPIO1_IO30USDHC2_DATA6KPP_ROW00ENET2_1588_EVENT3_OUTFLEXIO3_FLEXIO14

So yes SPI1 uses the hardware object LPSPI3.

The memory chips on the bottom both supports LPSI as well as FlexSPI
1719873650640.png

1719873713342.png

So we do have SPI2 using the LPSPI1 object
But these pins can also be used in FlexSPI2, which is what is used if you have memory or storage chips on them.

Audio Adapter. Is setup to use the SPI object on pins 11-13, As mentioned on the Audio product page, these pins are shareable.
1719873905515.png


Hope some of this helps
 
Thanks, Kurt. I had a feeling it was a mapping of physical ports to Arduino objects, but being unfamiliar with Arduino I was unable to make the connection (pun intended). I have been using the color coded spreadsheets that I believe you developed to try and understand this.
Is there a quick reference to show which ports map to which Arduino objects?
Since I need both the external RAM and the Audio adapter I only see LPSPI3 available so I will look at FlexIO as a possible solution to have a SPI with two receive channels.

Thanks again,

Mark
 
@KurtE, I am now attempting to use the FlexIO_SPI example since I need two receive channels (MISO) to get full data rate from the AD7380 since the LPSPI is limited to 30 MHz on the SCK. However, I cannot get it to compile due to duplicate definitions. My lack of familiarity with the Arduino environment means I am not sure what to try next.
Code:
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::call_back(FlexIOHandler*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\cores\teensy4/EventResponder.h:142: multiple definition of `FlexIOSPI::call_back(FlexIOHandler*)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:415: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `EventResponder::triggerEvent(int, void*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\cores\teensy4/EventResponder.h:140: multiple definition of `FlexIOSPI::_dma_rxISR1()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:560: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::_dma_rxISR0()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:556: multiple definition of `FlexIOSPI::_dma_rxISR0()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:556: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::begin()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:13: multiple definition of `FlexIOSPI::begin()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:13: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::end()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:200: multiple definition of `FlexIOSPI::end()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:200: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::beginTransaction(FlexIOSPISettings)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:215: multiple definition of `FlexIOSPI::beginTransaction(FlexIOSPISettings)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:215: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::endTransaction()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:267: multiple definition of `FlexIOSPI::endTransaction()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:267: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::setShiftBufferOut(unsigned long, unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:270: multiple definition of `FlexIOSPI::setShiftBufferOut(unsigned long, unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:270: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::setShiftBufferOut(void const*, unsigned char, unsigned int)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:279: multiple definition of `FlexIOSPI::setShiftBufferOut(void const*, unsigned char, unsigned int)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:279: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::getShiftBufferIn(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:301: multiple definition of `FlexIOSPI::getShiftBufferIn(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:301: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::getShiftBufferIn(void*, unsigned char, unsigned int)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:311: multiple definition of `FlexIOSPI::getShiftBufferIn(void*, unsigned char, unsigned int)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:311: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOHandler::port()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.h:89: multiple definition of `FlexIOSPI::transferNBits(unsigned long, unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.h:89: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::transferBufferNBits(void const*, void*, unsigned int, unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:359: multiple definition of `FlexIOSPI::transferBufferNBits(void const*, void*, unsigned int, unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:359: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::initDMAChannels()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:429: multiple definition of `FlexIOSPI::initDMAChannels()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:429: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::transfer(void const*, void*, unsigned int, EventResponder&)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:485: multiple definition of `FlexIOSPI::transfer(void const*, void*, unsigned int, EventResponder&)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:485: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o:(.rodata._ZTV9FlexIOSPI+0x0): multiple definition of `vtable for FlexIOSPI'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:(.rodata._ZTV9FlexIOSPI+0x0): first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o:(.bss._ZN9FlexIOSPI17_dmaActiveObjectsE+0x0): multiple definition of `FlexIOSPI::_dmaActiveObjects'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:(.bss._ZN9FlexIOSPI17_dmaActiveObjectsE+0x0): first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `IRQHandler_FlexIO1()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:170: multiple definition of `IRQHandler_FlexIO1()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:170: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `IRQHandler_FlexIO2()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:185: multiple definition of `IRQHandler_FlexIO2()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:185: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `IRQHandler_FlexIO3()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:197: multiple definition of `IRQHandler_FlexIO3()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:197: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::mapIOPinToFlexIOHandler(unsigned char, unsigned char&)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:215: multiple definition of `FlexIOHandler::mapIOPinToFlexIOHandler(unsigned char, unsigned char&)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:215: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::mapIOPinToFlexPin(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:231: multiple definition of `FlexIOHandler::mapIOPinToFlexPin(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:231: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::setIOPinToFlexMode(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:250: multiple definition of `FlexIOHandler::setIOPinToFlexMode(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:250: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::FlexIOIndex()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:264: multiple definition of `FlexIOHandler::FlexIOIndex()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:264: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::requestTimers(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:276: multiple definition of `FlexIOHandler::requestTimers(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:276: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::requestShifter(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:287: multiple definition of `FlexIOHandler::requestShifter(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:287: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::shiftersDMAChannel(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:302: multiple definition of `FlexIOHandler::shiftersDMAChannel(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:302: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::claimTimer(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:307: multiple definition of `FlexIOHandler::claimTimer(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:307: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::claimShifter(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:315: multiple definition of `FlexIOHandler::claimShifter(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:315: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::IRQHandler()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:325: multiple definition of `FlexIOHandler::IRQHandler()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:325: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::freeTimers(unsigned char, unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:328: multiple definition of `FlexIOHandler::freeTimers(unsigned char, unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:328: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::freeShifter(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:335: multiple definition of `FlexIOHandler::freeShifter(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:335: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::addIOHandlerCallback(FlexIOHandlerCallback*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:345: multiple definition of `FlexIOHandler::addIOHandlerCallback(FlexIOHandlerCallback*)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:345: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::removeIOHandlerCallback(FlexIOHandlerCallback*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:369: multiple definition of `FlexIOHandler::removeIOHandlerCallback(FlexIOHandlerCallback*)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:369: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::computeClockRate()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:407: multiple definition of `FlexIOHandler::computeClockRate()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:407: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::usesSameClock(FlexIOHandler const*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:445: multiple definition of `FlexIOHandler::usesSameClock(FlexIOHandler const*)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:445: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::setClockSettings(unsigned char, unsigned char, unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:459: multiple definition of `FlexIOHandler::setClockSettings(unsigned char, unsigned char, unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:459: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::setClock(float)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:516: multiple definition of `FlexIOHandler::setClock(float)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:516: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::setClockUsingAudioPLL(float)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:592: multiple definition of `FlexIOHandler::setClockUsingAudioPLL(float)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:592: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::setClockUsingVideoPLL(float)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:619: multiple definition of `FlexIOHandler::setClockUsingVideoPLL(float)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:619: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:(.data._ZN13FlexIOHandler18flexIOHandler_listE+0x0): multiple definition of `FlexIOHandler::flexIOHandler_list'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:(.data._ZN13FlexIOHandler18flexIOHandler_listE+0x0): first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:(.rodata._ZN13FlexIOHandler14flex3_hardwareE+0x0): multiple definition of `FlexIOHandler::flex3_hardware'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:(.rodata._ZN13FlexIOHandler14flex3_hardwareE+0x0): first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:(.rodata._ZN13FlexIOHandler14flex2_hardwareE+0x0): multiple definition of `FlexIOHandler::flex2_hardware'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:(.rodata._ZN13FlexIOHandler14flex2_hardwareE+0x0): first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:(.rodata._ZN13FlexIOHandler14flex1_hardwareE+0x0): multiple definition of `FlexIOHandler::flex1_hardware'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:(.rodata._ZN13FlexIOHandler14flex1_hardwareE+0x0): first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:46: multiple definition of `flex3_Handler_callbacks'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:46: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:45: multiple definition of `flex2_Handler_callbacks'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:45: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:44: multiple definition of `flex1_Handler_callbacks'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:44: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::available()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:374: multiple definition of `FlexSerial::available()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:374: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::peek()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:381: multiple definition of `FlexSerial::peek()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:381: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::read()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:387: multiple definition of `FlexSerial::read()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:387: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::availableForWrite()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:402: multiple definition of `FlexSerial::availableForWrite()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:402: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::call_back(FlexIOHandler*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:413: multiple definition of `FlexSerial::call_back(FlexIOHandler*)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:413: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `non-virtual thunk to FlexSerial::call_back(FlexIOHandler*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.h:73: multiple definition of `non-virtual thunk to FlexSerial::call_back(FlexIOHandler*)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.h:73: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::end()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:294: multiple definition of `FlexSerial::end()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:294: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::flush()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:308: multiple definition of `FlexSerial::flush()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:308: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::write(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:323: multiple definition of `FlexSerial::write(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:323: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::operator bool()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:285: multiple definition of `FlexSerial::operator bool()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:285: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::begin(unsigned long, unsigned short)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:72: multiple definition of `FlexSerial::begin(unsigned long, unsigned short)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:72: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::init()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:18: multiple definition of `FlexSerial::init()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:18: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::init()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:18: multiple definition of `FlexSerial::setClock(float)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:18: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::init()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:18: multiple definition of `FlexSerial::setClockUsingAudioPLL(float)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:18: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::init()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:18: multiple definition of `FlexSerial::setClockUsingVideoPLL(float)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:18: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::clear()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:397: multiple definition of `FlexSerial::clear()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:397: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexSerial.cpp.o:(.rodata._ZTV10FlexSerial+0x0): multiple definition of `vtable for FlexSerial'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:(.rodata._ZTV10FlexSerial+0x0): first defined here
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1
 
For completeness, here is the example code. I commented out
//#include <FlexIO_t4.h>
since it is included in the FlexIOSPI.h


Code:
//#include <FlexIO_t4.h>
#include <FlexIOSPI.h>

//#define HARDWARE_CS
#ifdef HARDWARE_CS
FlexIOSPI SPIFLEX(2, 3, 4, 5); // Setup on (int mosiPin, int sckPin, int misoPin, int csPin=-1) :
#define assert_cs()
#define release_cs()
#else
FlexIOSPI SPIFLEX(2, 3, 4, -1); // Setup on (int mosiPin, int sckPin, int misoPin, int csPin=-1) :
#define assert_cs() digitalWriteFast(5, LOW)
#define release_cs() digitalWriteFast(5, HIGH)
#endif

void setup() {
  pinMode(13, OUTPUT);
  while (!Serial && millis() < 4000);
  Serial.begin(115200);
  delay(500);
#ifndef HARDWARE_CS
  pinMode(5, OUTPUT);
  release_cs();
#endif
  if (!SPIFLEX.begin()) {
    Serial.println("SPIFlex Begin Failed");
  }

  // See if we can update the speed...
  //SPIFLEX.flexIOHandler()->setClockSettings(2, 1, 7);    // clksel(0-3PLL4, Pll3 PFD2 PLL5, *PLL3_sw)

  Serial.printf("Updated Flex IO speed: %u\n", SPIFLEX.flexIOHandler()->computeClockRate());

  Serial.println("End Setup");
}
uint8_t buf[] = "abcdefghijklmnopqrstuvwxyz";
uint16_t ret_buf[256];
uint8_t ch_out = 0;

void loop() {
  SPIFLEX.beginTransaction(FlexIOSPISettings(20000000, MSBFIRST, SPI_MODE0));
  assert_cs();
  for (uint8_t ch_out = 0; ch_out < 64; ch_out++) {
    ret_buf[ch_out] = SPIFLEX.transfer(ch_out);
  }
  release_cs();
  Serial.println("After Transfer loop");
  delay(25);

  uint8_t index = 0;
  assert_cs();
  for (uint16_t ch_out = 0; ch_out < 500; ch_out += 25) {
    ret_buf[index++] = SPIFLEX.transfer16(ch_out);
  }
  release_cs();
  Serial.println("After Transfer16 loop");
  delay(25);
  assert_cs();
  SPIFLEX.transfer(buf, NULL, sizeof(buf));
  release_cs();
  Serial.println("After Transfer buf");
  SPIFLEX.endTransaction();
  delay(500);
}
 
This could be an arduino IDE issue: if a library is included in a previous compile but you then remove it (or comment it out), the old object files don't get removed from the build directory and still get linked. So at some point you had the FlexIO_T4 library included and made a build, then commented it out but it's still conflicting with FlexIOSPI.
You'd need to close Arduino and clean out the temporary files that it uses then re-open and do a rebuild.
 
Thanks, Jmarsh.

So, deleting the files would be equivalent to a "clean" build on most IDEs if I am following you correctly.

I have found that Arduino is putting temp data in multiple places so I cleared all of these out, but the problem persists.

C:\Users\Mark Watson\.arduinoIDE\workspace-storage
C:\Users\Mark Watson\AppData\Roaming\arduino-ide
C:\Users\Mark Watson\AppData\Local\Temp
C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches
C:\Users\Mark Watson\AppData\Local\Temp\arduino-language-server1574231665
C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\B4C9E423766D22E2A23DEB25F57CB25A\libraries\FlexIO_t4\

Here is the content of the build options JSON:
{
"additionalFiles": "",
"builtInLibrariesFolders": "C:\\Users\\Mark Watson\\AppData\\Local\\Arduino15\\libraries",
"builtInToolsFolders": "",
"compiler.optimization_flags": "",
"customBuildProperties": "build.warn_data_percentage=75",
"fqbn": "teensy:avr:teensy41:usb=serial,speed=600,opt=o2std,keys=en-us",
"hardwareFolders": "c:\\Users\\Mark Watson\\AppData\\Local\\Arduino15\\packages,c:\\Users\\Mark Watson\\Documents\\Arduino\\hardware",
"otherLibrariesFolders": "c:\\Users\\Mark Watson\\Documents\\Arduino\\libraries",
"sketchLocation": "C:\\Users\\Mark Watson\\Documents\\Arduino\\Simple\\Simple"
}

I get what is happening, but I don't know how to stop it.
 
So much to unpack here. Looking at just this 2nd line from the errors in msg #5:

Code:
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::call_back(FlexIOHandler*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\cores\teensy4/EventResponder.h:142: multiple definition of `FlexIOSPI::call_back(FlexIOHandler*)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\275CB503DDA3716A72483545FD740333\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:415: first defined here

The compiler is says it doesn't like something called "FlexIOSPI::call_back" in EventResponder.h at line 142. But EventResponder.h doesn't have anything like that at line 142, or anywhere else named "call_back" in the whole file!

So a first critical question before even trying to resolve leftover files and duplicate copies of libraries is whether you are also editing the core library files?

Most of these errors look like you've created a 2nd copy of the FlexIO_t4 library and Arduino IDE is trying to compile both of them (the original copy installed by Teensyduino in packages\teensy\hardware and another copy maybe in Documents\Arduino\libraries). That ought to be pretty simple to resolve. But if you're also editing the core library code at the same time, that makes diagnosing problems vastly more difficult. It means your setup probably diverge from the "known quantity" of Teensyduino 1.59.0 in ways nobody can anticipate.
 
Paul,

Thanks for taking a look. No, I am not (yet) trying to edit any of the core files. I just opened Arduino and went to File/Examples/FlexIO_t4/SPI and opened the sketch and then tried to compile it. I have only recently (about 1 month ago) even added Arduino IDE to my computer and started working with the Teensy.
 
Thanks for the note on the out of rev. reference manual. Due to the amazing community you have around the Teensy I have been making good progress with integrating an AD7380 for moderately high speed, high resolution A/D conversion. However, I am maxed out on the SPI SCK frequency and hence I want to use the FlexIO for a dual SDI version of SPI to read both A/D channels simultaneously.
 
As I thought about it more, I realized that I did open the example previously, but I don't believe I compiled it since I did not have any hardware connected appropriately to use the pins from the example. So, I am a bit mystified .
 
I'm mystified too.

As a first step, look in {Documents}/Arduino/libraries. If you have a copy of FlexIO_t4 stored there, quit the Arduino IDE and delete it.

When you restart Arduino IDE, click the Tools > CPU Speed menu. Select 528 MHz, or any other speed than what was previously selected. The default should be 600 MHz. Changing the speed causes (or should cause) Arduino IDE to fully rebuild everything.
 
Occasionally I've had library linking errors like this. Or deleting a h file in the project and it still thinks its there and recreating it, it thinks there's a duplicate.

Deleting the temp files wouldn't help. But what I found was renaming or copying the folder with your project to another location causes the Arduino Ide to reload the project and necessary linked files and it fixes the issue.
 
Paul,

{Documents}/Arduino/libraries was empty.
I restarted Arduino and set the CPU speed to 528 MHz and attempted a recompile which resulted in the same error messages.

theBoot900,

Then, I restarted my computer and moved Simple.ino to {Documents}/Arduino/FlexIO_SPI_Example and renamed it to FlexIO_SPI_Example and tried again. It appears to be the same error messages, but I am attaching them for reference.

I do really appreciate the community involvement and all the help.
Code:
 c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::call_back(FlexIOHandler*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\cores\teensy4/EventResponder.h:142: multiple definition of `FlexIOSPI::call_back(FlexIOHandler*)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:415: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `EventResponder::triggerEvent(int, void*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\cores\teensy4/EventResponder.h:140: multiple definition of `FlexIOSPI::_dma_rxISR1()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:560: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::_dma_rxISR0()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:556: multiple definition of `FlexIOSPI::_dma_rxISR0()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:556: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::begin()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:13: multiple definition of `FlexIOSPI::begin()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:13: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::end()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:200: multiple definition of `FlexIOSPI::end()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:200: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::beginTransaction(FlexIOSPISettings)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:215: multiple definition of `FlexIOSPI::beginTransaction(FlexIOSPISettings)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:215: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::endTransaction()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:267: multiple definition of `FlexIOSPI::endTransaction()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:267: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::setShiftBufferOut(unsigned long, unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:270: multiple definition of `FlexIOSPI::setShiftBufferOut(unsigned long, unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:270: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::setShiftBufferOut(void const*, unsigned char, unsigned int)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:279: multiple definition of `FlexIOSPI::setShiftBufferOut(void const*, unsigned char, unsigned int)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:279: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::getShiftBufferIn(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:301: multiple definition of `FlexIOSPI::getShiftBufferIn(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:301: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::getShiftBufferIn(void*, unsigned char, unsigned int)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:311: multiple definition of `FlexIOSPI::getShiftBufferIn(void*, unsigned char, unsigned int)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:311: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOHandler::port()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.h:89: multiple definition of `FlexIOSPI::transferNBits(unsigned long, unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.h:89: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::transferBufferNBits(void const*, void*, unsigned int, unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:359: multiple definition of `FlexIOSPI::transferBufferNBits(void const*, void*, unsigned int, unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:359: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::initDMAChannels()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:429: multiple definition of `FlexIOSPI::initDMAChannels()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:429: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o: in function `FlexIOSPI::transfer(void const*, void*, unsigned int, EventResponder&)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIOSPI.cpp:485: multiple definition of `FlexIOSPI::transfer(void const*, void*, unsigned int, EventResponder&)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIOSPI.cpp:485: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o:(.rodata._ZTV9FlexIOSPI+0x0): multiple definition of `vtable for FlexIOSPI'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:(.rodata._ZTV9FlexIOSPI+0x0): first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIOSPI.cpp.o:(.bss._ZN9FlexIOSPI17_dmaActiveObjectsE+0x0): multiple definition of `FlexIOSPI::_dmaActiveObjects'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIOSPI.cpp.o:(.bss._ZN9FlexIOSPI17_dmaActiveObjectsE+0x0): first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `IRQHandler_FlexIO1()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:170: multiple definition of `IRQHandler_FlexIO1()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:170: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `IRQHandler_FlexIO2()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:185: multiple definition of `IRQHandler_FlexIO2()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:185: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `IRQHandler_FlexIO3()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:197: multiple definition of `IRQHandler_FlexIO3()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:197: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::mapIOPinToFlexIOHandler(unsigned char, unsigned char&)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:215: multiple definition of `FlexIOHandler::mapIOPinToFlexIOHandler(unsigned char, unsigned char&)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:215: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::mapIOPinToFlexPin(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:231: multiple definition of `FlexIOHandler::mapIOPinToFlexPin(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:231: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::setIOPinToFlexMode(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:250: multiple definition of `FlexIOHandler::setIOPinToFlexMode(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:250: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::FlexIOIndex()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:264: multiple definition of `FlexIOHandler::FlexIOIndex()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:264: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::requestTimers(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:276: multiple definition of `FlexIOHandler::requestTimers(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:276: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::requestShifter(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:287: multiple definition of `FlexIOHandler::requestShifter(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:287: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::shiftersDMAChannel(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:302: multiple definition of `FlexIOHandler::shiftersDMAChannel(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:302: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::claimTimer(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:307: multiple definition of `FlexIOHandler::claimTimer(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:307: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::claimShifter(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:315: multiple definition of `FlexIOHandler::claimShifter(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:315: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::IRQHandler()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:325: multiple definition of `FlexIOHandler::IRQHandler()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:325: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::freeTimers(unsigned char, unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:328: multiple definition of `FlexIOHandler::freeTimers(unsigned char, unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:328: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::freeShifter(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:335: multiple definition of `FlexIOHandler::freeShifter(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:335: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::addIOHandlerCallback(FlexIOHandlerCallback*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:345: multiple definition of `FlexIOHandler::addIOHandlerCallback(FlexIOHandlerCallback*)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:345: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::removeIOHandlerCallback(FlexIOHandlerCallback*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:369: multiple definition of `FlexIOHandler::removeIOHandlerCallback(FlexIOHandlerCallback*)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:369: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::computeClockRate()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:407: multiple definition of `FlexIOHandler::computeClockRate()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:407: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::usesSameClock(FlexIOHandler const*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:445: multiple definition of `FlexIOHandler::usesSameClock(FlexIOHandler const*)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:445: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::setClockSettings(unsigned char, unsigned char, unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:459: multiple definition of `FlexIOHandler::setClockSettings(unsigned char, unsigned char, unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:459: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::setClock(float)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:516: multiple definition of `FlexIOHandler::setClock(float)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:516: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::setClockUsingAudioPLL(float)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:592: multiple definition of `FlexIOHandler::setClockUsingAudioPLL(float)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:592: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o: in function `FlexIOHandler::setClockUsingVideoPLL(float)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:619: multiple definition of `FlexIOHandler::setClockUsingVideoPLL(float)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:619: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:(.data._ZN13FlexIOHandler18flexIOHandler_listE+0x0): multiple definition of `FlexIOHandler::flexIOHandler_list'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:(.data._ZN13FlexIOHandler18flexIOHandler_listE+0x0): first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:(.rodata._ZN13FlexIOHandler14flex3_hardwareE+0x0): multiple definition of `FlexIOHandler::flex3_hardware'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:(.rodata._ZN13FlexIOHandler14flex3_hardwareE+0x0): first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:(.rodata._ZN13FlexIOHandler14flex2_hardwareE+0x0): multiple definition of `FlexIOHandler::flex2_hardware'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:(.rodata._ZN13FlexIOHandler14flex2_hardwareE+0x0): first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:(.rodata._ZN13FlexIOHandler14flex1_hardwareE+0x0): multiple definition of `FlexIOHandler::flex1_hardware'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:(.rodata._ZN13FlexIOHandler14flex1_hardwareE+0x0): first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:46: multiple definition of `flex3_Handler_callbacks'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:46: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:45: multiple definition of `flex2_Handler_callbacks'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:45: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexIO_t4.cpp:44: multiple definition of `flex1_Handler_callbacks'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexIO_t4.cpp:44: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::available()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:374: multiple definition of `FlexSerial::available()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:374: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::peek()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:381: multiple definition of `FlexSerial::peek()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:381: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::read()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:387: multiple definition of `FlexSerial::read()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:387: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::availableForWrite()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:402: multiple definition of `FlexSerial::availableForWrite()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:402: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::call_back(FlexIOHandler*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:413: multiple definition of `FlexSerial::call_back(FlexIOHandler*)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:413: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `non-virtual thunk to FlexSerial::call_back(FlexIOHandler*)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.h:73: multiple definition of `non-virtual thunk to FlexSerial::call_back(FlexIOHandler*)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.h:73: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::end()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:294: multiple definition of `FlexSerial::end()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:294: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::flush()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:308: multiple definition of `FlexSerial::flush()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:308: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::write(unsigned char)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:323: multiple definition of `FlexSerial::write(unsigned char)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:323: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::operator bool()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:285: multiple definition of `FlexSerial::operator bool()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:285: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::begin(unsigned long, unsigned short)':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:72: multiple definition of `FlexSerial::begin(unsigned long, unsigned short)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:72: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::init()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:18: multiple definition of `FlexSerial::init()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:18: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::init()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:18: multiple definition of `FlexSerial::setClock(float)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:18: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::init()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:18: multiple definition of `FlexSerial::setClockUsingAudioPLL(float)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:18: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::init()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:18: multiple definition of `FlexSerial::setClockUsingVideoPLL(float)'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:18: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o: in function `FlexSerial::clear()':
C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src/FlexSerial.cpp:397: multiple definition of `FlexSerial::clear()'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:C:\Users\Mark Watson\AppData\Local\Arduino15\packages\teensy\hardware\avr\1.59.0\libraries\FlexIO_t4\src\FlexIO_t4/FlexSerial.cpp:397: first defined here
c:/users/mark watson/appdata/local/arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexSerial.cpp.o:(.rodata._ZTV10FlexSerial+0x0): multiple definition of `vtable for FlexSerial'; C:\Users\Mark Watson\AppData\Local\Temp\arduino\sketches\29F54790C7E48BBA16BC6883D0E33E3F\libraries\FlexIO_t4\FlexIO_t4\FlexSerial.cpp.o:(.rodata._ZTV10FlexSerial+0x0): first defined here
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1
 
Ok folks. I have removed and reinstalled the Teensy platform in Arduino and the problem has gone away. Thanks for the suggestions. I will post further progress here regarding the single SDO, dual SDI SPI using FlexIO.
 
Glad you got the compile error resolved.

On your original question, I recently updated the reference manual with annotations. Similar questions have come up many times, also about which NXP peripherals correspond to the Arduino named serial and I2C ports, and in general which pins are really meant by the confusing pin names in the reference manual. Might be worthwhile to get the annotated version if you're still using the reference manual.
 
Paul,

Thanks! Any help coming up to speed on this new (to me) processor is appreciated. You went above and beyond by annotating the Reference Manual.
 
I now have the FlexIO_SPI running in a loopback configuration and I added some Serial.printfs to see the returned data which looks correct. However, I can't seem to change the SPI SCK speed by modifying this line:
SPIFLEX.beginTransaction(FlexIOSPISettings(32000000, MSBFIRST, SPI_MODE2));
Changing the speed here does not affect the SCK rate which is right around 7.5 MHz.
Code:
#include <FlexIO_t4.h>
#include <FlexIOSPI.h>

//#define HARDWARE_CS
#ifdef HARDWARE_CS
FlexIOSPI SPIFLEX(2, 3, 4, 5); // Setup on (int mosiPin,  int misoPin, int sckPin, int csPin=-1) :
#define assert_cs()
#define release_cs()
#else
FlexIOSPI SPIFLEX(2, 3, 4, -1); // Setup on (int mosiPin, int misoPin, int sckPin, int csPin=-1) :
#define assert_cs() digitalWriteFast(5, LOW)
#define release_cs() digitalWriteFast(5, HIGH)
#endif

void setup() {
  pinMode(13, OUTPUT);
  while (!Serial && millis() < 4000) Serial.begin(115200);
  delay(500);
#ifndef HARDWARE_CS
  pinMode(5, OUTPUT);
  release_cs();
#endif
  if (!SPIFLEX.begin()) {
    Serial.println("SPIFlex Begin Failed");
  }

  // See if we can update the speed...
  //SPIFLEX.flexIOHandler()->setClockSettings(2, 1, 7);    // clksel(0-3PLL4, Pll3 PFD2 PLL5, *PLL3_sw)

  Serial.printf("Updated Flex IO speed: %u\n", SPIFLEX.flexIOHandler()->computeClockRate());

  Serial.println("End Setup");
}
uint8_t buf[] = "abcdefghijklmnopqrstuvwxyz";
uint8_t rec_buf[sizeof(buf)];
uint16_t ret_buf[256];
uint8_t ch_out = 0;

void loop() {
  SPIFLEX.beginTransaction(FlexIOSPISettings(32000000, MSBFIRST, SPI_MODE2));
  assert_cs();
  for (uint8_t ch_out = 0; ch_out < 64; ch_out++) {
    ret_buf[ch_out] = SPIFLEX.transfer(ch_out);
  }
  release_cs();
  Serial.println("\n\nAfter Transfer loop");
  delay(25);
  for (uint16_t i = 0; i < 64; i++)
  {
    Serial.printf("\nch_out %d", ret_buf[i]);
  }
  delay(3000);
  uint8_t index = 0;

  assert_cs();
  for (uint16_t ch_out = 0; ch_out < 500; ch_out += 25) {
    ret_buf[index++] = SPIFLEX.transfer16(ch_out);
  }
  release_cs();
  Serial.println("\n\nAfter Transfer16 loop");
  delay(25);
    for (uint16_t i = 0; i < 20; i++)
  {
    Serial.printf("\nc16_out %d", ret_buf[i]);
  }
  delay(3000);
  assert_cs();
  SPIFLEX.transfer(buf, rec_buf, sizeof(buf));
  release_cs();
  Serial.println("\n\nAfter Transfer buf");
  for (uint16_t i = 0; i < sizeof(buf)-1; i++)
  {
    Serial.printf("\ncout %c", rec_buf[i]);
  }
  SPIFLEX.endTransaction();
  delay(3000);
}
 
Added
SPIFLEX.flexIOHandler()->setClock(120000000);

to setUp in the example and now it is able to set the SCK to 30 MHz.
 
In order to achieve reliable loop-back at 30 MHz SCK frequency, I had to increase the FlexIO clock to above 120 MHz so I am currently running it at 150 MHz.
 
Back
Top