play_sd_wav includes <SD.h>, which breaks Platform IO
eyuan-creare opened this issue · 2 comments
Description
play_sd_wav.cpp includes <SD.h>
- SD.h references the typedef: "DateTimeFields"
- DateTimeFields is found in core_pins.h, which I believe is meant for Teensy 2.0.
When I build in Platform I/O for micromod and include the Teensy Audio repo, a different core_pins.h is used that does not have DateTimeFields is not declared, among other symbols.
Steps To Reproduce Problem
Build Platform I/O using platformio.init:
[env:teensymm]
platform = teensy@4.14.0
framework = arduino
board = teensymm
lib_deps =
https://github.com/Tympan/Tympan_Library.git#Tympan_MicroMod
https://github.com/PaulStoffregen/Audio.git
https://github.com/PaulStoffregen/Wire.git
https://github.com/PaulStoffregen/SPI.git
https://github.com/PaulStoffregen/SD.git
https://github.com/PaulStoffregen/SdFat.git
https://github.com/PaulStoffregen/Time.git
### Hardware & Software
Board: Micromod with custom board
Shields / modules used:
Arduino IDE version: Platform I/O
Teensyduino version: 1.55
Operating system & version: Win10
Any other software or hardware? Platform I/O
### Arduino Sketch
### Errors or Incorrect Output
You're using the new SD.h with an old copy of the Teensy core library.
The officially supported way to get a complete set of consistent library is with Arduino and the Teensyduino installer. We're currently at 1.56-beta4 for the latest.
https://forum.pjrc.com/threads/68972-Teensyduino-1-56-Beta-4
PlatformIO is not officially supported. If you install the correct set of libraries, it probably will work. But you're on your own to get that right. Best advice I can offer is to use Arduino + Teensyduino 1.56-beta4 as a guide to get the complete set of consistent libraries.
@PaulStoffregen thank you for reviewing this, and for the support you provide.