|
@@ -24,9 +24,11 @@
|
24
|
24
|
#include "../inc/MarlinConfig.h"
|
25
|
25
|
|
26
|
26
|
#define BINARY_STREAM_COMPRESSION
|
27
|
|
-
|
28
|
27
|
#if ENABLED(BINARY_STREAM_COMPRESSION)
|
29
|
28
|
#include "../libs/heatshrink/heatshrink_decoder.h"
|
|
29
|
+ // STM32 (and others?) require a word-aligned buffer for SD card transfers via DMA
|
|
30
|
+ static __attribute__((aligned(sizeof(size_t)))) uint8_t decode_buffer[512] = {};
|
|
31
|
+ static heatshrink_decoder hsd;
|
30
|
32
|
#endif
|
31
|
33
|
|
32
|
34
|
inline bool bs_serial_data_available(const serial_index_t index) {
|
|
@@ -37,16 +39,6 @@ inline int bs_read_serial(const serial_index_t index) {
|
37
|
39
|
return SERIAL_IMPL.read(index);
|
38
|
40
|
}
|
39
|
41
|
|
40
|
|
-#if ENABLED(BINARY_STREAM_COMPRESSION)
|
41
|
|
- static heatshrink_decoder hsd;
|
42
|
|
- #if BOTH(ARDUINO_ARCH_STM32F1, SDIO_SUPPORT)
|
43
|
|
- // STM32 requires a word-aligned buffer for SD card transfers via DMA
|
44
|
|
- static __attribute__((aligned(sizeof(size_t)))) uint8_t decode_buffer[512] = {};
|
45
|
|
- #else
|
46
|
|
- static uint8_t decode_buffer[512] = {};
|
47
|
|
- #endif
|
48
|
|
-#endif
|
49
|
|
-
|
50
|
42
|
class SDFileTransferProtocol {
|
51
|
43
|
private:
|
52
|
44
|
struct Packet {
|