FreeRTOS-Plus-FAT >

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.

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.

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.