seasonder_readSeaSondeCSFileHeaderV6: Read SeaSonde CS File Header V6

View source: R/SeaSondeRCS.R

seasonder_readSeaSondeCSFileHeaderV6R Documentation

Read SeaSonde CS File Header V6

Description

This function reads the header of a SeaSonde CS File Version 6. It sequentially reads blocks based on the provided specifications and returns the read data.

Usage

seasonder_readSeaSondeCSFileHeaderV6(
  specs,
  connection,
  endian = "big",
  prev_data = NULL
)

Arguments

specs

A list of specifications for reading the file header. It should contain three main elements: nCS6ByteSize, block_spec, and blocks, each containing further specifications for reading various parts of the header.

connection

A connection object to the SeaSonde CS file.

endian

The byte order for reading the file. Default is "big".

prev_data

Previous data, if any, that might affect the current reading. Default is NULL.

Value

A list containing the read data, organized based on the block keys.

Condition Management

This function utilizes the rlang package to manage conditions and provide detailed and structured condition messages:

Condition Classes:

  • seasonder_v6_block_transformacion_skipped: Triggered when a transformation for a specific block is skipped.

  • seasonder_v6_transform_function_error: Triggered when there's an error while applying the transformation function for a V6 header block.

  • seasonder_v6_skip_block_error: Triggered when there's an error while skipping a block.

Condition Cases:

The following are the scenarios when errors or conditions are raised:

  • Transformation Failure: If there's a recognized block key and the transformation function associated with it fails.

  • Error in Transformation Function Application: If there's an error while applying the transformation function for a recognized V6 header block.

  • Error in Skipping Block: If there's an error while skipping a block when the block key is not recognized.

Restart Options:

The function provides the following restart option:

seasonder_v6_skip_transformation: This restart allows users to skip the transformation for a specific block and instead return the provided value.

Effects of Restart Options:

Using the seasonder_v6_skip_transformation restart:

  • The error message gets logged.

  • The transformation that caused the error gets skipped.

  • The provided value for that block is returned.

Proper error management ensures the integrity of the reading process and provides detailed feedback to users regarding issues and potential resolutions.

See Also

seasonder_check_specs seasonder_readSeaSondeCSFileBlock readV6BlockData seasonder_v6_skip_transformation


SeaSondeR documentation built on June 8, 2025, 10:50 a.m.