HAL  v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
hal::SaleaeHeader Class Reference

#include </home/runner/work/hal/hal/plugins/simulator/netlist_simulator_controller/include/netlist_simulator_controller/saleae_file.h>

Collaboration diagram for hal::SaleaeHeader:
Collaboration graph

Public Types

enum  StorageFormat { Double = 0 , Uint64 = 0x206c6168 , Coded = 0x786c6168 }
 SALEAE storage format for transition time values. More...
 

Public Member Functions

 SaleaeHeader ()
 
SaleaeStatus::ErrorCode read (std::ifstream &ff)
 
SaleaeStatus::ErrorCode write (std::ofstream &of) const
 
StorageFormat storageFormat () const
 Getter for storage format, see above. More...
 
void setStorageFormat (StorageFormat sf)
 Setter for storage format, see above. More...
 
int32_t value () const
 Getter for initial value. More...
 
void setValue (int32_t v)
 Setter for initial value. More...
 
uint64_t beginTime () const
 Getter for time of first event. More...
 
void setBeginTime (uint64_t t)
 Setter for time of first event. More...
 
uint64_t endTime () const
 Getter for time of last event. More...
 
void setEndTime (uint64_t t)
 Setter for time of last event. More...
 
uint64_t numTransitions () const
 Getter for number of transitions stored in file. Remember that the total number of events is numTransitions()+1 (start value). More...
 
void setNumTransitions (uint64_t n)
 Setter for number of transitions stored in file. More...
 
void incrementTransitions ()
 Increment number of transitions by one. More...
 

Public Attributes

char mIdent [9]
 
int32_t mVersion
 
StorageFormat mStorageFormat
 
int32_t mValue
 
uint64_t mBeginTime
 
uint64_t mEndTime
 
uint64_t mNumTransitions
 

Static Public Attributes

static const char * sIdent = "<SALEAE>"
 

Detailed Description

The header of a SALEAE binary waveform file, which stores the value format and the number of transitions.

Definition at line 57 of file saleae_file.h.

Member Enumeration Documentation

◆ StorageFormat

SALEAE storage format for transition time values.

Enumerator
Double 
Uint64 

Double values,.

Coded 

Definition at line 61 of file saleae_file.h.

Constructor & Destructor Documentation

◆ SaleaeHeader()

hal::SaleaeHeader::SaleaeHeader ( )

Definition at line 35 of file saleae_file.cpp.

References mIdent, and sIdent.

Member Function Documentation

◆ beginTime()

◆ endTime()

uint64_t hal::SaleaeHeader::endTime ( ) const
inline

Getter for time of last event.

Definition at line 109 of file saleae_file.h.

References mEndTime.

Referenced by hal::SaleaeOutputFile::fileIndex(), hal::SaleaeInputFile::get_file_position(), and hal::VcdSerializer::importSaleae().

◆ incrementTransitions()

void hal::SaleaeHeader::incrementTransitions ( )
inline

Increment number of transitions by one.

Definition at line 121 of file saleae_file.h.

References mNumTransitions.

Referenced by hal::SaleaeOutputFile::writeTimeValue().

◆ numTransitions()

uint64_t hal::SaleaeHeader::numTransitions ( ) const
inline

◆ read()

SaleaeStatus::ErrorCode hal::SaleaeHeader::read ( std::ifstream &  ff)

Read SALEAE header from open input stream

Parameters
ffThe file stream to read header from
Returns
Ok=0 on success, negative error code otherwise

Definition at line 42 of file saleae_file.cpp.

References hal::SaleaeStatus::BadIndentifier, Coded, Double, hal::ff, mBeginTime, mEndTime, mIdent, mNumTransitions, mStorageFormat, mValue, mVersion, hal::SaleaeStatus::Ok, sIdent, hal::SaleaeParser::sTimeScaleFactor, type, Uint64, and hal::SaleaeStatus::UnsupportedType.

Referenced by hal::SaleaeInputFile::SaleaeInputFile().

◆ setBeginTime()

void hal::SaleaeHeader::setBeginTime ( uint64_t  t)
inline

Setter for time of first event.

Definition at line 106 of file saleae_file.h.

References mBeginTime.

Referenced by hal::SaleaeOutputFile::writeTimeValue().

◆ setEndTime()

void hal::SaleaeHeader::setEndTime ( uint64_t  t)
inline

Setter for time of last event.

Definition at line 112 of file saleae_file.h.

References mEndTime.

Referenced by hal::SaleaeOutputFile::put_data(), and hal::SaleaeOutputFile::writeTimeValue().

◆ setNumTransitions()

void hal::SaleaeHeader::setNumTransitions ( uint64_t  n)
inline

Setter for number of transitions stored in file.

Definition at line 118 of file saleae_file.h.

References mNumTransitions.

Referenced by hal::SaleaeOutputFile::put_data().

◆ setStorageFormat()

void hal::SaleaeHeader::setStorageFormat ( StorageFormat  sf)
inline

Setter for storage format, see above.

Definition at line 94 of file saleae_file.h.

References mStorageFormat.

Referenced by hal::SaleaeOutputFile::put_data().

◆ setValue()

void hal::SaleaeHeader::setValue ( int32_t  v)
inline

Setter for initial value.

Definition at line 100 of file saleae_file.h.

References mValue.

Referenced by hal::SaleaeOutputFile::put_data(), and hal::SaleaeOutputFile::writeTimeValue().

◆ storageFormat()

◆ value()

int32_t hal::SaleaeHeader::value ( ) const
inline

Getter for initial value.

Definition at line 97 of file saleae_file.h.

References mValue.

Referenced by hal::SaleaeInputFile::get_buffered_data(), hal::SaleaeInputFile::get_int_value(), and hal::SaleaeInputFile::get_next_value().

◆ write()

SaleaeStatus::ErrorCode hal::SaleaeHeader::write ( std::ofstream &  of) const

Write SALEAE header into open output stream

Parameters
ofThe file stream to write header into
Returns
currently always Ok=0

Definition at line 85 of file saleae_file.cpp.

References mBeginTime, mEndTime, mIdent, mNumTransitions, mStorageFormat, mValue, mVersion, hal::SaleaeStatus::Ok, and type.

Referenced by hal::SaleaeOutputFile::close(), and hal::SaleaeOutputFile::SaleaeOutputFile().

Member Data Documentation

◆ mBeginTime

uint64_t hal::SaleaeHeader::mBeginTime

Definition at line 68 of file saleae_file.h.

Referenced by beginTime(), read(), saleae_cat(), saleae_ls(), setBeginTime(), and write().

◆ mEndTime

uint64_t hal::SaleaeHeader::mEndTime

Definition at line 69 of file saleae_file.h.

Referenced by endTime(), read(), saleae_cat(), saleae_ls(), setEndTime(), and write().

◆ mIdent

char hal::SaleaeHeader::mIdent[9]

Definition at line 64 of file saleae_file.h.

Referenced by read(), SaleaeHeader(), and write().

◆ mNumTransitions

uint64_t hal::SaleaeHeader::mNumTransitions

◆ mStorageFormat

StorageFormat hal::SaleaeHeader::mStorageFormat

Definition at line 66 of file saleae_file.h.

Referenced by read(), setStorageFormat(), storageFormat(), and write().

◆ mValue

int32_t hal::SaleaeHeader::mValue

Definition at line 67 of file saleae_file.h.

Referenced by read(), saleae_cat(), setValue(), value(), and write().

◆ mVersion

int32_t hal::SaleaeHeader::mVersion

Definition at line 65 of file saleae_file.h.

Referenced by read(), and write().

◆ sIdent

const char * hal::SaleaeHeader::sIdent = "<SALEAE>"
static

Definition at line 72 of file saleae_file.h.

Referenced by read(), and SaleaeHeader().


The documentation for this class was generated from the following files: