I was able to run the hubbe mpt.ino example with no problems. So i have tried to move forward with the yoonghm library and run the blinky example with the lib installed following the readme. It won't compile. I am getting these messages from the compiler:
Arduino: 1.8.13 (Windows 10), TD: 1.53, Board: "Teensy 3.2 / 3.1, MTP Disk (Experimental), 96 MHz (overclock), Faster, Czech"
In file included from D:\ChuckW\Documents\Microcontrollers\Arduino\Teensy\MTP\MTP-master\MTP-master\examples\MTP_blinky\MTP_blinky.ino:15:0:
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h:37:1: error: 'SdFatSdioEX' does not name a type
SdFatSdioEX SD;
^
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h: In member function 'virtual uint64_t MTPStorage_SD::size()':
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h:110:39: error: 'SD' was not declared in this scope
return (uint64_t)512 * (uint64_t)SD.clusterCount() * (uint64_t)SD.vol()->blocksPerCluster();
^
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h: In member function 'virtual uint64_t MTPStorage_SD::free()':
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h:114:25: error: 'SD' was not declared in this scope
uint64_t volFree = SD.vol()->freeClusterCount();
^
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h: In member function 'void MTPStorage_SD::OpenIndex()':
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h:122:14: error: 'SD' was not declared in this scope
index_ = SD.open("mtpindex.dat", FILE_WRITE);
^
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h: In member function 'void MTPStorage_SD::OpenFileByIndex(uint32_t, uint8_t)':
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h:174:10: error: 'SD' was not declared in this scope
f_ = SD.open(filename, mode);
^
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h: In member function 'void MTPStorage_SD::GenerateIndex()':
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h:189:5: error: 'SD' was not declared in this scope
SD.remove("mtpindex.dat");
^
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h: In member function 'virtual bool MTPStorage_SD:
eleteObject(uint32_t)':
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h:322:17: error: 'SD' was not declared in this scope
success = SD.rmdir(filename);
^
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h:324:17: error: 'SD' was not declared in this scope
success = SD.remove(filename);
^
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h: In member function 'virtual uint32_t MTPStorage_SD::Create(uint32_t, bool, const char*)':
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h:372:7: error: 'SD' was not declared in this scope
SD.mkdir(filename);
^
D:\ChuckW\Arduino\libraries\MTP-master/MTP.h:375:38: warning: large integer implicitly truncated to unsigned type [-Woverflow]
OpenFileByIndex(ret, FILE_WRITE);
^
MTP_blinky: In function 'void loop()':
MTP_blinky:46: error: 'SD' was not declared in this scope
if (SD.begin()) {
^
In file included from D:\ChuckW\Documents\Microcontrollers\Arduino\Teensy\MTP\MTP-master\MTP-master\examples\MTP_blinky\MTP_blinky.ino:2:0:
D:\ChuckW\Arduino\libraries\SdFat\src/FreeStack.h: At global scope:
D:\ChuckW\Arduino\libraries\SdFat\src/FreeStack.h:51:12: warning: 'int FreeStack()' defined but not used [-Wunused-function]
static int FreeStack() {
^
Multiple libraries were found for "BlockDriver.h"
Used: D:\ChuckW\Arduino\libraries\SdFat
Not used: D:\ChuckW\Arduino\libraries\SdFat_-_Adafruit_Fork
'SD' was not declared in this scope
***************************************************
Blinky.ino code
Code:
#include <BlockDriver.h>
#include <FreeStack.h>
#include <MinimumSerial.h>
#include <SdFat.h>
#include <SdFatConfig.h>
#include <sdios.h>
#include <SysCall.h>
/*
This example demonstrates MTP with blinky using systick interrupt.
This example tests MTP and SdFat
*/
#include <MTP.h>
MTPStorage_SD storage;
MTPD mtpd(&storage);
volatile int status = 0;
volatile bool sdfound = 0;
volatile int count = 1;
void rtc_seconds_isr() {
if (count-- == 0) {
digitalWrite(LED_BUILTIN, status);
Serial.println("I should be commented out");
status = !status;
if (sdfound)
count = 2;
else
count = 1;
}
}
void setup() {
Serial.begin(19200);
pinMode(LED_BUILTIN, OUTPUT);
RTC_IER |= 0x10; // Enable seconds IRQ from RTC peripheral
NVIC_ENABLE_IRQ(IRQ_RTC_SECOND); // Enable seconds IRS function in NVIC
}
void loop() {
if (SD.begin()) {
sdfound = true;
mtpd.loop();
}
else {
sdfound = false;
}
}