Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firmware Update integration with the Viewer #4280

Merged
merged 15 commits into from Jun 26, 2019

Conversation

dorodnic
Copy link
Contributor

Assumes #4267 as a prerequisite.

Adds streamlined integration of firmware update process directly into the Viewer:
2019-06-2408-31-39

To protect flash-memory lifetime, each device can be updated up to 20 times before encountering a new firmware (20 downgrades or burning the same firmware). This lock will be released upon next upgrade to new firmware.

Thanks to #4267 this should be available on all supported platforms and architectures, eliminating limitations of current firmware update tool.

This PR is still being tested so pull on your own risk.

@@ -152,9 +154,61 @@ Some auxillary functionalities might be affected. Please report this message if
return (int)(floor(scale));
}

const char* file_dialog_open(file_dialog_mode flags, const char* filters, const char* default_path, const char* default_name)
bool directory_exists(const char* dir)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can be set const

const rs2_raw_data_buffer* rs2_create_flash_backup(const rs2_device* device, rs2_update_progress_callback_ptr callback, void* client_data, rs2_error** error);

/**
* Enter the device to update state, this will cause the updatable device to disconnect and reconnect as update device.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mention that the device must support RS2_EXTENSION_UPDATABLE extension

@@ -146,6 +146,55 @@ void rs2_connect_tm2_controller(const rs2_device* device, const unsigned char* m
*/
void rs2_disconnect_tm2_controller(const rs2_device* device, int id, rs2_error** error);

/**
* Update device to the provided firmware, the device must be extendable to RS2_EXTENSION_UPDATABLE.
* This call is executed on the caller's thread and it supports progress notifications via the optional callback.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that this shall be called when the device has already been switched into RS2_EXTENSION_UPDATE_DEVICE

@ev-mp ev-mp merged commit 99ed04d into IntelRealSense:development Jun 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants