WISPR passive acoustic sensor
Guidance for installation and operation of a WISPR passive acoustic recorder
WISPR stands for Wideband Intelligent Signal Processor and Recorder. It is commercially available from Embedded Ocean Systems.
Useful links
WISPR operation
These instructions are for the third generation WISPR3 recorder installed on a Seaglider
Before a mission
WISPR is installed on a Seaglider as a logger device. Configuration for the logger device (when the Seaglider should turn WISPR on and off, etc.) is set using a wslog.cnf
file. This is typically set up once during installation and not changed. See detailed installation instructions below.
Specific settings for the WISPR system itself (sampling rate, gain, etc) are set via a wispr.txt
file stored on the WISPR memory cards. These must be set before a mission when the Seaglider is opened up and being refurbished and prepped for the mission.
The WISPR system’s recording settings (sample rate, file duration, gain, etc.) are set using a wispr.txt
configuration file that is loaded onto the WISPR3 memory (microSD) or set manually through direct serial communications with the WISPR3. If no wispr.txt
is present, a default file will be created when WISPR3 powers on. Detailed descriptions of each input can be found in the WISPR3 File Formats Manual.
A file with the desired settings and the sensor and platform IDs should be loaded onto both microSD cards before a mission; a copy of what was loaded should be saved with the date for reference. Below is an example file that will record 120 second files at a 200 kHz sampling rate and 24-bit resolution with no additional system gain. This example file and others are available in the standard_files
folder wispr.txt_v1.2.250828_200kHz_120sec
WISPR 3.0 configuration
sensor_id: 2402
platform_id: SG680
start_state: 2
start_mode: 3
glider_mode: 0
adc_type: LTC2512
adc_sample_size: 3
adc_sampling_rate: 200000
adc_channels: 1
adc_gain: 0
adc_decimation: 4
adc_timestamp: 0
secs_per_file: 120
max_file_size: 204800
run_time: 0
duty_cycle: 0
debug_level: 1
fft_size: 512
fft_overlap: 0
fft_window_type: 0
rtc_aging: 0
rtc_freq: 32767
msg_baud: 9600
msg_termination: 13
msg_handshake: 0
During a mission
The Seaglider piloting cmdfile
has four parameters that control WISPR operation while the glider is deployed. While these can be changed during a mission, these are typically set once at the start of a mission and should only be changed if the sampling scheme needs to be changed (e.g., turning off WISPR to reduce battery consumption or only sampling on ascents but not descents).
$WS_RECORDABOVE,-10.0 # depth at which WISPR will record, 0 will never record
$WS_PROFILE,3.0 # which profiles to record (1-descent, 2-ascent, 3-both)
$WS_XMITPROFILE,3.0 # which profiles to transmit (1-descent, 2-ascent, 3-both)
$WS_UPLOADMAX,100.0 # max upload size (in ?? bytes)
In this example WISPR will turn on and record at all depths below 10 m, on both descents and ascents, will transmit data back for both profiles (only relevant with a real-time system), and transmitted files will not be bigger than 100 bytes.
For $WS_RECORDABOVE
a positive value indicates to sampling shallower than the specified depth (e.g., setting to 500 will record at depths from 0 to 500 m) and a negative value indicates to sample below the specified depth (e.g., setting to -20 will record at all depths below 20 m).
Pseudo-parameters that are reported in the logfile
:
$WS_STARTS,0.0 # pseudo-parameter, number of starts is reported in `logfile`
$WS_NDIVE,1.0 # ?? psuedo-parameter
WISPR installation
Hardware installation
More here later on how to physically install a WISPR3 system on a Seaglider…
This should include information on mounting, cabling, and hydrophone connections.
Seaglider logdev configuration
WISPR is controlled by the Seaglider logdev interface meaning it must be added/loaded as a “logger” once it has been installed. A wslog.cnf
logger configuration file manages how the Seaglider communicates with and controls WISPR as a ‘logger’ device. This file can contain a variety of commands outlined in detail in the IOP logdev manual. This file is loaded durinng initial WISPR installation and otherwise should not need to be modified unless the WISPR hardware or software is changed.
The exact contents of this file (the amount of pauses and warmups) appears to be sensitive to changes in WISPR3 firmware so thorough testing is required after updating any firmware. Through testing, the below file should operate a WISPR3 running firmware v1.2.20250828 without a real-time system (firmware copies can be found in this repo’s resources folder).
name=WISPR
prefix=ws
cmdprefix=$WS_
baud=9600
voltage=10
current=.0592
warmup=15000
timeout=7000
prompt=W>
datatype=z
start="%{$TME,%s*ff}%r%9%9%9%9$RUN*ee%r%9%9%9%9%9%9"
stop="$EXI*a6%r%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9%9"
An example wslog.cnf
for WISPR3 firmware version 1.2.250828 is located in the standard_files
folder: wslog.cnf_v1.2.250828_for_seaglider
.
Load wslog.cnf
Instructions to load a new wslog.cnf
are available below or as a Google Doc here: Load wslog.cnf.
To update a wslog.cnf
file on a Seaglider, the previously loaded configuration must be deleted from the logger and the file deleted from the Seaglider, then the new file must be transferred to the Seaglider memory and then loaded into the logger.
On the Seaglider, the WISPR configuration file must be called wslog.cnf
so in order to track different versions, always save a copy of the uploaded file with a unique name such as wslog.cnf_sg680_20250829
so it can be referenced later if needed. The Seaglider manufacturer logger installation/logdev documentation can be found at iop.apl.washington.edu/iopsg/logdev.txt.
Steps:
- Clear the currently loaded configuration
- Navigate through the main menu to
param > config > logdel
- Choose
0
for WISPR (or whichever slot WISPR is loaded into) - After hitting
[CR]
it will ask to confirm reinitializing the logger and selectY
to do so
- Navigate through the main menu to
- Delete old
wslog.cnf
usingpdos
- Access
pdos
from the glider main menu - Use
ls
to list all currently loaded files and check for presence ofwslog.cnf
- Use
cat wslog.cnf
to view an existing configuration file - Use
del wslog.cnf
to delete the existing file - Use
ls
to confirm it has been removed
- Access
- Upload the new
wslog.cnf
usingpdos
- First use
ls
to confirm wslog.cnf isn’t there any more - Prepare the Seaglider to receive the file via XMODEM by typing
xr wslog.cnf
- The glider console will then be waiting for the file. Within TeraTerm navigate to
File > Transfer > XMODEM > Send
and select the desired file - A window will pop up showing the transfer progress; it should only take a few seconds. If it is taking a long time, hit cancel and try again
- Verify the correct new file has been uploaded with
cat wslog.cnf
- Type
strip1a wslog.cnf
to remove any extra lines or spaces
- First use
- Add logger back in with
params > config > logadd
- Choose slot
0
and then type in name of filewslog.cnf
- It will then prompt if you want to reinitalize hardware configuration and choose
Y
- Choose slot
- Check things
- Via the Seaglider menu navigate to
hardware > config > logger
- Select slot 1
- Confirm it says
WISPR USART2 pwr f6
- Select
Y
when prompted to re-initialize
- Via the Seaglider menu navigate to