2022-07-15 15:37:19 +00:00
|
|
|
#ifndef __BAMBU_NETWORKING_HPP__
|
|
|
|
#define __BAMBU_NETWORKING_HPP__
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include <functional>
|
|
|
|
|
|
|
|
namespace BBL {
|
|
|
|
|
|
|
|
#define BAMBU_NETWORK_SUCCESS 0
|
|
|
|
#define BAMBU_NETWORK_ERR_INVALID_HANDLE -1
|
|
|
|
#define BAMBU_NETWORK_ERR_CONNECT_FAILED -2
|
|
|
|
#define BAMBU_NETWORK_ERR_DISCONNECT_FAILED -3
|
|
|
|
#define BAMBU_NETWORK_ERR_SEND_MSG_FAILED -4
|
|
|
|
#define BAMBU_NETWORK_ERR_BIND_FAILED -5
|
|
|
|
#define BAMBU_NETWORK_ERR_UNBIND_FAILED -6
|
|
|
|
#define BAMBU_NETWORK_ERR_PRINT_FAILED -7
|
|
|
|
#define BAMBU_NETWORK_ERR_LOCAL_PRINT_FAILED -8
|
|
|
|
#define BAMBU_NETWORK_ERR_REQUEST_SETTING_FAILED -9
|
|
|
|
#define BAMBU_NETWORK_ERR_PUT_SETTING_FAILED -10
|
|
|
|
#define BAMBU_NETWORK_ERR_GET_SETTING_LIST_FAILED -11
|
|
|
|
#define BAMBU_NETWORK_ERR_DEL_SETTING_FAILED -12
|
|
|
|
#define BAMBU_NETWORK_ERR_GET_USER_PRINTINFO_FAILED -13
|
|
|
|
#define BAMBU_NETWORK_ERR_GET_PRINTER_FIRMWARE_FAILED -14
|
|
|
|
#define BAMBU_NETWORK_ERR_QUERY_BIND_INFO_FAILED -15
|
|
|
|
#define BAMBU_NETWORK_ERR_MODIFY_PRINTER_NAME_FAILED -16
|
|
|
|
#define BAMBU_NETWORK_ERR_FILE_NOT_EXIST -17
|
|
|
|
#define BAMBU_NETWORK_ERR_FILE_OVER_SIZE -18
|
|
|
|
#define BAMBU_NETWORK_ERR_CHECK_MD5_FAILED -19
|
|
|
|
#define BAMBU_NETWORK_ERR_TIMEOUT -20
|
|
|
|
#define BAMBU_NETWORK_ERR_CANCELED -21
|
|
|
|
#define BAMBU_NETWORK_ERR_INVALID_PARAMS -22
|
|
|
|
#define BAMBU_NETWORK_ERR_INVALID_RESULT -23
|
|
|
|
#define BAMBU_NETWORK_ERR_FTP_UPLOAD_FAILED -24
|
|
|
|
#define BAMBU_NETWORK_ERR_FTP_LOGIN_DENIED -25
|
|
|
|
|
|
|
|
|
|
|
|
#define BAMBU_NETWORK_LIBRARY "bambu_networking"
|
|
|
|
#define BAMBU_NETWORK_AGENT_NAME "bambu_network_agent"
|
2022-11-26 05:52:23 +00:00
|
|
|
#define BAMBU_NETWORK_AGENT_VERSION "01.03.01.02"
|
2022-07-15 15:37:19 +00:00
|
|
|
|
|
|
|
|
|
|
|
//iot preset type strings
|
|
|
|
#define IOT_PRINTER_TYPE_STRING "printer"
|
|
|
|
#define IOT_FILAMENT_STRING "filament"
|
|
|
|
#define IOT_PRINT_TYPE_STRING "print"
|
|
|
|
|
|
|
|
#define IOT_JSON_KEY_VERSION "version"
|
|
|
|
#define IOT_JSON_KEY_NAME "name"
|
|
|
|
#define IOT_JSON_KEY_TYPE "type"
|
|
|
|
#define IOT_JSON_KEY_UPDATE_TIME "updated_time"
|
|
|
|
#define IOT_JSON_KEY_BASE_ID "base_id"
|
|
|
|
#define IOT_JSON_KEY_SETTING_ID "setting_id"
|
|
|
|
#define IOT_JSON_KEY_FILAMENT_ID "filament_id"
|
|
|
|
#define IOT_JSON_KEY_USER_ID "user_id"
|
|
|
|
|
|
|
|
|
|
|
|
// user callbacks
|
|
|
|
typedef std::function<void(int online_login, bool login)> OnUserLoginFn;
|
|
|
|
// printer callbacks
|
|
|
|
typedef std::function<void(std::string topic_str)> OnPrinterConnectedFn;
|
|
|
|
typedef std::function<void(int status, std::string dev_id, std::string msg)> OnLocalConnectedFn;
|
|
|
|
typedef std::function<void()> OnServerConnectedFn;
|
|
|
|
typedef std::function<void(std::string dev_id, std::string msg)> OnMessageFn;
|
|
|
|
// http callbacks
|
|
|
|
typedef std::function<void(unsigned http_code, std::string http_body)> OnHttpErrorFn;
|
|
|
|
typedef std::function<std::string()> GetCountryCodeFn;
|
|
|
|
// print callbacks
|
|
|
|
typedef std::function<void(int status, int code, std::string msg)> OnUpdateStatusFn;
|
|
|
|
typedef std::function<bool()> WasCancelledFn;
|
|
|
|
// local callbacks
|
|
|
|
typedef std::function<void(std::string dev_info_json_str)> OnMsgArrivedFn;
|
|
|
|
|
|
|
|
typedef std::function<void(int progress)> ProgressFn;
|
|
|
|
typedef std::function<void(int retcode, std::string info)> LoginFn;
|
|
|
|
typedef std::function<void(int result, std::string info)> ResultFn;
|
|
|
|
typedef std::function<bool()> CancelFn;
|
|
|
|
|
|
|
|
enum SendingPrintJobStage {
|
|
|
|
PrintingStageCreate = 0,
|
|
|
|
PrintingStageUpload = 1,
|
|
|
|
PrintingStageWaiting = 2,
|
|
|
|
PrintingStageSending = 3,
|
|
|
|
PrintingStageRecord = 4,
|
|
|
|
PrintingStageFinished = 5,
|
|
|
|
};
|
|
|
|
|
2022-09-16 08:56:48 +00:00
|
|
|
enum PublishingStage {
|
|
|
|
PublishingCreate = 0,
|
|
|
|
PublishingUpload = 1,
|
|
|
|
PublishingWaiting = 2,
|
|
|
|
PublishingJumpUrl = 3,
|
|
|
|
};
|
|
|
|
|
2022-07-15 15:37:19 +00:00
|
|
|
enum BindJobStage {
|
|
|
|
LoginStageConnect = 0,
|
|
|
|
LoginStageLogin = 1,
|
|
|
|
LoginStageWaitForLogin = 2,
|
|
|
|
LoginStageGetIdentify = 3,
|
|
|
|
LoginStageWaitAuth = 4,
|
|
|
|
LoginStageFinished = 5,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum ConnectStatus {
|
|
|
|
ConnectStatusOk = 0,
|
|
|
|
ConnectStatusFailed = 1,
|
|
|
|
ConnectStatusLost = 2,
|
|
|
|
};
|
|
|
|
|
|
|
|
/* print job*/
|
|
|
|
struct PrintParams {
|
|
|
|
/* basic info */
|
|
|
|
std::string dev_id;
|
|
|
|
std::string task_name;
|
|
|
|
std::string project_name;
|
|
|
|
std::string preset_name;
|
|
|
|
std::string filename;
|
|
|
|
std::string config_filename;
|
|
|
|
int plate_index;
|
|
|
|
std::string ftp_file;
|
|
|
|
std::string ftp_file_md5;
|
|
|
|
std::string ams_mapping;
|
2022-09-16 08:56:48 +00:00
|
|
|
std::string ams_mapping_info;
|
2022-07-15 15:37:19 +00:00
|
|
|
std::string connection_type;
|
2022-08-29 03:28:06 +00:00
|
|
|
std::string comments;
|
2022-07-15 15:37:19 +00:00
|
|
|
|
|
|
|
/* access options */
|
|
|
|
std::string dev_ip;
|
|
|
|
std::string username;
|
|
|
|
std::string password;
|
|
|
|
|
|
|
|
/*user options */
|
|
|
|
bool task_bed_leveling; /* bed leveling of task */
|
|
|
|
bool task_flow_cali; /* flow calibration of task */
|
|
|
|
bool task_vibration_cali; /* vibration calibration of task */
|
|
|
|
bool task_layer_inspect; /* first layer inspection of task */
|
|
|
|
bool task_record_timelapse; /* record timelapse of task */
|
2022-08-31 10:57:48 +00:00
|
|
|
bool task_use_ams;
|
2022-07-15 15:37:19 +00:00
|
|
|
};
|
|
|
|
|
2022-09-16 08:56:48 +00:00
|
|
|
struct PublishParams {
|
|
|
|
std::string project_name;
|
|
|
|
std::string project_3mf_file;
|
|
|
|
std::string preset_name;
|
|
|
|
std::string project_model_id;
|
|
|
|
std::string design_id;
|
|
|
|
std::string config_filename;
|
|
|
|
};
|
|
|
|
|
2022-07-15 15:37:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|