FreeRTOS_FTP_server.c does not compile if ffconfigTIME_SUPPORT is 0
Hi,
What do I miss?
Thanks
Rasty
./FreeRTOS-Plus-TCP/protocols/FTP/FreeRTOSFTPserver.c: In function ‘prvSizeDateFile’:
../FreeRTOS-Plus-TCP/protocols/FTP/FreeRTOSFTPserver.c:2322:27: error: ‘FFStatt’ has no member named ‘stmtime’
timet secs = xStatBuf.st_mtime;
In function prvSizeDateFile
if( xSendDate != pdFALSE )
{
FFTimeStructt tmStruct;
timet secs = xStatBuf.stmtime; <<—— no st_mtime
FreeRTOS_FTP_server.c does not compile if ffconfigTIME_SUPPORT is 0
The “MDTM” command is quite essential to FTP. It needs support for time & date in +FAT.
So unless you have a good reason not to use it, I would enable it in your FreeRTOSFATConfig.h:
#define ffconfigTIME_SUPPORT 1
and also include the source file “ff_time.c”.
Regards
FreeRTOS_FTP_server.c does not compile if ffconfigTIME_SUPPORT is 0
I have several reasons why I try to remove it
1. I do not have RTC
2. I was trying to optimize footprint
2. I had the impresion that some “time” stuff drawn in from glibc. But I’m not sure.
FreeRTOS_FTP_server.c does not compile if ffconfigTIME_SUPPORT is 0
I do not have RTCBut you dohave NTP 🙂 What I often do is synchronise with NTP and use FreeRTOS to maintain the real time.
I was trying to optimize footprintI’m not sure if it saves a lot of code. Have you calculated that?
I had the impression that some “time” stuff drawn in from glibc. But I’m not sure.Not that I’m aware off. Several time-functions have been rewritten in order make it independent from the libraries provided by the compiler. Now if you insist on not using time-support, I (or you) could make a change, remove the MDTM line from: ~~~~ static const char pcFeatAnswer[] = “211-Features:x0a”
if( ffconfigTIME_SUPPORT != 0 )
"MDTMx0a"
endif
" REST STREAMx0a"
" SIZEx0dx0a"
"211 Endx0dx0a";
~~~~
and also:
~~~~
#if ffconfigTIMESUPPORT == 0
{
xLength = snprintf( pcCOMMANDBUFFER,
sizeof( pcCOMMAND_BUFFER ),
“213 19700101000000rn”);
}
#else
{
// return the time
}
#endif
~~~~
Regards.