class documentation

Base class for all GDB entries

A GDB is a collection of equations and graph settings representing the state of one of the equation plotters. A GDB can correspond to one of the Function, Parametric, Polar, or Sequence plotting modes. GDBs for monochrome models are truncations of those for color models.

Method __init__ Creates an empty entry with specified meta and data values
Method __iter__ No summary
Method calc_data The data section of the entry which is loaded on-calc
Method coerce Coerces this entry to a subclass if possible using the entry's type ID
Method dict No summary
Method extended_mode_flags The flags for the extended mode settings
Method get_color_data Finds the color portion of a GDB if it exists
Method get_equations Extracts the equations stored in a GDB into a tuple
Method get_min_os Determines the minimum OS that supports this entry's data
Method get_version Determines the version byte corresponding to given data for this entry type
Method load_dict Loads a JSON dict into this GDB
Method load_string Loads this entry from a string representation
Method mode_flags The flags for the mode settings
Method mode_id The mode ID for the GDB
Method string No summary
Method Xmax Xmax: the X-coordinate of the right edge of the graphscreen
Method Xmin Xmin: the X-coordinate of the left edge of the graphscreen
Method Xscl Xscl: the separation between ticks on the X-axis
Method Ymax Ymax: the Y-coordinate of the top edge of the graphscreen
Method Ymin Ymin: the Y-coordinate of the bottom edge of the graphscreen
Method Yscl Yscl: the separation between ticks on the Y-axis
Class Variable equation_names The names of the equations in this GDB type
Class Variable extensions The file extension used for this entry per-model
Class Variable has_color Whether this GDB type carries color information
Class Variable leading_name_byte Byte that always begins the name of this entry
Class Variable min_data_length The minimum length of this entry's data
Class Variable mode_byte The byte which identifies the GDB type
Class Variable num_equations The number of equations contained in this GDB type
Class Variable num_parameters The number of graph parameters contained in this GDB type
Class Variable num_styles The number of equation styles contained in this GDB type
Property equations This GDB's stored equations
Property mode The mode for the GDB
Property offset The index of the start of the equation styles in this GDB
Method _load_dict Undocumented
Class Variable _type_id Undocumented

Inherited from SizedEntry:

Method clear Clears this entry's data
Method data The entry's user data
Method length The length of this entry's user data section
Method load_bytes Loads a byte string or bytestream into this entry
Method load_data_section Loads the data of this entry from a bytestream

Inherited from TIEntry (via SizedEntry):

Class Raw Raw bytes container for TIEntry
Class Method get Converts bytes -> TIEntry
Class Method get_type Gets the subclass corresponding to a type ID if one is registered
Class Method open Creates a new entry from a file given a filename
Class Method register Registers a subtype with this class for coercion
Class Method set Converts TIEntry -> bytes
Static Method next_entry_length Helper function to determine the length of the next entry in a bytestream
Method __bool__ No summary
Method __bytes__ No summary
Method __copy__ No summary
Method __eq__ Determines if two entries are the same type and have the same bytes
Method __format__ Formats this entry for string representations
Method __len__ No summary
Method __str__ No summary
Method archive Archives this entry (if supported)
Method archived Whether the entry is archived
Method bytes The bytes contained in this entry, without any var file header or metadata.
Method export Exports this entry to a TIVar with a specified name, header, and target model
Method load_from_file Loads this entry from a file given a file pointer and offset
Method meta_length The length of the meta section of the entry
Method name The name of the entry
Method save Saves this entry as a var file in the current directory given a filename and optional header and targeted model
Method supported_by Determines whether a given model can support this entry
Method type_id The type ID of the entry
Method unarchive Unarchives this entry (if supported)
Method version The version number of the entry
Class Variable base_meta_length Undocumented
Class Variable flash_meta_length Undocumented
Class Variable flash_only Whether this entry only supports flash chips
Class Variable leading_data_bytes Bytes that always begin this entry's data
Class Variable versions The possible versions of this entry
Instance Variable raw Undocumented
Property calc_data_length The length of the data section of the entry
Property flash_bytes The flash bytes of this entry if they exist
Property is_empty Whether this entry's data is empty
Property meta The meta section of this entry
Method __init_subclass__ Undocumented
Constant _T Undocumented
Class Variable _type_ids Undocumented

Inherited from Dock (via SizedEntry, TIEntry):

Method load Loads data into an instance by delegating to Loader methods based on the input's type
Class Variable loaders Undocumented
def __init__(self, init=None, *, for_flash: bool = True, name: str = 'GDB1', version: int = None, archived: bool = None, data: bytes = None): (source)

Creates an empty entry with specified meta and data values

The entry version and archived flag are invalid if for_flash == False.

Parameters
initValues to initialize the entry's data (defaults to None)
for_flash:boolWhether the entry supports flash chips (defaults to True)
name:strThe name of the entry (defaults to a valid default name)
version:intThe entry's version (defaults to None)
archived:boolWhether the entry is archived (defaults to entry's default state on-calc)
data:bytesThe entry's data (defaults to empty)
def __iter__(self) -> Iterator: (source)
Returns
IteratorIf this entry is a container or collection, an iterator over its elements
def coerce(self): (source)

Coerces this entry to a subclass if possible using the entry's type ID

Valid types must be registered to be considered for coercion.

@View(calc_data, GraphMode)[6:7]
def extended_mode_flags(self) -> GraphMode: (source)

The flags for the extended mode settings

ExprOn/Off and sequence plot offsets for sequence mode

def get_color_data(self, data: bytes = None) -> bytes: (source)

Finds the color portion of a GDB if it exists

Parameters
data:bytesThe data to find the color portion of (defaults to this GDB's data)
Returns
bytesThe color portion of data, which may be empty
def get_equations(self, data: bytes = None) -> tuple[TIGraphedEquation, ...]: (source)

Extracts the equations stored in a GDB into a tuple

Parameters
data:bytesThe data to extract equations from (defaults to this GDB's data)
Returns
tuple[TIGraphedEquation, ...]A tuple of equations stored in data
def get_min_os(self, data: bytes = None) -> OsVersion: (source)

Determines the minimum OS that supports this entry's data

Parameters
data:bytesThe data to find the minimum support for (defaults to this entry's data)
Returns
OsVersionThe minimum OsVersion this entry supports
def get_version(self, data: bytes = None) -> int: (source)

Determines the version byte corresponding to given data for this entry type

Entries which could contain non-backwards compatible data are assigned a version byte. If an entry's version exceeds the "version" of a calculator, transfer to the calculator will fail.

Parameters
data:bytesThe data to find the version of (defaults to this entry's data)
Returns
intThe version byte for data
@Loader[dict]
def load_dict(self, dct: dict): (source)
@Loader[str]
def load_string(self, string: str): (source)

Loads this entry from a string representation

Parameters
string:strThe string to load
@View(calc_data, GraphMode)[4:5]
def mode_flags(self) -> GraphMode: (source)

The flags for the mode settings

Dot/Connected, Simul/Sequential, GridOn/Line/Dot/Off, PolarGC/RectGC, CoordOn/Off, AxesOff/On, and LabelOn/Off

@View(calc_data, Integer)[3:4]
def mode_id(self) -> int: (source)

The mode ID for the GDB

The ID is one of 0x10 (Function), 0x20 (Polar), 0x40 (Parametric), or 0x80 (Sequence).

def string(self) -> str: (source)
Returns
strA string representation of this entry

Xmax: the X-coordinate of the right edge of the graphscreen

Xmin: the X-coordinate of the left edge of the graphscreen

Xscl: the separation between ticks on the X-axis

Ymax: the Y-coordinate of the top edge of the graphscreen

Ymin: the Y-coordinate of the bottom edge of the graphscreen

Yscl: the separation between ticks on the Y-axis

extensions = (source)

The file extension used for this entry per-model

has_color: bool = (source)

Whether this GDB type carries color information

leading_name_byte: bytes = (source)

Byte that always begins the name of this entry

min_data_length: int = (source)

The minimum length of this entry's data

If an entry's data is fixed in size, this value is necessarily the length of the data

num_parameters: int = (source)

This GDB's stored equations

The mode for the GDB

One of Function, Parametric, Polar, or Sequence

The index of the start of the equation styles in this GDB

_type_id: int = (source)

Undocumented