CAS300 commands¶
With CAS300, used by Classpad 300 / 330 (+) models, the 0x01 – Command packet inner payload (P field) is expected to be at least 4 bytes long, and starts with the following:
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
0 (0x00) |
4 B |
Command (CMD) |
Identifier of the command to be run. |
4-char ASCII-HEX value. |
0000
“Start data transfer”¶
No payload. Followed by data packets once acknowledged.
0001
“End data transfer”¶
No payload. Sent after data packets have been sent and acknowledged.
0002
“Send device information”¶
Sent by the device when requested using 0011 “Request device information”. Payload is the following:
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
4 (0x04) |
49 B |
Device information |
See structure below. |
Device information has the following structure:
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
0 (0x00) |
8 B |
Model |
|
|
8 (0x08) |
16 B |
OS version |
|
|
24 (0x18) |
8 B |
Bootcode version (?) |
|
|
32 (0x20) |
8 B |
Flash ROM size |
|
|
40 (0x28) |
8 B |
Size (?) |
|
|
48 (0x30) |
1 B |
? |
|
0003
“Update link settings”¶
Todo
This command has been found to sometimes bear a 2-char ASCII-HEX value, and sometimes a 1-byte value directly. On serial links, it seems to set up some kind of link update, that either sets up obfuscation, or updates link settings, or both.
It has not yet been found what the role of this command is exactly.
000C
“Send file”¶
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
4 (0x04) |
4 B |
File size |
Big endian 32-bit integer. |
|
8 (0x08) |
4 B |
? |
?, e.g. 0x624e461b if it is a 32-bit big endian value |
|
12 (0x0C) |
Variable |
Path to the file |
Non-terminated string, e.g. |
000D
“Request file”¶
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
4 (0x04) |
1 B |
Type |
Known values:
|
|
5 (0x05) |
Variable |
Path |
File to request. |
000E
“Request file list”¶
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
4 (0x04) |
1 B |
Type |
Known values:
|
|
5 (0x05) |
Variable |
Path |
File path (may be empty) |
000F
“Transfer file list”¶
Followed by 0000 “Start data transfer”, then data packets containing the listing.
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
4 (0x04) |
4 B |
Listing size. |
Big endian 32-bit integer, e.g. |
0010
?¶
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
4 (0x04) |
2 B |
? |
|
0011
“Request device information”¶
No payload. Answered by a 0002 “Send device information”.
Warning
If used twice in a given session, the calculator will answer with a terminate packet instead of the device information.