digi.xbee.firmware module¶
-
class
digi.xbee.firmware.UpdateConfigurer(node, timeout=None, callback=None)[source]¶ Bases:
objectFor internal use only. Helper class used to prepare nodes and/or network for an update.
Class constructor. Instantiates a new
UpdateConfigurerwith the given parameters.- Parameters
node (
AbstractXBeeDevice) – Target being updated.timeout (Float, optional, default=`None`) – Operations timeout.
callback (Function) – Function to notify about the progress.
-
property
sync_sleep¶ Returns whether node is part of a DigiMesh synchronous sleeping network.
- Returns
True if it synchronous sleeps, False otherwise.
- Return type
Boolean
-
property
prepare_total¶ Returns the total work for update preparation step.
- Returns
Total prepare work.
- Return type
Integer
-
property
restore_total¶ Returns the total work for update restoration step.
- Returns
Total restore work.
- Return type
Integer
-
prepare_for_update(prepare_node=True, prepare_net=True, restore_later=True)[source]¶ Prepares the node for an update process.
- Parameters
prepare_node (Boolean, optional, default=`True`) – True to prepare the node.
prepare_net (Boolean, optional, default=`True`) – True to prepare the network.
restore_later (Boolean, optional, default=`True`) – True to restore node original values when finish the update process.
-
restore_after_update(restore_settings=True, port_settings=None)[source]¶ Restores the node after an update process.
- Parameters
restore_settings (Boolean, optional, default=`True`) – True to restore stored settngs, False otherwise.
port_settings (Dictionary, optional, default=`None`) – Dictionary with the new serial port configuration, None for remote node or if the serial config has not changed.
-
static
exec_at_cmd(func, node, cmd, value=None, retries=5, apply=False)[source]¶ Reads the given parameter from the XBee with the given number of retries.
- Parameters
func (Function) – Function to execute.
node (
AbstractXBeeDevice) – XBee to get/set parameter.(String or (cmd) – class: ATStringCommand): Parameter to get/set.
value (Bytearray, optional, default=`None`) – Value to set.
retries (Integer, optional, default=5) – Number of retries to perform.
apply (Boolean, optional, default=`False`) – True to apply.
- Returns
Read parameter value.
- Return type
Bytearray
- Raises
XBeeException – If the value could be get/set after the retries.
-
progress_cb(task, done=0)[source]¶ If a callback was provided in the constructor, notifies it with the provided task and the corresponding percentage.
- Parameters
task (String) – The task to inform about, it must be TASK_PREPARE or TASK_RESTORE.
done (Integer, optional, default=0) – Total amount of done job. If 0, it is increased by one.
- Returns
Total work done for the task.
- Return type
Integer
-
digi.xbee.firmware.update_local_firmware(target, xml_fw_file, xbee_firmware_file=None, bootloader_firmware_file=None, timeout=None, progress_callback=None)[source]¶ Performs a local firmware update operation in the given target.
- Parameters
target (String or
XBeeDevice) – Target of the firmware upload operation. String: serial port identifier.XBeeDevice: XBee to upload its firmware.xml_fw_file (String) – Path of the XML file that describes the firmware.
xbee_firmware_file (String, optional) – Location of the XBee binary firmware file.
bootloader_firmware_file (String, optional) – Location of the bootloader binary firmware file.
timeout (Integer, optional) – Serial port read data timeout.
progress_callback (Function, optional) –
Function to receive progress information. Receives two arguments:
The current update task as a String
The current update task percentage as an Integer
- Raises
FirmwareUpdateException – If there is any error performing the firmware update.
-
digi.xbee.firmware.update_remote_firmware(remote, xml_fw_file, firmware_file=None, bootloader_file=None, max_block_size=0, timeout=None, progress_callback=None, _prepare=True)[source]¶ Performs a remote firmware update operation in the given target.
- Parameters
remote (
RemoteXBeeDevice) – Remote XBee to upload.xml_fw_file (String) – Path of the XML file that describes the firmware.
firmware_file (String, optional) – Path of the binary firmware file.
bootloader_file (String, optional) – Path of the bootloader firmware file.
max_block_size (Integer, optional) – Maximum size of the ota block to send.
timeout (Integer, optional) – Timeout to wait for remote frame requests.
progress_callback (Function, optional) –
Function to receive progress information. Receives two arguments:
The current update task as a String
The current update task percentage as an Integer
- Raises
FirmwareUpdateException – if there is any error performing the remote firmware update.
-
digi.xbee.firmware.update_remote_filesystem(remote, ota_fs_file, max_block_size=0, timeout=None, progress_callback=None, _prepare=True)[source]¶ Performs a remote filesystem update operation in the given target.
- Parameters
remote (
RemoteXBeeDevice) – Remote XBee to update its filesystem.ota_fs_file (String) – Path of the OTA filesystem image file.
max_block_size (Integer, optional) – Maximum size of the ota block to send.
timeout (Integer, optional) – Timeout to wait for remote frame requests.
progress_callback (Function, optional) –
Function to receive progress information. Receives two arguments:
The current update task as a String
The current update task percentage as an Integer
- Raises
FirmwareUpdateException – If there is any error updating the remote filesystem image.