@@ -116,14 +116,14 @@ void FileTransferModule::readFile(uint16_t sequence, uint8_t *resultData, uint8_
116116logIndentUp ();
117117
118118if (_lastSequence +1 != sequence)
119- _file.seek ((sequence -1 ) * (_size));
119+ _file.seek ((sequence -1 ) * (_size - 6 ));
120120
121121pushByte (0x0 , resultData);
122122pushWord (sequence, resultData +1 );
123- uint8_t readed = _file.readBytes ((char *)resultData +4 , _size);
123+ uint8_t readed = _file.readBytes ((char *)resultData +4 , _size - 6 );
124124pushByte (readed, resultData +3 );
125125
126- logDebugP (" Readed sequence %i (%i/%i bytes)" , sequence, readed, _size);
126+ logDebugP (" Readed sequence %i (%i/%i bytes)" , sequence, readed, _size - 6 );
127127if (readed ==0 || !_file.available ())
128128 {
129129 _file.close ();
@@ -147,7 +147,7 @@ void FileTransferModule::writeFile(uint16_t sequence, uint8_t *data, uint8_t len
147147
148148if (_lastSequence +1 != sequence)
149149 {
150- uint32_t pos = ((sequence -1 ) * _size);
150+ uint32_t pos = ((sequence -1 ) *( _size - 3 ) );
151151logDebugP (" Not continous sequence - seek to position %d [expected %i, got %i]" , pos, _lastSequence +1 , sequence);
152152if (!_file.seek (pos))
153153 {
@@ -166,6 +166,12 @@ void FileTransferModule::writeFile(uint16_t sequence, uint8_t *data, uint8_t len
166166uint8_t written = _file.write ((const uint8_t *)data +3 , data[2 ]);
167167logDebugP (" Write sequence %i (%i/%i bytes) %i.%i" , sequence, written, data[2 ], filePos, _file.position ());
168168
169+ // if (sequence % 10 == 0)
170+ // {
171+ // logDebugP("Flush file");
172+ // _file.flush();
173+ // }
174+
169175if (written != data[2 ])
170176 {
171177pushByte (0x47 , resultData);