Implement fetchdatamin

This commit is contained in:
Sims
2024-10-25 08:28:26 +02:00
parent 337a26be3d
commit ec7e6f180d
3 changed files with 24 additions and 2 deletions

View File

@@ -156,7 +156,14 @@ void fetch_printer_data()
void fetch_printer_data_minimal() void fetch_printer_data_minimal()
{ {
// TODO PrinterDataMinimal* data = (PrinterDataMinimal*)malloc(sizeof(PrinterDataMinimal) * get_printer_count());
for (int i = 0; i < get_printer_count(); i++)
{
BasePrinter* printer = get_printer(i);
*(data + i) = printer->fetch_min();
}
announce_printer_data_minimal(data);
free(data);
} }
void data_loop() void data_loop()

View File

@@ -1,7 +1,9 @@
#include "printer_integration.hpp" #include "printer_integration.hpp"
unsigned char current_printer_index = 0; unsigned char current_printer_index = 0;
unsigned char total_printers;
BasePrinter* registered_printers; BasePrinter* registered_printers;
PrinterDataMinimal* minimal_data_copy;
PrinterData* printer_data_copy; PrinterData* printer_data_copy;
BasePrinter::BasePrinter(unsigned char index) BasePrinter::BasePrinter(unsigned char index)
@@ -75,3 +77,14 @@ PrinterData* get_current_printer_data()
{ {
return printer_data_copy; return printer_data_copy;
} }
unsigned int get_printer_count()
{
return total_printers;
}
void announce_printer_data_minimal(PrinterDataMinimal* printer_data)
{
memcpy(printer_data_copy, printer_data, sizeof(PrinterDataMinimal) * total_printers);
lv_msg_send(DATA_PRINTER_MINIMAL, get_current_printer());
}

View File

@@ -167,3 +167,5 @@ BasePrinter* get_current_printer();
BasePrinter* get_printer(int idx); BasePrinter* get_printer(int idx);
void initialize_printers(); void initialize_printers();
PrinterData* get_current_printer_data(); PrinterData* get_current_printer_data();
unsigned int get_printer_count();
void announce_printer_data_minimal(PrinterDataMinimal* printer_data);