79,13 → 79,12 |
|
char FTP_data[DATA_TRANSFER_SIZE+10]; // rx & tx buffer to avoid 2 buffers |
|
u16 CompressBuffer(char *buf, u16 size, u16 offset) |
{ |
#define KEYWORD_COUNT 44 |
#define KEYWORD_COUNT 46 |
|
// most used gpx tags can be compressed |
const char keyword[KEYWORD_COUNT][16]= |
{"Altimeter>\0 \0", |
"MotorCurrent>\0 \0", |
"Current>\0 \0", |
"Variometer>\0 \0", |
"GroundSpeed>\0 \0", |
111,25 → 110,29 |
"ele>\0 \0", |
" lat=\0 \0", |
" lon=\0 \0", |
"0,0,0,0\0 \0", |
"name>\0 \0", |
"FCFlags2>\0 \0", |
"MagnetField>\0 \0", |
"trkseg>\0 \0", |
"MotorCurrent>\0 \0", |
"AnalogInputs>\0 \0", |
"Servo>\0 \0", |
"BL_State>\0 \0", |
"BL_MaxPWM>\0 \0", |
"MikroKopter\0 \0", |
"nter>000</\0 \0", |
"metadata>\0 \0", |
"<WP>----,0,0,0<\0", |
"MagnetInclinati\0", |
"BL_Temperature<\0", |
"BL_Temperature>\0", |
"AvaiableMotorPo\0", |
"FC_I2C_ErrorCom\0", |
"FC_SPI_ErrorCom\0", |
"FC_I2C_ErrorCou\0", |
"FC_SPI_ErrorCou\0", |
"TargetDistance>\0" }; |
|
u16 CompressBuffer(char *buf, u16 size, u16 offset) |
{ |
|
u16 i, count = size; |
char *s = NULL, *start = buf+offset; |
|
274,7 → 277,7 |
{ |
if (size < DATA_TRANSFER_SIZE - 50) |
{ |
fread_(&FTP_data[size], DATA_TRANSFER_SIZE - size, 1, fp); // read data block to buffer); |
fread_(&FTP_data[size], DATA_TRANSFER_SIZE - size, 1, fp); // read data block to buffer); |
FTP_data[DATA_TRANSFER_SIZE] = 0; |
size = CompressBuffer(FTP_data, DATA_TRANSFER_SIZE, size); |
} |
325,6 → 328,16 |
FTP_command = FTP_CMD_NONE; |
Debug("ftp: CMD None"); |
break; |
|
case FTP_CMD_GET_KEYWORDS: |
{ |
u8 count = KEYWORD_COUNT; |
|
MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'F', NC_ADDRESS, 3, &FTP_command, 1, &count, 1, keyword, sizeof(keyword) ); |
} |
break; |
|
|
} |
} |
|