Skip to content

Latest commit

 

History

History
94 lines (59 loc) · 2.58 KB

a5.md

File metadata and controls

94 lines (59 loc) · 2.58 KB

0xa5 Body Text: Telephone

Telephone 0xc8 → GT 0x3b

This command was seemingly introduced to support the telematics and SMS displays. (It also supported the Radio's MP3 display which was introduced later.)

These new displays meant the maximum character count for a given index could not be written without exceeding a soft frame size limit, which if exceeded, can cause a GT buffer overflow.

The command allows specifying a cursor offset for a given index (line), thus allowing multiple writes to said line, the cursor position being advanced for each successive write.

The usage is otherwise identical to 0x21, so much so that 0xa5 and 0x21 can effectively be used interchangeably, albeit with possible unintended consequences.

Related

  • 0x21 Menu Text: Radio
  • 0x21 Menu Text: Cluster
  • 0xa5 Body Text: Radio

Example Frames

C8 1F 3B A5 F1 05 60 59 6F 75 72 20 63 75 72 72 65 6E 74 20 70 6F 73 69 74 69 6F 6E 20 69 73 3A 9C
C8 14 3B A5 F1 05 41 4D 45 4C 42 4F 55 52 4E 45 2C 20 56 49 43 E2
C8 11 3B A5 F1 05 42 43 4F 4C 4C 49 4E 53 20 53 54 3B B5
C8 19 3B A5 F1 05 44 33 37 B0 20 34 38 27 20 35 31 2E 36 22 20 53 6F 75 74 68 2B
C8 19 3B A5 F1 05 45 31 34 34 B0 20 35 38 27 20 31 34 2E 35 22 20 45 61 73 74 6A

Parameters

Length will vary with String.

Property Index Length Type
Layout 0 1 Bitfield
Offset 1 1 Bitfield
Options 2 1 Bitfield
String 3 -1 String

Layout

DETAIL    = 0xf1    # SMS: Message, SOS/Emergency

Offset

The 5 LSBs represent the offset, thus allowing an offset between 0 and 31 characters (2^5).

# Note: an offset of 0 chars is _not_ 0x00!

0b0000_0001   # 0 chars offset
0b0000_0010   # 1 chars offset
0b0000_0011   # 2 chars offset
              # [...]
0b0001_1101   # 29 chars offset
0b0001_1110   # 30 chars offset
0b0001_1111   # 31 chars offset

Options

INDEX       = 0b0001_1111   # Index of field to write to
CLEAR       = 0b0010_0000   # Clear layout
BUFFER      = 0b0100_0000   # Buffer the write
HIGHLIGHT   = 0b1000_0000   # Highlight given field

See 0x21 for usage.


String

Code Point Name Description
0x00 NUL Null-terminated string
0x06 LF Line Feed

Use Cases

Given that several commands are associated with each use case, they're discussed in their own respective documentation.

SMS: Message

Telephone: SMS Message

SMS Detail

SOS/Emergency

Telephone: Emergency

SOS/Emergency