diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml
index 9f9acd1..863287a 100644
--- a/.github/workflows/c-cpp.yml
+++ b/.github/workflows/c-cpp.yml
@@ -15,7 +15,7 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: configure
- run: ./configure
+ run: ./configure.sh
- name: 'build and package'
run: ./package.sh
diff --git a/backend/headers/backend.h b/backend/headers/backend.h
index 9c6c3f3..0bed680 100644
--- a/backend/headers/backend.h
+++ b/backend/headers/backend.h
@@ -24,6 +24,8 @@ typedef enum _action_type
Set_ID,
Set_Name,
Blink,
+ Snapshot,
+ FactoryDefault,
Update_Firmware,
Get_Firm_status,
}action_type;
@@ -52,6 +54,7 @@ typedef struct _backend_action
int intParam;
void (*functionParam)(double,int);
+ void *pointerParam;
char stringParam[100];
backend_callback callback;
@@ -69,6 +72,9 @@ backend_error get_devices(can_device_t *devices, int maxDeviceCount, int *device
backend_error set_device_id(const can_device_t *device, int id, backend_callback callback);
backend_error set_device_name(const can_device_t *device, const char *name, backend_callback callback);
backend_error blink_device(const can_device_t *device, backend_callback callback);
+backend_error get_device_snapshot(const can_device_t *device, backend_callback callback);
+backend_error factory_default_device(const can_device_t *device, backend_callback callback);
+
backend_error update_device_firmware(const can_device_t *device, const char *firmware_file, void (*firm_upgrade_callback)(double, int), backend_callback callback);
#endif
diff --git a/backend/lib/libPenguin_Backend.so b/backend/lib/libPenguin_Backend.so
index e2c7743..45e7ac5 100755
Binary files a/backend/lib/libPenguin_Backend.so and b/backend/lib/libPenguin_Backend.so differ
diff --git a/config/MainApp.ui b/config/MainApp.ui
index ccdd005..406afbc 100644
--- a/config/MainApp.ui
+++ b/config/MainApp.ui
@@ -53,6 +53,7 @@
+