Spaces:
Runtime error
Runtime error
""" | |
DIDSON and ARIS file and frame header formats | |
""" | |
file_attributes_3 = { | |
'version': '4s', | |
'numframes': 'i', | |
'framerate': 'i', | |
'resolution': 'i', # 0=lo 1 = Hi | |
'numbeams': 'i', # 48 Lo 96 Hi for standard mode | |
'samplerate': 'f', | |
'samplesperchannel': 'i', | |
'receivergain': 'i', # 0-40 dB | |
'windowstart': 'i', # Windowstart 1 to 31 | |
'windowlength': 'i', # Windowlength coded as 0 to 3 | |
'reverse': 'i', | |
'serialnumber': 'i', | |
'date': '32s', # date file was made | |
'idstring': '256s', # User supplied identification notes | |
'id1': 'i', # four user supplied integers | |
'id2': 'i', | |
'id3': 'i', | |
'id4': 'i', | |
'startframe': 'i', # used if this is a snippet file from source file | |
'endframe': 'i', # Used if this is a snippet file from source file | |
'timelapse': 'i', # Logic 0 or 1 (1 = timelapse active); | |
'recordInterval': 'i', # Ask Bill | |
'radioseconds': 'i', # Needed for timelapse -- ask Bill | |
'frameinterval': 'i', # Interval between frames in time lapse | |
'userassigned': '136s', # User assigned space | |
} | |
file_attributes_4 = { | |
'version': '4s', | |
'numframes': 'i', | |
'framerate': 'i', | |
'resolution': 'i', # 0=lo 1 = Hi | |
'numbeams': 'i', # 48 Lo 96 Hi for standard mode | |
'samplerate': 'f', | |
'samplesperchannel': 'i', | |
'receivergain': 'i', # 0-40 dB | |
'windowstart': 'i', # Windowstart 1 to 31 | |
'windowlength': 'i', # Windowlength coded as 0 to 3 | |
'reverse': 'i', | |
'serialnumber': 'i', | |
'date': '32s', # date file was made | |
'idstring': '256s', # User supplied identification notes | |
'id1': 'i', # four user supplied integers | |
'id2': 'i', | |
'id3': 'i', | |
'id4': 'i', | |
'startframe': 'i', # used if this is a snippet file from source file | |
'endframe': 'i', # Used if this is a snippet file from source file | |
'timelapse': 'i', # Logic 0 or 1 (1 = timelapse active); | |
'recordInterval': 'i', # Ask Bill | |
'radioseconds': 'i', # Needed for timelapse -- ask Bill | |
'frameinterval': 'i', # Interval between frames in time lapse | |
'userassigned': '136s', # User assigned space | |
} | |
file_attributes_5 = { | |
'version': '4s', | |
'numframes': 'I', # Total frames in file | |
'framerate': 'I', # Initial recorded frame rate | |
'resolution': 'I', # Non-zero if HF, zero if LF | |
'numbeams': 'I', # ARIS 3000 = 128/64, ARIS 1800 = 96/48, ARIS 1200 = 48 | |
'samplerate': 'f', # 1/Sample Period | |
'samplesperchannel': 'I', # Number of range samples in each beam | |
'receivergain': 'I', # Relative gain in dB: 0 - 40 | |
'windowstart': 'f', # Image window start range in meters (code [0..31] in DIDSON) | |
'windowlength': 'f', # Image window length in meters (code [0..3] in DIDSON) | |
'reverse': 'I', # Non-zero = lens down (DIDSON) or lens up (ARIS), zero = opposite | |
'serialnumber': 'I', # Sonar serial number | |
'strdate': '32s', # Date that file was recorded | |
'idstring': '256s', # User input to identify file in 256 characters | |
'id1': 'i', # User-defined integer quantity | |
'id2': 'i', # User-defined integer quantity | |
'id3': 'i', # User-defined integer quantity | |
'id4': 'i', # User-defined integer quantity | |
'startframe': 'I', # First frame number from source file (for DIDSON snippet files) | |
'endframe': 'I', # Last frame number from source file (for DIDSON snippet files) | |
'timelapse': 'I', # Non-zero indicates time lapse recording | |
'recordInterval': 'I', # Number of frames/seconds between recorded frames | |
'radioseconds': 'I', # Frames or seconds interval | |
'frameinterval': 'I', # Record every Nth frame | |
'flags': 'I', # See DDF_04 file format document | |
'auxflags': 'I', # See DDF_04 file format document | |
'sspd': 'I', # Sound velocity in water | |
'flags3d': 'I', # See DDF_04 file format document | |
'softwareversion': 'I', # DIDSON software version that recorded the file | |
'watertemperature': 'I', # Water temperature code: 0 = 5-15C, 1 = 15-25C, 2 = 25-35C | |
'salinity': 'I', # Salinity code: 0 = fresh, 1 = brackish, 2 = salt | |
'pulselength': 'I', # Added for ARIS but not used | |
'txmode': 'I', # Added for ARIS but not used | |
'versionfgpa': 'I', # Reserved for future use | |
'versionpsuc': 'I', # Reserved for future use | |
'thumbnailfi': 'I', # Frame index of frame used for thumbnail image of file | |
'filesize': 'Q', # Total file size in bytes | |
'optionalheadersize': 'Q', # Reserved for future use | |
'optionaltailsize': 'Q', # Reserved for future use | |
'versionminor': 'I', # DIDSON_ADJUSTED_VERSION_MINOR | |
'largelens': 'I', # Non-zero if telephoto lens (large lens, hi-res lens, big lens) is present | |
'userassigned': '568s', # Free space for user | |
} | |
frame_attributes_3 = { | |
'framenumber': 'i', | |
'frametime': 'i', | |
'frametime2': 'i', | |
'version': '4s', | |
'status': 'i', | |
'year': 'i', | |
'month': 'i', | |
'day': 'i', | |
'hour': 'i', | |
'minute': 'i', | |
'second': 'i', | |
'hsecond': 'i', | |
'transmit': 'i', # bit2 = 2.0 MHz, bit1 = Enable, bit0 = HF_MODE | |
'windowstart': 'i', # This will be updated at the end of this routine | |
'windowlength': 'i', # Add 2 if low resolution (index between 1 and 6) | |
'threshold': 'i', | |
'intensity': 'i', | |
'receivergain': 'i', | |
'degc1': 'i', | |
'degc2': 'i', | |
'humidity': 'i', | |
'focus': 'i', | |
'battery': 'i', | |
'status1': '16s', # User defined and supplied | |
'status2': '8s', # User defined and supplied | |
'panwcom': 'f', # Return from Pan/Tilt if used when compass present | |
'tiltwcom': 'f', # Return from Pan/Tilt if used when compass is present | |
'velocity': 'f', # Platform variables supplied by user | |
'depth': 'f', | |
'altitude': 'f', | |
'pitch': 'f', | |
'pitchrate': 'f', | |
'roll': 'f', | |
'rollrate': 'f', | |
'heading': 'f', | |
'headingrate': 'f', | |
'sonarpan': 'f', | |
'sonartilt': 'f', # Read from compass if used, Read from Pan/Tilt if used and no compass | |
'sonarroll': 'f', # Read from compass if used, Read from Pan/Tilt if used and no compass | |
'latitude': 'd', | |
'longitude': 'd', | |
'sonarposition': 'f', | |
'configflags': 'i', # bit0: 1=classic, 0=extended windows; bit1: 0=Standard, 1=LR | |
'userassigned': '60s', # Free space for user | |
} | |
frame_attributes_4 = { | |
'framenumber': 'i', | |
'frametime': 'i', | |
'frametime2': 'i', | |
'version': '4s', | |
'status': 'i', | |
'year': 'i', | |
'month': 'i', | |
'day': 'i', | |
'hour': 'i', | |
'minute': 'i', | |
'second': 'i', | |
'hsecond': 'i', | |
'transmit': 'i', # bit2 = 2.0 MHz, bit1 = Enable, bit0 = HF_MODE | |
'windowstart': 'i', # This will be updated at the end of this routine | |
'windowlength': 'i', # Add 2 if low resolution (index between 1 and 6) | |
'threshold': 'i', | |
'intensity': 'i', | |
'receivergain': 'i', | |
'degc1': 'i', | |
'degc2': 'i', | |
'humidity': 'i', | |
'focus': 'i', | |
'battery': 'i', | |
'status1': '16s', # User defined and supplied | |
'status2': '8s', # User defined and supplied | |
'panwcom': 'f', # Return from Pan/Tilt if used when compass present | |
'tiltwcom': 'f', # Return from Pan/Tilt if used when compass is present | |
'velocity': 'f', # Platform variables supplied by user | |
'depth': 'f', | |
'altitude': 'f', | |
'pitch': 'f', | |
'pitchrate': 'f', | |
'roll': 'f', | |
'rollrate': 'f', | |
'heading': 'f', | |
'headingrate': 'f', | |
'sonarpan': 'f', | |
'sonartilt': 'f', # Read from compass if used, Read from Pan/Tilt if used and no compass | |
'sonarroll': 'f', # Read from compass if used, Read from Pan/Tilt if used and no compass | |
'latitude': 'd', | |
'longitude': 'd', | |
'sonarposition': 'f', | |
'configflags': 'i', # bit0: 1=classic, 0=extended windows; bit1: 0=Standard, 1=LR | |
'userassigned': '828s', # Move pointer to end of frame header of length 1024 bytes | |
} | |
frame_attributes_5 = { | |
'framenumber': 'I', | |
'frametime': 'Q', # Recording timestamp | |
'version': '4s', | |
'status': 'I', | |
'sonartimestamp': 'Q', | |
'tsday': 'I', | |
'tshour': 'I', | |
'tsminute': 'I', | |
'tssecond': 'I', | |
'tshsecond': 'I', | |
'transmitmode': 'I', | |
'windowstart': 'f', | |
'windowlength': 'f', | |
'threshold': 'I', | |
'intensity': 'i', | |
'receivergain': 'I', | |
'degc1': 'I', | |
'degc2': 'I', | |
'humidity': 'I', | |
'focus': 'I', | |
'battery': 'I', | |
'uservalue1': 'f', | |
'uservalue2': 'f', | |
'uservalue3': 'f', | |
'uservalue4': 'f', | |
'uservalue5': 'f', | |
'uservalue6': 'f', | |
'uservalue7': 'f', | |
'uservalue8': 'f', | |
'velocity': 'f', | |
'depth': 'f', | |
'altitude': 'f', | |
'pitch': 'f', | |
'pitchrate': 'f', | |
'roll': 'f', | |
'rollrate': 'f', | |
'heading': 'f', | |
'headingrate': 'f', | |
'compassheading': 'f', | |
'compasspitch': 'f', | |
'compassroll': 'f', | |
'latitude': 'd', | |
'longitude': 'd', | |
'sonarposition': 'f', | |
'configflags': 'I', | |
'beamtilt': 'f', | |
'targetrange': 'f', | |
'targetbearing': 'f', | |
'targetpresent': 'I', | |
'firmwarerevision': 'I', | |
'flags': 'I', | |
'sourceframe': 'I', | |
'watertemp': 'f', | |
'timerperiod': 'I', | |
'sonarx': 'f', | |
'sonary': 'f', | |
'sonarz': 'f', | |
'sonarpan': 'f', | |
'sonartilt': 'f', | |
'sonarroll': 'f', | |
'panpnnl': 'f', | |
'tiltpnnl': 'f', | |
'rollpnnl': 'f', | |
'vehicletime': 'd', | |
'timeggk': 'f', | |
'dateggk': 'I', | |
'qualityggk': 'I', | |
'numsatsggk': 'I', | |
'dopggk': 'f', | |
'ehtggk': 'f', | |
'heavetss': 'f', | |
'yeargps': 'I', | |
'monthgps': 'I', | |
'daygps': 'I', | |
'hourgps': 'I', | |
'minutegps': 'I', | |
'secondgps': 'I', | |
'hsecondgps': 'I', | |
'sonarpanoffset': 'f', | |
'sonartiltoffset': 'f', | |
'sonarrolloffset': 'f', | |
'sonarxoffset': 'f', | |
'sonaryoffset': 'f', | |
'sonarzoffset': 'f', | |
'tmatrix': '64s', | |
'samplerate': 'f', | |
'accellx': 'f', | |
'accelly': 'f', | |
'accellz': 'f', | |
'pingmode': 'I', | |
'frequencyhilow': 'I', | |
'pulsewidth': 'I', | |
'cycleperiod': 'I', | |
'sampleperiod': 'I', | |
'transmitenable': 'I', | |
'framerate': 'f', | |
'soundspeed': 'f', | |
'samplesperbeam': 'I', | |
'enable150v': 'I', | |
'samplestartdelay': 'I', | |
'largelens': 'I', | |
'thesystemtype': 'I', | |
'sonarserialnumber': 'I', | |
'encryptedkey': 'Q', | |
'ariserrorflagsuint': 'I', | |
'missedpackets': 'I', | |
'arisappversion': 'I', | |
'available2': 'I', | |
'reorderedsamples': 'I', | |
'salinity': 'I', | |
'pressure': 'f', | |
'batteryvoltage': 'f', | |
'mainvoltage': 'f', | |
'switchvoltage': 'f', | |
'focusmotormoving': 'I', | |
'voltagechanging': 'I', | |
'focustimeoutfault': 'I', | |
'focusovercurrentfault': 'I', | |
'focusnotfoundfault': 'I', | |
'focusstalledfault': 'I', | |
'fpgatimeoutfault': 'I', | |
'fpgabusyfault': 'I', | |
'fpgastuckfault': 'I', | |
'cputempfault': 'I', | |
'psutempfault': 'I', | |
'watertempfault': 'I', | |
'humidityfault': 'I', | |
'pressurefault': 'I', | |
'voltagereadfault': 'I', | |
'voltagewritefault': 'I', | |
'focuscurrentposition': 'I', | |
'targetpan': 'f', | |
'targettilt': 'f', | |
'targetroll': 'f', | |
'panmotorerrorcode': 'I', | |
'tiltmotorerrorcode': 'I', | |
'rollmotorerrorcode': 'I', | |
'panabsposition': 'f', | |
'tiltabsposition': 'f', | |
'rollabsposition': 'f', | |
'panaccelx': 'f', | |
'panaccely': 'f', | |
'panaccelz': 'f', | |
'tiltaccelx': 'f', | |
'tiltaccely': 'f', | |
'tiltaccelz': 'f', | |
'rollaccelx': 'f', | |
'rollaccely': 'f', | |
'rollaccelz': 'f', | |
'appliedsettings': 'I', | |
'constrainedsettings': 'I', | |
'invalidsettings': 'I', | |
'enableinterpacketdelay': 'I', | |
'interpacketdelayperiod': 'I', | |
'uptime': 'I', | |
'arisappversionmajor': 'H', | |
'arisappversionminor': 'H', | |
'gotime': 'Q', | |
'panvelocity': 'f', | |
'tiltvelocity': 'f', | |
'rollvelocity': 'f', | |
'sentinel': 'I', | |
'userassigned': '292s', # Free space for user | |
} | |