seasonder_readSeaSondeCSFileHeaderV6 {SeaSondeR} | R 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:
|
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