system
(system)
February 29, 2016, 1:18pm
1
plek324 wrote on Monday, February 29, 2016 :
When NOT using long file name, compile errors occur on ff_dir.c, because in two occasions ffconfigLFN_SUPPORT is not checked on it’s value, but whether it is defined or not.
But by including “FreeRTOSFATConfigDefaults.h” ffconfigLFN_SUPPORT is always defined.
htibosch
(Hein Tibosch)
February 29, 2016, 4:45pm
2
heinbali01 wrote on Monday, February 29, 2016 :
Hi Peter,
Thanks very much for noticing this, you are right. this is a configuration (ffconfigLFN_SUPPORT == 0) that was tested less often.
In ff_dir.c, about line 1221, please change the following:
-#if defined( ffconfigLFN_SUPPORT )
+#if( ffconfigLFN_SUPPORT != 0)
That is the only occurrence I see in “FreeRTOS+FAT Labs Build 160112” that I encountered. Did you see a second one?
I just tested a project with:
#define ffconfigLFN_SUPPORT 0
but it works just as well.
Regards.
system
(system)
March 1, 2016, 7:41am
3
plek324 wrote on Tuesday, March 01, 2016 :
Hi,
it seems that you have differend code that I. I have build 160112 here.
At line line 1221 in ff_dir.c I have:
1221:#ifndef ffconfigLFN_SUPPORT
1222: BaseType_t xLFNCount;
1223:#endif
I changed this to:
#if( ffconfigLFN_SUPPORT==0 )
BaseType_t xLFNCount;
#endif
And there is also a reference on line 556:
#if defined( ffconfigLFN_SUPPORT )
{
xLFNTotal = 0;
}
#endif /* ffconfigLFN_SUPPORT */
which I changed to:
#if ( ffconfigLFN_SUPPORT!=0 )
{
xLFNTotal = 0;
}
#endif /* ffconfigLFN_SUPPORT */
With those two changes I was able to build the project. I haven’t tested anything else, as I have to write a SPI driver to get any futher.