Rev 434 | Rev 436 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 434 | Rev 435 | ||
---|---|---|---|
Line 77... | Line 77... | ||
77 | 77 | ||
Line 78... | Line 78... | ||
78 | FTP_direntry_t FTP_direntry; |
78 | FTP_direntry_t FTP_direntry; |
Line 79... | Line -... | ||
79 | - | ||
80 | char FTP_data[DATA_TRANSFER_SIZE+10]; // rx & tx buffer to avoid 2 buffers |
- | |
81 | 79 | ||
Line 82... | Line 80... | ||
82 | u16 CompressBuffer(char *buf, u16 size, u16 offset) |
80 | char FTP_data[DATA_TRANSFER_SIZE+10]; // rx & tx buffer to avoid 2 buffers |
83 | { |
81 | |
84 | #define KEYWORD_COUNT 44 |
82 | #define KEYWORD_COUNT 46 |
- | 83 | ||
85 | 84 | // most used gpx tags can be compressed |
|
86 | // most used gpx tags can be compressed |
85 | const char keyword[KEYWORD_COUNT][16]= |
87 | const char keyword[KEYWORD_COUNT][16]= |
86 | {"Altimeter>\0 \0", |
88 | {"Altimeter>\0 \0", |
87 | "MotorCurrent>\0 \0", |
89 | "Current>\0 \0", |
88 | "Current>\0 \0", |
Line 109... | Line 108... | ||
109 | "time>\0 \0", |
108 | "time>\0 \0", |
110 | "sat>\0 \0", |
109 | "sat>\0 \0", |
111 | "ele>\0 \0", |
110 | "ele>\0 \0", |
112 | " lat=\0 \0", |
111 | " lat=\0 \0", |
113 | " lon=\0 \0", |
112 | " lon=\0 \0", |
- | 113 | "0,0,0,0\0 \0", |
|
114 | "name>\0 \0", |
114 | "name>\0 \0", |
115 | "FCFlags2>\0 \0", |
115 | "FCFlags2>\0 \0", |
116 | "MagnetField>\0 \0", |
116 | "MagnetField>\0 \0", |
117 | "trkseg>\0 \0", |
117 | "trkseg>\0 \0", |
118 | "MotorCurrent>\0 \0", |
- | |
119 | "AnalogInputs>\0 \0", |
118 | "AnalogInputs>\0 \0", |
120 | "Servo>\0 \0", |
119 | "Servo>\0 \0", |
121 | "BL_State>\0 \0", |
120 | "BL_State>\0 \0", |
122 | "BL_MaxPWM>\0 \0", |
121 | "BL_MaxPWM>\0 \0", |
123 | "MikroKopter\0 \0", |
122 | "MikroKopter\0 \0", |
- | 123 | "nter>000</\0 \0", |
|
124 | "metadata>\0 \0", |
124 | "metadata>\0 \0", |
125 | "<WP>----,0,0,0<\0", |
125 | "<WP>----,0,0,0<\0", |
126 | "MagnetInclinati\0", |
126 | "MagnetInclinati\0", |
127 | "BL_Temperature<\0", |
127 | "BL_Temperature>\0", |
128 | "AvaiableMotorPo\0", |
128 | "AvaiableMotorPo\0", |
129 | "FC_I2C_ErrorCom\0", |
129 | "FC_I2C_ErrorCou\0", |
130 | "FC_SPI_ErrorCom\0", |
130 | "FC_SPI_ErrorCou\0", |
131 | "TargetDistance>\0" }; |
131 | "TargetDistance>\0" }; |
Line -... | Line 132... | ||
- | 132 | ||
- | 133 | u16 CompressBuffer(char *buf, u16 size, u16 offset) |
|
- | 134 | { |
|
132 | 135 | ||
133 | u16 i, count = size; |
136 | u16 i, count = size; |
Line 134... | Line 137... | ||
134 | char *s = NULL, *start = buf+offset; |
137 | char *s = NULL, *start = buf+offset; |
135 | 138 | ||
Line 272... | Line 275... | ||
272 | 275 | ||
273 | if (compressLevel > 1) |
276 | if (compressLevel > 1) |
274 | { |
277 | { |
275 | if (size < DATA_TRANSFER_SIZE - 50) |
278 | if (size < DATA_TRANSFER_SIZE - 50) |
276 | { |
279 | { |
277 | fread_(&FTP_data[size], DATA_TRANSFER_SIZE - size, 1, fp); // read data block to buffer); |
280 | fread_(&FTP_data[size], DATA_TRANSFER_SIZE - size, 1, fp); // read data block to buffer); |
278 | FTP_data[DATA_TRANSFER_SIZE] = 0; |
281 | FTP_data[DATA_TRANSFER_SIZE] = 0; |
279 | size = CompressBuffer(FTP_data, DATA_TRANSFER_SIZE, size); |
282 | size = CompressBuffer(FTP_data, DATA_TRANSFER_SIZE, size); |
280 | } |
283 | } |
281 | } |
284 | } |
Line 323... | Line 326... | ||
323 | case FTP_CMD_NONE: |
326 | case FTP_CMD_NONE: |
324 | default: |
327 | default: |
325 | FTP_command = FTP_CMD_NONE; |
328 | FTP_command = FTP_CMD_NONE; |
326 | Debug("ftp: CMD None"); |
329 | Debug("ftp: CMD None"); |
327 | break; |
330 | break; |
- | 331 | ||
- | 332 | case FTP_CMD_GET_KEYWORDS: |
|
- | 333 | { |
|
- | 334 | u8 count = KEYWORD_COUNT; |
|
- | 335 | ||
- | 336 | MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'F', NC_ADDRESS, 3, &FTP_command, 1, &count, 1, keyword, sizeof(keyword) ); |
|
- | 337 | } |
|
- | 338 | break; |
|
- | 339 | ||
- | 340 | ||
328 | } |
341 | } |
329 | } |
342 | } |