#ifndef _DATA_H_ #define _DATA_H_ #define DATA_SCHEMA_VERSION 1 struct data_config_options { // in mm/s (%/s for e) float speed_x, speed_y, speed_z, speed_e; // in mm/s^2 (%/s^2 for e) float accel_x, accel_y, accel_z, accel_e; }; struct data_config_preset { // number of containers uint8_t count_x, count_y; // distance between containers float distance_x, distance_y; // in mm // offset of first container float offset_x, offset_y; // in mm // height for moves between extrusions float move_z; // in mm // height while extruding float bottom_z, top_z; // in mm float extrusion_length; // in mm float extrusion_bottom_wait; // in s float extrusion_top_wait; // in s }; void data_init(void); void data_clear(void); void data_eeprom_write(void); bool data_eeprom_read(void); const char *data_eeprom_error(void); struct data_config_options *data_options(void); unsigned int data_preset_count(void); struct data_config_preset *data_preset(unsigned int i); bool data_preset_add(struct data_config_preset preset); bool data_preset_remove(unsigned int i); #endif // _DATA_H_