#pragma once
#include "libs/Module.h"
-#include "HeapRing.h"
+#include "BlockQueue.h"
-using namespace std;
-#include <string>
-#include <vector>
-
-class Gcode;
class Block;
class Conveyor : public Module
void dump_queue(void);
void flush_queue(void);
float get_current_feedrate() const { return current_feedrate; }
+ void force_queue() { check_queue(true); }
friend class Planner; // for queue
private:
- // void all_moves_finished();
void check_queue(bool force= false);
void queue_head_block(void);
- using Queue_t= HeapRing<Block>;
+ using Queue_t= BlockQueue;
Queue_t queue; // Queue of Blocks
- //volatile unsigned int gc_pending;
uint32_t queue_delay_time_ms;
size_t queue_size;
struct {
volatile bool running:1;
- volatile bool halted:1;
volatile bool allow_fetch:1;
bool flush:1;
};