CASIO CFX-9950G User Manual

0 (0)
CASIO CFX-9950G User Manual

Casio CFX-9950G communications protocol

Erik Grindheim, August ~ October 2001

This document describes the communication process for transferring individual values to or from the graphic Casio calculators. Everything in this document is based on experiments carried out with the CFX-9950G. Still the information should be valid for all the compatible units that go into the so-called CFX-9850G series of Power Graphic calculators from Casio.

The communication is initiated by the Casio when the Send( or Receive( command is run. This transfers an individual value to or from one of the “Alpha Memory” variables. These commands can also transfer Matrix data, List data and Picture data, but none of these subjects are covered in this document.

Electrical:

TTL-level (High=5V and Low=0V), asynchronous serial half-duplex communication, connects to a PC´s RS-232 COM-port with a MAX232 or equivalent level-converter circuit.

The Casio-plug is a standard 2.5mm stereo jack with the following pin-designations:

Sleeve Ground

Ring

Data to Casio

Tip

Data from Casio

Baud-rate:

9600 bps

 

Parity:

none

 

Byte-size:

8 bits

 

Stop-bits:

from Casio:

2 bits

 

to Casio:

1 bit

Communication process to SEND variables:

This section describes the data blocks transferred when using the Send( function to send a variable from the Casio to the outer world.

When the command is issued the Casio sends an “attention request”, one byte: 0x15. Then the external device must reply with a “device present”, one byte: 0x13. If the Casio doesn’t receive this byte (0x13) within 0.5 ~ 1 second there will be a timeout and the Casio displays the Com ERROR message.

When the first handshaking-procedure (0x15 and 0x13) is over the Casio starts to send the

Variable-description packet, which consists of 50 bytes.

The external device receives this and confirms with one byte: 0x06.

Then the Casio sends its Value packet, consisting of either 16 or 26 bytes. Packet length depends on whether the variable also contains an imaginary part or not. If the variable has never been assigned a value since the last reset of “Alpha Memory” this packet will not be sent at all.

The external device also receives this packet and confirms with 0x06.

(If an empty variable is sent, then there is no Value packet, and this byte is not sent either.)

To close the communication cycle the Casio sends an End packet of 50 bytes. The end packet is always the same; none of the bytes change their value.

The diagram at the next page clarifies how the process is carried out:

Casio CFX-9950G communications

Erik Grindheim

2 / 9

Instruction: Send(

Casio:

External device:

0x15

0x13

Variabledescription packet

0x06

Value packet

0x06

End packet

Casio CFX-9950G communications

Erik Grindheim

3 / 9

Loading...
+ 6 hidden pages