PDA

View Full Version : Teensyduino 1.52 Beta #3



Paul
04-24-2020, 03:56 PM
Here is a third beta test for Teensyduino 1.52.


Edit: links removed, please use 1.52-beta5 (https://forum.pjrc.com/threads/60864-Teensyduino-1-52-Beta-5).


Changes since Teensyduino 1.52-beta2 (https://forum.pjrc.com/threads/60354-Teensyduino-1-52-Beta-2):

Support for Teensy 4.1 - still in beta testing
Allow SD.begin() to be called more than once
Support hardware serial CTS pins on Teensy 4.1 (KurtE)
Fix double float promotion (Frank B)
Fix I2S input use of cache (Frank B)
Fix installer crash on Jetson Nano
Update libs: RA8875, ILI9844_t3, QuadEncoder, ST7735_t3

mjs513
04-24-2020, 04:44 PM
Just downloaded and installed on a Windows 10x64 pc with no problems. As a quick test of the ILI9488_t3 lib I re-compiled and loaded one of the OpenGL examples and worked without an issue on a T4.1. Tested the ST7735_t3 lib using a T4.0 with @KurtE's printTest using the INITR_MINI160x80_ST7735S initializer and duplicated what I saw prior to the 1.52-beta3 install.

ETMoody3
04-24-2020, 05:59 PM
Hmmm. I have a Jetson Nano... haven't used it in months... I'll give it a go.

ETMoody3
04-24-2020, 06:11 PM
19829

Worked for me

DD4WH
04-24-2020, 08:36 PM
Works on Windows 10

Tested with Teensy 4.0 Convolution SDR using latest ili9341_t3n lib, Etherkit_Si5351 lib and FrankBs audio codec lib.

Excellent!

Canīt wait to test it with T4.1

bicycleguy
04-25-2020, 12:38 AM
Mac Catalina, installed great, super easy, however, as mentioned in b2 for newbies the instructions for Catalina on the download page will be very confusing.

Tried many T4 with ILI9341_t3 programs, T2,3,4 all worked great. No issues yet. T4.1 due by USPS Monday.

One question. This code in the setup gives me some info of what I'm playing with:

void Processor_Compiler(){
Serial.print("Processor: ");
#ifdef __MK20DX256__
Serial.print("Teensy 3.2");
#elif __MK66FX1M0__
Serial.print("Teensy 3.6");
#elif __MK64FX512__
Serial.print("Teensy 3.5");
#elif __IMXRT1062__
Serial.print("Teensy 4");
#elif ARDUINO_SAM_DUE
Serial.print("Due");
#endif
const char compile_date[] =__DATE__ " " __TIME__ ; // " " __FILE__ ;
Serial.print("\t\tCompiled "); Serial.println(compile_date);
}


What should be used to ID 4.1 vs 4.0 ?

defragster
04-25-2020, 01:37 AM
New/Recent IDE standard all the boards have something like this - certainly for any build supporting T_4.1


#ifdef ARDUINO_TEENSY41
Serial.println(" ARDUINO_TEENSY41");
#elif ARDUINO_TEENSY40
Serial.println(" ARDUINO_TEENSY40");
#endif

From boards.txt ::
teensy41.build.board=TEENSY41
teensy40.build.board=TEENSY40
teensy36.build.board=TEENSY36
teensy35.build.board=TEENSY35
teensy31.build.board=TEENSY32
teensy30.build.board=TEENSY30
teensyLC.build.board=TEENSYLC

defragster
04-25-2020, 02:00 AM
Reminded me of the CPUSpecs I wrote years back - last updated for T_3.6. Was handy as it points out some extra IO counts … never updated for T_4 … it was handy and found a bad IO count on a #define. I should re-update that for F_CPU_ACTUAL etc ...


Here is a version looking at compile time #defines written for K66 beta - not finding old posting in quick search:



void CPUspecs() {
Serial.println();
#if defined(__MK20DX128__)
Serial.println( "CPU is T_LC");
#elif defined(__MK20DX256__)
Serial.println( "CPU is T_3.1/3.2");
#elif defined(__MKL26Z64__)
Serial.println( "CPU is T_3.0");
#elif defined(__MK64FX512__)
Serial.println( "CPU is T_3.5");
#elif defined(__MK66FX1M0__)
Serial.println( "CPU is T_3.6");
#endif
Serial.print( "F_CPU ="); Serial.println( F_CPU );
Serial.print( "F_PLL ="); Serial.println( F_PLL );
Serial.print( "F_BUS ="); Serial.println( F_BUS );
Serial.print( "F_MEM ="); Serial.println( F_MEM );
Serial.print( "NVIC_NUM_INTERRUPTS ="); Serial.println( NVIC_NUM_INTERRUPTS );
Serial.print( "DMA_NUM_CHANNELS ="); Serial.println( DMA_NUM_CHANNELS );
Serial.print( "CORE_NUM_TOTAL_PINS ="); Serial.println( CORE_NUM_TOTAL_PINS );
Serial.print( "CORE_NUM_DIGITAL ="); Serial.println( CORE_NUM_DIGITAL );
Serial.print( "CORE_NUM_INTERRUPT ="); Serial.println( CORE_NUM_INTERRUPT );
Serial.print( "CORE_NUM_ANALOG ="); Serial.println( CORE_NUM_ANALOG );
Serial.print( "CORE_NUM_PWM ="); Serial.println( CORE_NUM_PWM );
Serial.print( "ARDUINO ="); Serial.println( ARDUINO );
Serial.print( "TEENSYDUINO ="); Serial.println( TEENSYDUINO );

#if 1 // defined(KINETISK)
if ((RCM_SRS0 & RCM_SRS0_PIN))
Serial.println( "\n RTC hardware Present!!!");
#endif
}

bicycleguy
04-25-2020, 03:56 AM
@defragster, saw that but didn't realize all that info was exposed to #ifdef's
thanks, that does it!

Here's something I noticed that doesn't matter but since your into minutia... :)

Attached is a bunch of stuff that I have all my programs spit out on boot or save somewhere I can access. The first group is from beta #2 the second beta #3 of the same program, same Arduino 1.8.12, same part.
All is as expected except the ITCM = FASTRUN: and FLASH: are different.


from beta #2

myT4InternalTempGraph 12/11/2019 Processor: Teensy 4 Compiled Mar 5 2020 16:43:29
Constant ? yaa!, -fsingle-precision-constant disabled
F_CPU (MHz) 600
1/F_CPU (us) 0.0017
-------------
FlexRAM-Banks: [ DDDD DDDD DDDD DDII ] ITCM: 64 KB, DTCM: 448 KB, OCRAM: 0(+512) KB
MEM (static usage):
RAM1:
ITCM = FASTRUN: 34176 52.15% of 64kb (31360 Bytes free)
DTCM = Variables: 12992 2.83% of 448kb (445760 Bytes free)
RAM2:
OCRAM = DMAMEM: 12384 2.36% of 512kb (511904 Bytes free)
FLASH: 46272 2.21% of 2048kb (2050880 Bytes free)


from beta #3

myT4InternalTempGraph 12/11/2019 Processor: Teensy 4 Compiled Apr 24 2020 15:31:32
Constant ? yaa!, -fsingle-precision-constant disabled
F_CPU (MHz) 600
1/F_CPU (us) 0.0017
-------------
FlexRAM-Banks: [ DDDD DDDD DDDD DDII ] ITCM: 64 KB, DTCM: 448 KB, OCRAM: 0(+512) KB
MEM (static usage):
RAM1:
ITCM = FASTRUN: 34112 52.05% of 64kb (31424 Bytes free)
DTCM = Variables: 12992 2.83% of 448kb (445760 Bytes free)
RAM2:
OCRAM = DMAMEM: 12384 2.36% of 512kb (511904 Bytes free)
FLASH: 46352 2.21% of 2048kb (2050800 Bytes free)

I guess some libraries are putting more in FLASH?

defragster
04-25-2020, 10:38 AM
Installed TD 1.52 b3 on Win 10 latest with NO issues. Built and uploaded just two HEX files to work so far { for both T_4.x's }.

>> Only odd issue is that Teensy.exe takes about 15 seconds to start up. This is an updated WINDOWS issue {not new to TD 1.52} it seems as powering up Teensy.exe from TD 1.49 now acts the same. Problem is with first upload the IDE build aborts the upload waiting for it to respond.


@bicycleguy: Some startup code is marked FLASHMEM and stays/run from there. But on startup both the ITCM/code and DTCM/data are pulled from flash to their place in RAM. That is 34176 + 12992 = 47168 which is actually larger than size FLASH:46272

manitou
04-25-2020, 02:18 PM
installed 1.52-beta3 on linux-64 (Ubuntu 18.04) with IDE 1.8.12. Tested lwIP httpd with latest SdFat-beta (v2) on Teensy 4.1. all is good. :D

Deleted User
04-25-2020, 10:24 PM
All running well here with T4.0 on Windows 10 pro x64 1909 build 18363.815 (latest).
@defragster this odd issue with 15 seconds start up I do not have

Again I am amazed how fast Teensy 4 is. Rebuilt all the ME-70 effects chain plus an ultrasick wah, uses less than 14% CPU time all together. Whaaat? :cool: Only the sound could definitely be nicer, it is audible the Audio Library only runs 16 bit. So I'll not yet publish that guitar effects project until I've made some tune-up.

defragster
04-25-2020, 10:50 PM
All running well here with T4.0 on Windows 10 pro x64 1909 build 18363.815 (latest).
@defragster this odd issue with 15 seconds start up I do not have

Again I am amazed how fast Teensy 4 is. Rebuilt all the ME-70 effects chain plus an ultrasick wah, uses less than 14% CPU time all together. Whaaat? :cool: Only the sound could definitely be nicer, it is audible the Audio Library only runs 16 bit. So I'll not yet publish that guitar effects project until I've made some tune-up.

Thanks for Teensy.exe note ??? I run it from T: SSD - even moved a copy to C: HDD and both STALL on start - after the machine ahs been up some time. Time for a reboot after 9.5 days of abuse there are a few things being sluggish with EDGE having some 49 pages and stuff open :(

When run from T: drive SSD I told Windows and Malwarebytes to NOT do any scanning - funny even a right click 'scan this download' says "not scanned because you said so". Something 'new' is gumming up the works here then.

1909.815 - time to update and restart …

Teensy 4.0 is really fast and nice - the pending 4.1 the same only better for having easy to use SD and USB Host if desired and all 10 bottom pads and a few more I/O easier to get to on edge pins - and ethernet possible - plus spare chips spots for QSPI FLASH or RAM add good utility when needed.

Deleted User
04-25-2020, 11:54 PM
Some days ago I've installed a new Arduino 1.8.2 at default location C:\Program Files (x86)\Arduino with Teensyduino 1.51, then the betas just over that once they were published. So nothing special.
I've even installed the recent ESP stuff into this as well, no problems so far. It has been more trouble with older Teensyduino together with ESP in one single Arduino install, which made us run different installs with 'portable' directories, but now it does not seem to be necessary any more.
I did not exclude anything from scanning, but all \hardware\tools\*.exe i've given firewall rules to allow only localhost in/out. Before that there have always been some firewall alerts in the logs I don't remember any more.

defragster
04-26-2020, 01:07 AM
I just rebooted - Machine wouldn't even complete a Windows update check - left it for an hour++ and helped cut down some trees … still searching when I came back.

Fresh reboot and the IDE started Teensy.exe in a SNAP - as normal. Something clogs up the system and if closed it takes 10-15 seconds to restart.

First IDE BUILT took about forever to start … running CmdLine IDE from inside sublime Editor with a batch file is much faster - clean build in 8 seconds for latest posted simpleBlink.

In the time I typed the aobve Windows update is now ready with the next update - machine was really hogged up. I started 'Sleep' at might and it messes with stuff.

<>took yet another update 1909.778 now gave way to 1909.815

defragster
04-26-2020, 09:54 AM
Fails trying to compile this for T_4.0: ...\hardware\teensy\avr\libraries\Audio\examples\A nalysis\PeakMeterMono\PeakMeterMono.ino

Is AudioInputAnalog adc1; working on T_4.0?

Compiles for T_3.6.


T:\TEMP\arduino_build_PeakMeterMono.ino\sketch\Pea kMeterMono.ino.cpp.o: In function `AudioInputAnalog::AudioInputAnalog()':
T:\arduino-1.8.12\hardware\teensy\avr\libraries\Audio/input_adc.h:37: undefined reference to `AudioInputAnalog::init(unsigned char)'
T:\TEMP\arduino_build_PeakMeterMono.ino\sketch\Pea kMeterMono.ino.cpp.o: In function `AudioStream::AudioStream(unsigned char, audio_block_struct**)':
T:\arduino-1.8.12\hardware\teensy\avr\cores\teensy4/AudioStream.h:130: undefined reference to `vtable for AudioInputAnalog'
collect2.exe: error: ld returned 1 exit status
Multiple libraries were found for "SD.h"
Used: T:\arduino-1.8.12\hardware\teensy\avr\libraries\SD
Not used: T:\arduino-1.8.12\libraries\SD
Using library Audio at version 1.3 in folder: T:\arduino-1.8.12\hardware\teensy\avr\libraries\Audio
Using library SPI at version 1.0 in folder: T:\arduino-1.8.12\hardware\teensy\avr\libraries\SPI
Using library SD at version 1.2.2 in folder: T:\arduino-1.8.12\hardware\teensy\avr\libraries\SD
Using library SerialFlash at version 0.5 in folder: T:\arduino-1.8.12\hardware\teensy\avr\libraries\SerialFlash
Using library Wire at version 1.0 in folder: T:\arduino-1.8.12\hardware\teensy\avr\libraries\Wire
exit status 1

Frank B
04-26-2020, 10:05 AM
No, there were several threads absolut this... as with PWM,
this is still a missing part in the T4 Audiolib.
I would help with this, or add it, if I knew a way to clock it with 44.100kHz

defragster
04-26-2020, 10:08 AM
No, there were several threads absolut this... as with PWM,
this is still a missing part in the T4 Audiolib.
I would help with this, or add it, if I knew a way to clock it with 44.100kHz

Thanks Frank - Another thread question was about FFT not working - which it does - just that it doesn't work from ADC1 on T4 - which is what I found trying that example. Apparently above error showed up - but wasn't made clear until I tried it myself.

I see WMXZ just posted to that thread.

Post was that the output was a screen shot … not clicked :( - it shows the vtable error. I recall notes you made about PWM, but didn't associate that with ADC before the failed trial.

PaulStoffregen
04-27-2020, 12:34 AM
I would help with this, or add it, if I knew a way to clock it with 44.100kHz

I've been looking at this recently. It's a difficult problem. :(

Unfortunately PLL4 only routes to I2S, SPDIF and FlexIO. But sadly, NXP didn't implement FlexIO output triggers to the crossbar (FlexIO can receive triggers, but not transmit them), so FlexIO can't directly trigger ADC through the ADCETC. Looks like NXP didn't provide any other paths from PLL4 to any other timers that could feed trigger pulses into the crossbar. I can't see any to trigger the ADC in sync with PLL4.

So I'm afraid the only solution, at least that I can see, is to run the ADC asynchronously and resample its data. I have long wanted to run the ADC and DAC on Teensy 3.x at 4X the sample rate, and I'd like to do that (or slightly faster) from the start on Teensy 4. Fortunately we have plenty of CPU power.

My best guess so far looks like the ADC / ADCETC running continuously with a DMA channel in circular buffer mode (but no interrupts from the ADC or its DMA). Something generates an interrupt in sync with PLL4 every 128 sample, either FlexIO or one of the I2S ports. Might be simplest to just use I2S1 in a dummy configuration when the project isn't using I2S, rather than bother with FlexIO. The interrupt would read the ADC's DMA channel destination address to get the current write position in the circular buffer, than just read backwards from that point and run the data into a short FIR low pass filter. Before filtering, we'll probably linear interpolate to translate the raw ADC samples to an exact multiple of the actual audio sample rate, so then only 1 FIR calculation is needed for each output sample.

One of the unused quadtimers or flexpwm timers will probably need to be commandeered to trigger the ADC. Maybe we should start a list of which libraries are known to grab those "unused" timers so we can hopefully design libraries to have as few conflicts as possible if users try to use them together in a project.

Also, as a longer term goal (well beyond version 1.52), I want to move analogRead() to using the ADCETC. Hopefully this can give us a nice situation where people can freely mix audio library ADC use with ordinary Arduino analogRead(), and maybe also other time muxed use from other libraries needing analog inputs. Some sort of allocation of whether to use ADC1 vs ADC2 also needs to be worked out...

PaulStoffregen
04-27-2020, 01:31 AM
I reached out to NXP to ask if they have any guidance for triggering the ADC in sync with the PLL4-based audio clock. Who knows, maybe they have some way to do this which we just haven't seen buried somewhere in those 3437 pages?

Deleted User
04-27-2020, 11:50 AM
IMXRT1060RM_rev1.pdf on pages 3168 and 3500. Looks like it is possible to use PWM for ADC triggering.
Or sacrifice two pins and make a loopback?

KurtE
04-27-2020, 01:25 PM
@flashburn (and Paul) - Not sure if the same thing would apply, but when we were working on the ADC library, I did get the ADC modules to work off of the Quad Timer, I setup to use maybe two of the unused ones that did not have any PWM pins associated with them.

It requires you to setup the ADC to use the ADC_ETC, If I remember you also had to setup the XBar... I know that other tried with I think with a different timer and was having issues.

mjs513
04-27-2020, 02:09 PM
@flashburn (and Paul) - Not sure if the same thing would apply, but when we were working on the ADC library, I did get the ADC modules to work off of the Quad Timer, I setup to use maybe two of the unused ones that did not have any PWM pins associated with them.

It requires you to setup the ADC to use the ADC_ETC, If I remember you also had to setup the XBar... I know that other tried with I think with a different timer and was having issues.

Yep. You have to set up xbar to use the different timers. Attached is a zip for what we were playing for chaining pin pairs for analog reads. Pretty much shows how to set up the timers. Does get a bit confusing with all the timers we set up to use. Basically with xbara you connect the timer to the ADC trigger.

defragster
04-29-2020, 10:19 PM
Posted on TD 1.52 b2 thread was a note about Time Sync with T_4.x from secure RTC : pjrc.com/threads/60354-Teensyduino-1-52-Beta-2 (https://forum.pjrc.com/threads/60354-Teensyduino-1-52-Beta-2?p=235462&viewfull=1#post235462)

Source working fix to apply?::
pjrc.com/threads/45377-TimeTeensy3-example-gt-Time-chosen-is-not-permanent (https://forum.pjrc.com/threads/45377-TimeTeensy3-example-gt-Time-chosen-is-not-permanent?p=235422&viewfull=1#post235422)

<edit> Also noted there (or related post) that Teensy.exe loader time set on T_4.x is "Off by one hour" for Windows users.

XFer
04-30-2020, 01:43 PM
Installed 1.52beta3 with Arduino IDE 1.8.12, on Windows 10 Pro 64 bit.

I'm having a problem building a low power test based upon Duff's Snooze library: the library included with TD 1.52b3 can not find "SnoozeTimer.h"

Target was Teensy 4.0.

Full build log:



D:\Arduino\arduino-builder -dump-prefs -logger=machine -hardware D:\Arduino\hardware -hardware C:\Users\Fernando\AppData\Local\Arduino15\packages -hardware L:\Progetti\Arduino\hardware -tools D:\Arduino\tools-builder -tools D:\Arduino\hardware\tools\avr -tools C:\Users\Fernando\AppData\Local\Arduino15\packages -built-in-libraries D:\Arduino\libraries -libraries L:\Progetti\Arduino\libraries -fqbn=teensy:avr:teensy40:usb=serial,speed=600,opt= o3std,keys=en-us -ide-version=10812 -build-path c:\temp\arduino_build_306898 -warnings=none -build-cache c:\temp\arduino_cache_376848 -verbose L:\Progetti\Arduino\TeensyLowPowerTestOK\TeensyLow PowerTestOK.ino
D:\Arduino\arduino-builder -compile -logger=machine -hardware D:\Arduino\hardware -hardware C:\Users\Fernando\AppData\Local\Arduino15\packages -hardware L:\Progetti\Arduino\hardware -tools D:\Arduino\tools-builder -tools D:\Arduino\hardware\tools\avr -tools C:\Users\Fernando\AppData\Local\Arduino15\packages -built-in-libraries D:\Arduino\libraries -libraries L:\Progetti\Arduino\libraries -fqbn=teensy:avr:teensy40:usb=serial,speed=600,opt= o3std,keys=en-us -ide-version=10812 -build-path c:\temp\arduino_build_306898 -warnings=none -build-cache c:\temp\arduino_cache_376848 -verbose L:\Progetti\Arduino\TeensyLowPowerTestOK\TeensyLow PowerTestOK.ino
Using board 'teensy40' from platform in folder: D:\Arduino\hardware\teensy\avr
Using core 'teensy4' from platform in folder: D:\Arduino\hardware\teensy\avr
Detecting libraries used...
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "c:\\temp\\arduino_build_306898\\sketch\\TeensyLowP owerTestOK.ino.cpp" -o nul
Alternatives for Snooze.h: [Snooze_OLD@6.3.4 Snooze@6.3.4]
ResolveLibrary(Snooze.h)
-> candidates: [Snooze_OLD@6.3.4 Snooze@6.3.4]
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "c:\\temp\\arduino_build_306898\\sketch\\TeensyLowP owerTestOK.ino.cpp" -o nul
Alternatives for TimeLib.h: [Time@1.6]
ResolveLibrary(TimeLib.h)
-> candidates: [Time@1.6]
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "c:\\temp\\arduino_build_306898\\sketch\\TeensyLowP owerTestOK.ino.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\Snooze.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\SnoozeBlock.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeAlarm.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeAudio.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeCompare.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeDigital.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeSPI.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeTimer.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeTouch.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeUSBSerial.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\Snoozelc5vBuffer.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\hal.c" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeAlarm.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeAudio.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeCompare.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeDigital.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeSPI.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeTimer.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeTouch.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeUSBSerial.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\Snoozelc5vBuffer.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\hal.c" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeAlarm.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeAudio.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeCompare.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeDigital.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeSPI.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeTimer.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeTouch.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeUSBSerial.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\Snoozelc5vBuffer.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\hal.c" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_40\\hal.c" -o nul
Alternatives for SnoozeTimer.h: []
In file included from D:\Arduino\hardware\teensy\avr\libraries\Snooze\sr c\hal\TEENSY_40\hal.c:5:0:
ResolveLibrary(SnoozeTimer.h)

-> candidates: []
D:\Arduino\hardware\teensy\avr\libraries\Snooze\sr c\hal\TEENSY_40\hal.h:41:25: fatal error: SnoozeTimer.h: No such file or directory

Multiple libraries were found for "Snooze.h"
compilation terminated.

Used: D:\Arduino\hardware\teensy\avr\libraries\Snooze
Not used: L:\Progetti\Arduino\libraries\Snooze_OLD
Using library Snooze at version 6.3.4 in folder: D:\Arduino\hardware\teensy\avr\libraries\Snooze
Using library Time at version 1.6 in folder: D:\Arduino\hardware\teensy\avr\libraries\Time

Error compiling for board Teensy 4.0.



The relevant part (includes and defines):



#include <Snooze.h>
#include <TimeLib.h>

volatile unsigned long int g_elapsedMilliseconds;
volatile elapsedMillis g_millis;
volatile unsigned long int g_pulseCount1 = 0;
volatile unsigned long int g_pulseCount2 = 0;

// Snooze:
// Load drivers
// SnoozeTouch g_snoozeModule_touch;
SnoozeDigital g_snoozeModule_digitalPinInterrupt;
SnoozeTimer g_snoozeModule_timer;
// Install drivers to a Snooze Config Block
SnoozeBlock g_snoozeConfig(g_snoozeModule_timer, g_snoozeModule_digitalPinInterrupt);



Please let me know if I can be of further help.

jpk
04-30-2020, 07:07 PM
Hi,

it seems to me that something in the i2s part of the audio library is broken, here is my code:


#include <Audio.h>

AudioInputI2S input;
AudioAnalyzeNoteFrequency notefreq;
AudioConnection connection(input, 0, notefreq, 0);

void setup() {
AudioMemory(50);
notefreq.begin(0.15);
}

void loop() {
if (notefreq.available()) Serial.println(notefreq.read());
}


This doesn't work any more in beta, instead I have to use i2sQuad (which doesn't work in stable). The following doesn't work either in stable and beta regardless of i2s or i2sQuad:


#include <Audio.h>

AudioInputI2S input;
// AudioInputI2SQuad input;
AudioAnalyzeFFT1024 fft;
AudioConnection connection(input, 0, fft, 0);

void setup() {
AudioMemory(50);
}

// copied from the fft example:
void loop() {
float n;
int i;

if (fft.available()) {
// each time new FFT data is available
// print it all to the Arduino Serial Monitor
Serial.print("FFT: ");
for (i = 0; i < 40; i++) {
n = fft.read(i);
if (n >= 0.01) {
Serial.print(n);
Serial.print(" ");
} else {
Serial.print(" - "); // don't print "0.00"
}
}
Serial.println();
}
}


I use the Adafruit SPH0645 mems mic as input connected to a teensy 4 without the MCLK pin wired.

duff
04-30-2020, 07:11 PM
Installed 1.52beta3 with Arduino IDE 1.8.12, on Windows 10 Pro 64 bit.

I'm having a problem building a low power test based upon Duff's Snooze library: the library included with TD 1.52b3 can not find "SnoozeTimer.h"

Target was Teensy 4.0.

Full build log:



D:\Arduino\arduino-builder -dump-prefs -logger=machine -hardware D:\Arduino\hardware -hardware C:\Users\Fernando\AppData\Local\Arduino15\packages -hardware L:\Progetti\Arduino\hardware -tools D:\Arduino\tools-builder -tools D:\Arduino\hardware\tools\avr -tools C:\Users\Fernando\AppData\Local\Arduino15\packages -built-in-libraries D:\Arduino\libraries -libraries L:\Progetti\Arduino\libraries -fqbn=teensy:avr:teensy40:usb=serial,speed=600,opt= o3std,keys=en-us -ide-version=10812 -build-path c:\temp\arduino_build_306898 -warnings=none -build-cache c:\temp\arduino_cache_376848 -verbose L:\Progetti\Arduino\TeensyLowPowerTestOK\TeensyLow PowerTestOK.ino
D:\Arduino\arduino-builder -compile -logger=machine -hardware D:\Arduino\hardware -hardware C:\Users\Fernando\AppData\Local\Arduino15\packages -hardware L:\Progetti\Arduino\hardware -tools D:\Arduino\tools-builder -tools D:\Arduino\hardware\tools\avr -tools C:\Users\Fernando\AppData\Local\Arduino15\packages -built-in-libraries D:\Arduino\libraries -libraries L:\Progetti\Arduino\libraries -fqbn=teensy:avr:teensy40:usb=serial,speed=600,opt= o3std,keys=en-us -ide-version=10812 -build-path c:\temp\arduino_build_306898 -warnings=none -build-cache c:\temp\arduino_cache_376848 -verbose L:\Progetti\Arduino\TeensyLowPowerTestOK\TeensyLow PowerTestOK.ino
Using board 'teensy40' from platform in folder: D:\Arduino\hardware\teensy\avr
Using core 'teensy4' from platform in folder: D:\Arduino\hardware\teensy\avr
Detecting libraries used...
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "c:\\temp\\arduino_build_306898\\sketch\\TeensyLowP owerTestOK.ino.cpp" -o nul
Alternatives for Snooze.h: [Snooze_OLD@6.3.4 Snooze@6.3.4]
ResolveLibrary(Snooze.h)
-> candidates: [Snooze_OLD@6.3.4 Snooze@6.3.4]
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "c:\\temp\\arduino_build_306898\\sketch\\TeensyLowP owerTestOK.ino.cpp" -o nul
Alternatives for TimeLib.h: [Time@1.6]
ResolveLibrary(TimeLib.h)
-> candidates: [Time@1.6]
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "c:\\temp\\arduino_build_306898\\sketch\\TeensyLowP owerTestOK.ino.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\Snooze.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\SnoozeBlock.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeAlarm.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeAudio.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeCompare.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeDigital.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeSPI.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeTimer.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeTouch.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\SnoozeUSBSerial.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\Snoozelc5vBuffer.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_32\\hal.c" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeAlarm.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeAudio.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeCompare.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeDigital.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeSPI.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeTimer.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeTouch.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\SnoozeUSBSerial.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\Snoozelc5vBuffer.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_35\\hal.c" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeAlarm.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeAudio.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeCompare.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeDigital.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeSPI.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeTimer.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeTouch.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\SnoozeUSBSerial.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\Snoozelc5vBuffer.cpp" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_36\\hal.c" -o nul
"D:\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E -CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti -fno-threadsafe-statics -felide-constructors -Wno-error=narrowing -mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ -DTEENSYDUINO=152 -DARDUINO=10812 -DARDUINO_TEENSY40 -DF_CPU=600000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-ID:\\Arduino\\hardware\\teensy\\avr\\cores\\teensy 4" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sn ooze\\src" "-ID:\\Arduino\\hardware\\teensy\\avr\\libraries\\Ti me" "D:\\Arduino\\hardware\\teensy\\avr\\libraries\\Sno oze\\src\\hal\\TEENSY_40\\hal.c" -o nul
Alternatives for SnoozeTimer.h: []
In file included from D:\Arduino\hardware\teensy\avr\libraries\Snooze\sr c\hal\TEENSY_40\hal.c:5:0:
ResolveLibrary(SnoozeTimer.h)

-> candidates: []
D:\Arduino\hardware\teensy\avr\libraries\Snooze\sr c\hal\TEENSY_40\hal.h:41:25: fatal error: SnoozeTimer.h: No such file or directory

Multiple libraries were found for "Snooze.h"
compilation terminated.

Used: D:\Arduino\hardware\teensy\avr\libraries\Snooze
Not used: L:\Progetti\Arduino\libraries\Snooze_OLD
Using library Snooze at version 6.3.4 in folder: D:\Arduino\hardware\teensy\avr\libraries\Snooze
Using library Time at version 1.6 in folder: D:\Arduino\hardware\teensy\avr\libraries\Time

Error compiling for board Teensy 4.0.



The relevant part (includes and defines):



#include <Snooze.h>
#include <TimeLib.h>

volatile unsigned long int g_elapsedMilliseconds;
volatile elapsedMillis g_millis;
volatile unsigned long int g_pulseCount1 = 0;
volatile unsigned long int g_pulseCount2 = 0;

// Snooze:
// Load drivers
// SnoozeTouch g_snoozeModule_touch;
SnoozeDigital g_snoozeModule_digitalPinInterrupt;
SnoozeTimer g_snoozeModule_timer;
// Install drivers to a Snooze Config Block
SnoozeBlock g_snoozeConfig(g_snoozeModule_timer, g_snoozeModule_digitalPinInterrupt);



Please let me know if I can be of further help.
Did you try to download the latest Snooze (https://github.com/duff2013/Snooze) beta for T4 support? Just clone it or download the zip file I haven't updated the releases since I want to get any bugs squashed first.

jpk
04-30-2020, 07:16 PM
Hi Duff, in addition to what I stated in my above post I also can't get your code from this post (https://forum.pjrc.com/threads/36358-A-New-Accurate-FFT-Interpolator-for-Frequency-Estimation?p=113287&viewfull=1#post113287) to work with i2s/i2sQuad as input.

XFer
04-30-2020, 11:15 PM
Did you try to download the latest Snooze (https://github.com/duff2013/Snooze) beta for T4 support? Just clone it or download the zip file I haven't updated the releases since I want to get any bugs squashed first.

Builds OK with 6.3.8beta!
Did not have a chance to really try it, but good news nonetheless. :)

jpk
05-01-2020, 07:31 PM
OK, I read all forum posts about the SPH0645 I could find and spend quite some hours on fiddling with it. The problem seems to be that SPH0645 violates i2s specs. At least in my case it spits out only crazy noisy recordings, and I tried 2 boards. As AnalogAudioInput still does not work on T4 I ordered some other i2s mems mic bords to try. Request: please, I think it would be helpful to mention in the list of compatible mics that the SPH0645 causes troubles! Also it seems some people are desperately waiting for AnalogAudioInput to work on T4... Thanks again for all the great work!

Frank B
05-01-2020, 08:25 PM
There are good AD-breakouts like PCM1808 for ~4..5 EUR which are way better than AnalogAudioInput (and they only need 2 data-pins more)

https://www.google.com/search?q=PCM1808&client=firefox-b-d&source=lnms&tbm=shop&sa=X&ved=2ahUKEwiqx_Dzs5PpAhVF_KQKHUfpCPwQ_AUoAXoECAsQA w&biw=1611&bih=864

Deleted User
05-01-2020, 08:36 PM
@jpk
From the datasheet:

The SELECT pin determines when the microphone drives the Data pin. When SELECT = HIGH the Data pin is driven when the WS = HIGH, otherwise it is tri-stated (high impedance).
When operating a single microphone on an I2S bus, a pull down resistor (100K Ohms) should be placed from the Data pin to ground to insure the bus capacitance is discharged.

jpk
05-01-2020, 10:08 PM
@jpk From the datasheet

Thanks for the hint! The pulldown can't be enabled by pinMode...?


There are good AD-breakouts like PCM1808

Thanks! But I don't have space for an additional board...

defragster
05-02-2020, 02:11 AM
Posted on TD 1.52 b2 thread was a note about Time Sync with T_4.x from secure RTC : pjrc.com/threads/60354-Teensyduino-1-52-Beta-2 (https://forum.pjrc.com/threads/60354-Teensyduino-1-52-Beta-2?p=235462&viewfull=1#post235462)

Source working fix to apply?::
pjrc.com/threads/45377-TimeTeensy3-example-gt-Time-chosen-is-not-permanent (https://forum.pjrc.com/threads/45377-TimeTeensy3-example-gt-Time-chosen-is-not-permanent?p=235422&viewfull=1#post235422)

<edit> Also noted there (or related post) that Teensy.exe loader time set on T_4.x is "Off by one hour" for Windows users.

This post suggests Teensy Loader time is also one hour Off on MAC as well : How-to-access-the-internal-RTC-in-a-Teensy-4-0 (https://forum.pjrc.com/threads/60317-How-to-access-the-internal-RTC-in-a-Teensy-4-0?p=237639&viewfull=1#post237639)

The T_4.x SRTC doesn't store time changes as noted above without code fix linked. Not sure if that same cose works on all T_3.x's?

Also in post just linked a Platform IO user wonders how to get Teensy Loader without IDE and TD install? There is a link to Teensy.exe 1.48 here pjrc.com/teensy/teensy.exe (https://www.pjrc.com/teensy/teensy.exe) on page : pjrc.com/teensy/loader_xp.html (https://www.pjrc.com/teensy/loader_xp.html)

defragster
05-02-2020, 05:58 AM
Paul: would it make sense to put a copy of Teensy.exe in some fashion ( all OS zipped? ) on the storage area for each build … pjrc.com/teensy/td_151/ (https://www.pjrc.com/teensy/td_151/)

PaulStoffregen
05-02-2020, 11:27 AM
Changes to how I build or package the software don't make sense while trying to release new hardware!

Deleted User
05-02-2020, 01:57 PM
Thanks for the hint! The pulldown can't be enabled by pinMode...?
The 100kΩ is a very weak pulldown, just to discharge static on the data line when output is disconnected. The pinmode pulldown is a strong, which has disadvantages on signal quality and loads the mic diver so much it leads to degradation in signal.

Deleted User
05-02-2020, 04:31 PM
just in case, may I remind of the GUI bug still existent since years?
https://forum.pjrc.com/threads/45216-Two-GUI-related-bugs
It also cuts usability of the tool, as it is often impossile to re-import the work to make changes, continue work, etc. Actually it is a lottery, because sometimes it just works, but sometimes not. The reason is unclear, so user has always to expect the tool wil not allow re-import and everything has to be done again.

Frank B
05-02-2020, 04:32 PM
The pinmode pulldown is a strong, which has disadvantages on signal quality and loads the mic diver so much it leads to degradation in signal.

Where did you read this?
According to the manual, the only Information I found says the PIN-Pulldowns are 100k, too.
So, I'd appreciate a source.

Deleted User
05-02-2020, 04:48 PM
yes, the manual. But why does it not work that way?
Before firing up a dispute, how about the GUI bug?

Frank B
05-02-2020, 04:49 PM
So no source and it was just a guess?
Please stop that in the future or say that you don't know it exactly.

Other users may read it and may think the T4-Pulldowns are stronger (which is still possible - but again, I read 100k on Page 956, Reference Manual - maybe that's not correct?).

duff
05-02-2020, 07:35 PM
Hi Duff, in addition to what I stated in my above post I also can't get your code from this post (https://forum.pjrc.com/threads/36358-A-New-Accurate-FFT-Interpolator-for-Frequency-Estimation?p=113287&viewfull=1#post113287) to work with i2s/i2sQuad as input.
No I haven't looked into that at all.


Builds OK with 6.3.8beta!
Did not have a chance to really try it, but good news nonetheless. :)
I tried to make sure all the examples worked :) One caveat is that hibernate wakes through a reset currently.

XFer
05-02-2020, 08:51 PM
One caveat is that hibernate wakes through a reset currently.

Ah, could you please elaborate on that?
Does Teensy 4.0 resets itself when waking from Snooze.hibernate?

PaulStoffregen
05-02-2020, 10:49 PM
I read 100k on Page 956, Reference Manual - maybe that's not correct?

Looks like the reference manual is correct, the pulldown resistor is 100K.

To check this I connected 220K resistor between pin 20 and 3.3V and ran this program.



void setup() {
pinMode(20, INPUT_PULLDOWN);
}

void loop() {
}


My multimeter reads 1.06 volts.

19955

PaulStoffregen
05-03-2020, 12:24 AM
Yep. You have to set up xbar to use the different timers. Attached is a zip for what we were playing for chaining pin pairs for analog reads. Pretty much shows how to set up the timers. Does get a bit confusing with all the timers we set up to use. Basically with xbara you connect the timer to the ADC trigger.

I'm working with this today. Have it running here with interrupts. No DMA yet...

mjs513
05-03-2020, 12:44 AM
I'm working with this today. Have it running here with interrupts. No DMA yet... Sounds like you are having fun with it. @KurtE and I got carried away with it when we were testing. @KurtE had DMA working with it. Not sure this is the latest but I attaching the last zip I have. Maybe @KurtE has a later one.

PaulStoffregen
05-03-2020, 01:07 AM
I got DMA working, though only a very simple test so far.



#include "DMAChannel.h"

extern "C" void xbar_connect(unsigned int input, unsigned int output);

const uint8_t adc2_pin_to_channel[] = {
7, // 0/A0 AD_B1_02
8, // 1/A1 AD_B1_03
12, // 2/A2 AD_B1_07
11, // 3/A3 AD_B1_06
6, // 4/A4 AD_B1_01
5, // 5/A5 AD_B1_00
15, // 6/A6 AD_B1_10
0, // 7/A7 AD_B1_11
13, // 8/A8 AD_B1_08
14, // 9/A9 AD_B1_09
255, // 10/A10 AD_B0_12 - only on ADC1, 1 - can't use for audio
255, // 11/A11 AD_B0_13 - only on ADC1, 2 - can't use for audio
3, // 12/A12 AD_B1_14
4, // 13/A13 AD_B1_15
7, // 14/A0 AD_B1_02
8, // 15/A1 AD_B1_03
12, // 16/A2 AD_B1_07
11, // 17/A3 AD_B1_06
6, // 18/A4 AD_B1_01
5, // 19/A5 AD_B1_00
15, // 20/A6 AD_B1_10
0, // 21/A7 AD_B1_11
13, // 22/A8 AD_B1_08
14, // 23/A9 AD_B1_09
255, // 24/A10 AD_B0_12 - only on ADC1, 1 - can't use for audio
255, // 25/A11 AD_B0_13 - only on ADC1, 2 - can't use for audio
3, // 26/A12 AD_B1_14 - only on ADC2, do not use analogRead()
4, // 27/A13 AD_B1_15 - only on ADC2, do not use analogRead()
#ifdef ARDUINO_TEENSY41
255, // 28
255, // 29
255, // 30
255, // 31
255, // 32
255, // 33
255, // 34
255, // 35
255, // 36
255, // 37
1, // 38/A14 AD_B1_12 - only on ADC2, do not use analogRead()
2, // 39/A15 AD_B1_13 - only on ADC2, do not use analogRead()
9, // 40/A16 AD_B1_04
10, // 41/A17 AD_B1_05
#endif
};


DMAChannel dma;
uint16_t output;


void setup()
{
while (!Serial);
Serial.println("ADC triggering test");

// configure a timer to trigger ADC
const int comp1load = 58594; // approx 10 Hz with TMR_CTRL_PCS=15
TMR3_ENBL &= ~(1<<3);
TMR3_SCTRL3 = TMR_SCTRL_OEN | TMR_SCTRL_FORCE;
TMR3_CSCTRL3 = TMR_CSCTRL_CL1(1) | TMR_CSCTRL_TCF1EN;
TMR3_CNTR3 = 0;
TMR3_LOAD3 = 0;
TMR3_COMP13 = comp1load;
TMR3_CMPLD13 = comp1load;
//TMR3_CTRL3 = TMR_CTRL_CM(1) | TMR_CTRL_PCS(9) | TMR_CTRL_LENGTH | TMR_CTRL_OUTMODE(3);
TMR3_CTRL3 = TMR_CTRL_CM(1) | TMR_CTRL_PCS(15) | TMR_CTRL_LENGTH | TMR_CTRL_OUTMODE(3);
TMR3_DMA3 = TMR_DMA_CMPLD1DE;
//CORE_PIN15_CONFIG = 1 ; // GPIO_AD_B1_03, ALT1 = QTIMER3_TIMER3, page 495
TMR3_CNTR3 = 0;
TMR3_ENBL |= (1<<3);

// connect the timer output the ADC_ETC input
const int trigger = 4; // 0-3 for ADC1, 4-7 for ADC2
CCM_CCGR2 |= CCM_CCGR2_XBAR1(CCM_CCGR_ON);
xbar_connect(XBARA1_IN_QTIMER3_TIMER3, XBARA1_OUT_ADC_ETC_TRIG00 + trigger);

// turn on ADC_ETC and configure to receive trigger
if (ADC_ETC_CTRL & (ADC_ETC_CTRL_SOFTRST | ADC_ETC_CTRL_TSC_BYPASS)) {
//Serial.printf("ADC_ETC_CTRL = %08X\n", ADC_ETC_CTRL);
ADC_ETC_CTRL = 0; // clears SOFTRST only
ADC_ETC_CTRL = 0; // clears TSC_BYPASS
//Serial.printf("ADC_ETC_CTRL = %08X\n", ADC_ETC_CTRL);
}
ADC_ETC_CTRL |= ADC_ETC_CTRL_TRIG_ENABLE(1 << trigger) | ADC_ETC_CTRL_DMA_MODE_SEL;
ADC_ETC_DMA_CTRL |= ADC_ETC_DMA_CTRL_TRIQ_ENABLE(trigger);

// configure ADC_ETC trigger4 to make one ADC2 measurement on pin A2
const int len = 1;
const int pin = A2;
IMXRT_ADC_ETC.TRIG[trigger].CTRL = ADC_ETC_TRIG_CTRL_TRIG_CHAIN(len - 1) |
ADC_ETC_TRIG_CTRL_TRIG_PRIORITY(7);
IMXRT_ADC_ETC.TRIG[trigger].CHAIN_1_0 = ADC_ETC_TRIG_CHAIN_HWTS0(1) |
ADC_ETC_TRIG_CHAIN_CSEL0(adc2_pin_to_channel[pin]) | ADC_ETC_TRIG_CHAIN_B2B0;

// set up ADC2 for 12 bit mode, hardware trigger
Serial.printf("ADC2_CFG = %08X\n", ADC2_CFG);
ADC2_CFG |= ADC_CFG_ADTRG;
ADC2_CFG = ADC_CFG_MODE(2) | ADC_CFG_ADSTS(3) | ADC_CFG_ADLSMP | ADC_CFG_ADTRG |
ADC_CFG_ADICLK(1) | ADC_CFG_ADIV(0) /*| ADC_CFG_ADHSC*/;
ADC2_GC &= ~ADC_GC_AVGE; // single sample, no averaging
ADC2_HC0 = ADC_HC_ADCH(16); // 16 = controlled by ADC_ETC

// use a DMA channel to capture ADC_ETC output
dma.begin();
dma.TCD->SADDR = &(IMXRT_ADC_ETC.TRIG[4].RESULT_1_0);
dma.TCD->SOFF = 0;
dma.TCD->ATTR = DMA_TCD_ATTR_SSIZE(1) | DMA_TCD_ATTR_DSIZE(1);
dma.TCD->NBYTES_MLNO = 2;
dma.TCD->SLAST = 0;
dma.TCD->DADDR = &output;
dma.TCD->DOFF = 0;
dma.TCD->CITER_ELINKNO = 1;
dma.TCD->DLASTSGA = 0;
dma.TCD->BITER_ELINKNO = 1;
dma.TCD->CSR = DMA_TCD_CSR_INTMAJOR;
dma.triggerAtHardwareEvent(DMAMUX_SOURCE_ADC_ETC);
dma.enable();
dma.attachInterrupt(isr);

}

void isr()
{
dma.clearInterrupt();
Serial.printf("isr %u\n", output);
}

void loop()
{
// make measurements with ADC1 while ADC_ETC uses ADC2
Serial.printf("\tA0 = %d\n", analogRead(A0));
delay(1000);
}

Frank B
05-03-2020, 11:30 AM
RE: DMA:
Can you align the DMAMEM (in the linkerscripts) to 32Bytes instead 16, please?


4.3.1.Use cacheable buffersNormally buffers on the OCRAM, SDRAMare Cacheable and Write-Back. It can be in the stack, static section or allocated from heap. To use such buffer as DMAsource, user must performa DCACHE clean operation is done before DMA started, this makessure all of the data are committed to the memoryfrom cache. If buffer is used as DMAreceive destination, a DCACHE invalidate operation must be done after DMA completedand before CPU or other mastersread.The buffer address should be L1 cache line size aligned(32bytesin i.MXRT).


From here : https://www.nxp.com/docs/en/application-note/AN12042.pdf

PaulStoffregen
05-03-2020, 11:54 AM
Can you align the DMAMEM (in the linkerscripts) to 32Bytes instead 16, please?


Like this?
https://github.com/PaulStoffregen/cores/commit/bef18c9869045ed45f726574cb49c2b416e75b2a

Edit: however, this doesn't eliminate the need to align buffers to 32 bytes. It only adds padding so whatever the link places in memory after those buffer (which today is only the heap aligned in 4K blocks anyway) gets aligned to 32 bytes.

mjs513
05-03-2020, 11:57 AM
I got DMA working, though only a very simple test so far.


Just got up - cool you got it working going through the sketch started remembering what we did :) @KurtE did all the DMA stuff I played more with the chaining of the pins and XBAR setup, I think, seems like forever since we did that.

EDIT: Just to add for buffers. Kurt had this in is sketch that I believe is what you all are talking about for DMAMEM

const uint32_t buffer_size = 1600;
DMAMEM static volatile uint16_t __attribute__((aligned(32))) dma_adc_buff1[buffer_size];
DMAMEM static volatile uint16_t __attribute__((aligned(32))) dma_adc_buff2[buffer_size];
AnalogBufferDMA abdma1(dma_adc_buff1, buffer_size, dma_adc_buff2, buffer_size);

Frank B
05-03-2020, 12:02 PM
@Paul:
Wow that was fast.
Maybe it would be good to add a corresponding attribute to DMAMEM. However, this may also waste memory when DMAMEM is used for other things. You could add another #define with a smaller alignment. Technically it makes sense - just wondering if all users still understand.
But you can also specify in the linker script that the single elements are aligned, I think.


I'll check this afternoon if the audio library uses 32-Byte alignment everywhere.
Edit: On the other hand, all audio-buffers are mutiple 32-byte size, so for audio, everything should be ok, anyway..

PaulStoffregen
05-03-2020, 01:35 PM
just wondering if all users still understand.

I'm pretty sure only a very small percentage of users understand DMA.

Maybe in a glorious but distant future we'll have lots of tutorial material about using DMA. But until then, probably best to just make sure all buffers are aligned and the cache functions are used properly. Very likely most people attempting DMA will copy from existing code. That's how I start every time I do it.

KurtE
05-03-2020, 01:47 PM
@Paul, Yes - There is ADC code working with DMA for T4.x in ADC library. I have it setup using the object @mjs513 mentioned.

I have it using two DMASettings objects to round robbin, as the DMA Channel code with circular buffers never appear to work for me. Often times they would only use the first half, other times they appear to write into garbage areas... So I went with something that worked for me.

KurtE
05-03-2020, 01:55 PM
@Paul... Forgot to mention there are a couple of examples in the ADC library.

Example: adc_timer_dma.

Where I also have it setup to use one (or two) of the Quad Timers, that do not have any PWM pins connected to them, and I have the timer setup to trigger the DMA reads.

The example: adc_dma
Sets up to run the DMA as fast as it wants to go.

Frank B
05-03-2020, 10:16 PM
Paul, is the latest SPI library included in 1.52b3?
It fixes a timing issue.


Edit: Found it - SPI in 1.52b3 is up to date. Thanks

(https://forum.pjrc.com/threads/59906-SPI-MOSI-pulled-low-too-late-on-Teensy-4-0?p=237800&viewfull=1#post237800)

PaulStoffregen
05-04-2020, 04:18 PM
Finally, I got audio ADC input working on Teensy 4.0.

https://github.com/PaulStoffregen/Audio/commit/5d6cdd51aae14750047bb468fa3d385218de808a

The code is still very rough around the edges, as you can see from the many TODO and FIXME comments. But it is working, at least with the recently address PassThroughADCtoI2S example.

If anyone wants to look at this, the fixed DC offset is probably the most urgent part to improve. So many other things could be better too, but even with all this less than ideal stuff, it actually sounds pretty decent.

Also a huge caveat is it doesn't do update responsibility, so like USB, it only works if combined with another input or output that causes the library to update. So many things to improve, but at least it's a starting point and a better answer than "that just doesn't work on Teensy 4.0".

jpk
05-04-2020, 05:42 PM
Fantastic, many thanks, thats good news!!! :)

PaulStoffregen
05-04-2020, 07:05 PM
Also noted there (or related post) that Teensy.exe loader time set on T_4.x is "Off by one hour" for Windows users.

I've changed the daylight savings (summer) time code in Teensy Loader, which affects the default time on Teensy 4 (but not Teensy 3 - which is set by Arduino's build). Hopefully 1.52-beta4 will fix it for everyone.

defragster
05-04-2020, 07:09 PM
I've changed the daylight savings (summer) time code in Teensy Loader, which affects the default time on Teensy 4 (but not Teensy 3 - which is set by Arduino's build). Hopefully 1.52-beta4 will fix it for everyone.

Nice, in hindsight it seemed it must have been related to that as after the Teensy update to do that it always seemed 'right' - then the clocks changed … but not building for that every day that 'event' wasn't closely associated.

PaulStoffregen
05-04-2020, 07:09 PM
The problem seems to be that SPH0645 violates i2s specs.

I've ordered a couple of the Adafruit SPH0645 boards from Digikey.

I previously tested I2S with INMP411, which seemed to work well.

I also tested some time ago with whatever mic "OneHorse" used to sell. But sadly, I can't seem to find those now, so difficult to know if they still work. :(

WMXZ
05-04-2020, 07:14 PM
I've changed the daylight savings (summer) time code in Teensy Loader, which affects the default time on Teensy 4 (but not Teensy 3 - which is set by Arduino's build). Hopefully 1.52-beta4 will fix it for everyone.

NO…!, daylight saving times are different in US and the rest of the world, and may (hopefully) be eliminated in Europe.
(or does Teensy Loader know where it is used?)

defragster
05-04-2020, 07:18 PM
NO…!, daylight saving times are different in US and the rest of the world, and may (hopefully) be eliminated in Europe.
(or does Teensy Loader know where it is used?)

It seems to have been working right for IDE generated 'compile times' through the IDE.

Ideally the Teensy Loader just gets it from the OS - now adjusted for local policy for DST from the computer?

WMXZ
05-04-2020, 07:33 PM
It seems to have been working right for IDE generated 'compile times' through the IDE.

IFAIK, this was pre T4.0, where IDE generated a symbol with Loader link time.
On new Teensy Loader this is not controllable by IDE or User (or at least it is not transparent to me, or better, I do not know how Pauls is doing this)

PaulStoffregen
05-04-2020, 07:57 PM
Ideally the Teensy Loader just gets it from the OS

Yes, that's how it was supposed to work, but wasn't. Hopefully it will now. Everyone beta testing gets to be judge of whether it's really working now (or in a matter of minutes.... I'm packaging up 1.52-beta4 now and waiting on Raspberry Pi to finish its build)

defragster
05-04-2020, 08:36 PM
NEW BETA 4 for TD 1.54 released :: Teensyduino-1-52-Beta-4 (https://forum.pjrc.com/threads/60746-Teensyduino-1-52-Beta-4?p=237974#post237974)


Yes, that's how it was supposed to work, but wasn't. Hopefully it will now. Everyone beta testing gets to be judge of whether it's really working now (or in a matter of minutes.... I'm packaging up 1.52-beta4 now and waiting on Raspberry Pi to finish its build)

Confirmed it works - Time now matches PC time on Windows - and turning off PC DST Adjust uses the 'hour behind time' the PC shows.

NEW BETA 4 for TD 1.54 released :: Teensyduino-1-52-Beta-4 (https://forum.pjrc.com/threads/60746-Teensyduino-1-52-Beta-4?p=237974#post237974)

@WMXZ - that refer to IDE on T_3.6 was known - just added to confirm the time sent to T_3.6 was working before with 'user selected local time' - Seems Pass through Teensy Loader now does the same.

jpk
05-04-2020, 11:06 PM
I can't seem to find those now, so difficult to know if they still work. :(

see here, it's available again since today: https://www.tindie.com/products/onehorse/ics43434-i2s-digital-microphone/

PaulStoffregen
05-05-2020, 02:22 PM
it seems to me that something in the i2s part of the audio library is broken, here is my code:
....
I use the Adafruit SPH0645 mems mic as input connected to a teensy 4 without the MCLK pin wired.

Good news. I found my box of microphones and I had this exact Adafruit SPH0645. So I wired it up to a Teensy 4.0 and ran you program. It seems to work, at least as well as this microphone works anyway. Here's a quick video of the test I did.


https://www.youtube.com/watch?v=ukp5pY1m6is

For this test, I modified your program slightly. It prints only the first 20 bins (as much as my camera could record without taking a lot of time to set up a better recording) and I edited it to print 3 digits since the mic's levels are so low. Here's the exact code I ran in that test for the video.



#include <Audio.h>

AudioInputI2S input;
// AudioInputI2SQuad input;
AudioAnalyzeFFT1024 fft;
AudioConnection connection(input, 0, fft, 0);

void setup() {
AudioMemory(50);
}

// copied from the fft example:
void loop() {
float n;
int i;

if (fft.available()) {
// each time new FFT data is available
// print it all to the Arduino Serial Monitor
Serial.print("FFT: ");
for (i = 0; i < 20; i++) {
n = fft.read(i);
if (n >= 0.001) {
Serial.print(n, 3);
Serial.print(" ");
} else {
Serial.print(" -- "); // don't print "0.00"
}
}
Serial.println();
}
}


19989
(click for full size)

EDIT: Here is a better program which uses a high-pass filter to remove the SPH0645's strong DC output and then applies some digital gain before passing the signal into the FFT. It gives much better results.



#include <Audio.h>

// GUItool: begin automatically generated code
AudioInputI2S i2s1; //xy=180,111
AudioFilterStateVariable filter1; //xy=325,101
AudioAmplifier amp1; //xy=470,93
AudioAnalyzeFFT1024 fft1024_1; //xy=616,102
AudioConnection patchCord1(i2s1, 0, filter1, 0);
AudioConnection patchCord2(filter1, 2, amp1, 0);
AudioConnection patchCord3(amp1, fft1024_1);
// GUItool: end automatically generated code

void setup() {
AudioMemory(50);
filter1.frequency(30); // filter out DC & extremely low frequencies
amp1.gain(8.5); // amplify sign to useful range
}

void loop() {
if (fft1024_1.available()) {
// each time new FFT data is available
// print 20 bins to the Arduino Serial Monitor
Serial.print("FFT: ");
for (int i = 0; i < 20; i++) {
float n = fft1024_1.read(i);
if (n >= 0.001) {
Serial.print(n, 3);
Serial.print(" ");
} else {
Serial.print(" -- "); // don't print "0.000"
}
}
Serial.println();
}
}


I'm going to add this as an example in the Audio library, and probably in the future more examples for each specific MEMS microphone. Hopefully that will help in the future when these sorts of issues come up.



Edit Again: I've added this to the library's examples.
https://github.com/PaulStoffregen/Audio/commit/5c5b4e80ada565b7643022ee906f55f29d92e1a6

jpk
05-05-2020, 11:58 PM
Thank you so much, I really appreciate it!