Skip to content

Commit 23a41b7

Browse files
authored
Fix file streaming on Windows (#7)
1 parent 16a7448 commit 23a41b7

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/MarlinSimulator/user_interface.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -271,10 +271,11 @@ struct SerialMonitor : public UiWindow {
271271
// File read into serial port
272272
if (input_file.is_open() && serial_stream.receive_buffer.free() && streaming) {
273273
uint8_t buffer[HalSerial::receive_buffer_size]{};
274-
auto count = input_file.readsome((char*)buffer, serial_stream.receive_buffer.free());
275-
serial_stream.receive_buffer.write(buffer, count);
276-
stream_sent += count;
277-
if (count == 0) {
274+
size_t read_size = std::min(serial_stream.receive_buffer.free(), stream_total - stream_sent);
275+
input_file.read((char*)buffer, read_size);
276+
serial_stream.receive_buffer.write(buffer, read_size);
277+
stream_sent += read_size;
278+
if (stream_sent >= stream_total) {
278279
input_file.close();
279280
streaming = false;
280281
stream_total = 0;

0 commit comments

Comments
 (0)