Protocol 7.00 Screenstreaming communication flows

Screenstreaming with Protocol 7.00 involves a sender and a receiver. The objective with this protocol is for the sender to be able to send frames as they are produced to the receiver.

Except for a conditional acknowledgement at the beginning of the flow, the receiver does not send anything, and in case of invalid checksum, it discards such packets.

The communication schema is the following:

        sequenceDiagram
    Participant sender as Sender<br />(Calculator)
    Participant receiver as Receiver<br />(PC, ...)

    Note over sender,receiver: Initialize the link

    alt Sender requires acknowledgement from the Receiver
        sender->>receiver: Check packet
        receiver->>sender: Acknowledgement packet
    end

    loop Screenstreaming is active
        sender->>receiver: Frame packet
    end
    

Warning

Sometimes, due to the high volume of data, a few bytes can be skipped here and there, leading to a desynchronization on the input stream. It is recommended, on the receiving function, to add an option to find the beginning of the next screenstreaming packet, to fix such desynchronized inputs.

Acknowledge a Sender

On certain conditions, such as when the ScreenRecv(XP) mode is used on the fx-CG50, the sender requires acknowledgement from the receiver. As such, it will continuously send check packets, such as the following one:

16 43 41 4c 30 30 44 30  .CAL00D0

In such cases, the receiver must answer with the following acknowledgement packet:

06 30 32 30 30 31 30 44  .020010D

Once the sender has received acknowledgement, it will start sending frame packets.

For more information, see 0x16 – Check packet and 0x06 – Acknowledgement packet.