Protocol 7.00 use cases¶
This document inventories use cases of Protocol 7.00 that are exploited by the library and command-line utilities.
Send a file to storage¶
In order to send a file to storage, the flow is the following:
For more information, consult the following sections:
This flow is used by p7 send
; see the send subcommand reference for more information.
Request a file from storage¶
In order to request a file to storage, the flow is the following:
For more information, consult the following sections:
Command 44 “Request file” (storage);
Command 45 “Transfer file” (storage);
This flow is used by p7 get
; see the get subcommand reference for more information.
Copy a file to another on storage¶
In order to copy a file on storage, the flow is the following:
For more information, consult the following sections:
Command 48 “Copy file” (storage).
This flow is used by p7 copy
; see the copy subcommand reference for more information.
Delete a file from storage¶
In order to delete a file on storage, the flow is the following:
For more information, consult the following sections:
Command 46 “Delete file” (storage).
This flow is used by p7 delete
; see the delete subcommand reference
for more information.
List files on storage¶
In order to list files on storage, the flow is the following:
For more information, consult the following sections:
This flow is used by p7 list
; see the list subcommand reference for more information.
Reset a storage device¶
In order to reset a storage device, the flow is the following:
For more information, consult the following sections:
Command 4A “Reset” (storage).
This flow is used by p7 reset
; see the reset subcommand reference
for more information.
Optimize a storage device¶
In order to optimize a storage device, the flow is the following:
For more information, consult the following sections:
Command 51 “Optimize filesystem” (storage).
This flow is used by p7 optimize
; see the optimize subcommand reference for more
information.
Back up the system¶
In order to back up the flash, the flow is the following:
This flow is only available in older models, and has been removed since; see Devices for more information.
For more information, consult the following sections:
Command 4F “Request flash image”;
Command 50 “Transfer flash image”;
This flow is used by p7os get
; see the get subcommand reference for more
information.
Upload and run an executable program¶
Warning
This is a dangerous flow, and is only documented here for completeness. Programs suitable for this command, nicknamed “Update.EXE”, are crafted in a very specific way, and you should not attempt to make your own.
In order to upload and run an executable program, the flow is the following:
If successful, the last acknowledgement from the data transfer will have
the special subtype 03
, which means that the communication is terminated
as control of the device is handed over to the program.
This use case is employed for updating the calculator, by uploading and running special programs whose role is to open a USB or serial link, and receive and flash the new OS at the command of the host. This has also been employed by the community to do the same, such as with fxRemote.
For more information, consult the following sections:
Command 56 “Upload and run”;
Flash the calculator using fxRemote¶
Warning
This is a very dangerous flow, and is only documented here for completeness. It also is specific to the fxRemote’s Update.EXE, and is unofficial.
In order to flash a new OS on an fx-9860G or compatible, the flow is the following:
For serial links between the active side and fxRemote as the passive side, the link should use 115200 bauds, no parity, 2 stop bits, XON/XOFF software control and, if supported by the cable, DTR/RTS hardware control.
For more information, consult the following sections: