earlephilhower / ESP8266SdFat

Arduino FAT16/FAT32 Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

library.properties architecture

JAndrassy opened this issue · comments

https://forum.arduino.cc/index.php?topic=726897.msg4889319#msg4889319

The bug would be with the ESP8266SdFat library. Considering the library name, the wildcard architecture specification seems questionable. If that was changed to "esp8266" then the library would have an explicit architecture match and get priority.

I do not believe that this will fix the problem. The actual library properties bundled with esp8266 core 2.7.4
C:\Users\myName\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ESP8266SdFat\library.properties

shows

name=ESP8266SdFat
version=1.1.0
license=MIT
author=Bill Greiman fat16lib@sbcglobal.net
maintainer=Earle F. Philhower, III earlephilhower@yahoo.com
sentence=Fork of Bill Greiman's SdFat library https://github.com/greiman/SdFat with fixes for ESP8266 Arduino support.
paragraph=Minor tweak of Bill Greiman's SdFat FAT16/FAT32 file system for SD cards. Modified to enclose all objects, constants, etc. in a unique namespace "sdfat" to make it easier to integrate with the ESP8266's own File class.
category=Data Storage
url=https://github.com/earlephilhower/ESP8266SdFat
repository=https://github.com/earlephilhower/ESP8266SdFat.git
architectures=esp8266
dot_a_linkage=true

I think that both the explicit architectures = esp8266 in the esp8266SdFat libraries properties and the generic architecture of SdFat = * are both architecture compatible and the build process carries on with criteria further down on the list.

I have found that none of the library examples will compile successfully when SdFat.h is included in the user add libraries folder in the ide sketch folder.

@cattledogGH it shows esp8266 architecture because it is already fixed

I understand that the issue you opened was closed and fixed with the architecture properties, but what I am saying is that the actual library bundled with the esp8266 core 2.7.4 already had that architecture assignment before the correction was made in git hub. It was also strangely numbered v1.1.0 and it does not look like that version in the past github versions of this library properties.

It does not fix the issue in my testing. I think that is because the architecture = esp8266 and architecture = * are both indicators of valid libraries and the build process carries on with preference given to SdFat.h instead of esp8266SdFat.h because of the closer name match.
I'm not sure @pert was correct in the statement that the architecture assignment would fix the issue of failure to compile when SdFat is present in the user library folder.

ok, then it is better to continue the discussion on arduino forum

ok, the it is better to continue the discussion on arduino forum

I have done that.
https://forum.arduino.cc/index.php?topic=726897.msg4890513#msg4890513