This file describes in text (top portion) and in matlab code (bottom portion) the part of /home/adcp/cruise_cfg.m__ most likely to need editing for a new setup -------------------------------------------- The part of cruise_cfg.m__ one usually has to change is the 'rules': These 'rules' decide: - what fields do we need? - what instrumets will we get them from? When you fill these out, keep in mind (1) "best.rules" is a cell array with one text entry per field Those fields are usually {'gps', 'heading', 'pitch', 'roll'}; (2) Every text entry in "best.rules" needs an instrument and a suffix. Instrument NMEA messages are expected to have checksums (the one exception is gyro HDT or HDG messages -- see below) (3) each instrument name ('gpsnav', 'ashtech', etc) is specified in sensor_cfg.py and corresponds to the directory name in which data are logged. The message name refers to the NMEA string that is parsed (eg. GPGGA, PASHR,...). These each get a different suffix. suffix instrument string ------ ------------------ gps ??GGA message (e.g., INGGA or GPGGA) hdg HEHRC or HEHDT messages from serial gyro hnc HEHRC or HEHDT gyro heading, NO CHECKSUM adu PASHR,ATT Ashtech pmv POSMV $PASHR rdi PRDID sea combination if PSXN,20 and PSXN,23 attitude from seapath gps_sea same as gps, but with PSXN,20 quality (seapath) NOTE: The use of 'best' for heading is somewhat unfortunate. It should really say 'most reliable'. We choose a serial gyro entry for this field, and correct the heading afterwards. The part of cruise_cfg.m__ to edit is the usually limited to the following: %%%--- begin snippet ---%%% best.rules = {'gps', 'heading', 'pitch', 'roll'}; %% instrument message %% --------- -------- best.gps_rule = {'gpsnav', 'gps'}; %% usually pcode or other gps best.heading_rule = {'gyro', 'hdg'}; %% "best" = "most reliable" best.pitch_rule = {'ashtech', 'adu'}; %% recorded but not implemented best.roll_rule = {'ashtech', 'adu'}; %% recorded but not implemented %%%--- end snippet ---%%% The following are examples for a variety of circumstances: %% ================ positions: best.gps_rule ===================== % choose one best.gps_rule = {'gpsnav', 'gps'}; % position from 'pcode' best.gps_rule = {'ashtech', 'gps'}; % position from 'ashtech' best.gps_rule = {'posmv', 'gps'}; % position from 'posmv' best.gps_rule = {'seapath', 'gps'}; % position from 'seapath' best.gps_rule = {'seapath', 'gps_sea'}; % position from 'seapath' %% =========== original reliable heading: best.heading_rule ============ % choose one best.heading_rule = {'gyro', 'hdg'}; % gyro WITH checksum messages best.heading_rule = {'gyro', 'hnc'}; % gyro WITHOUT checksum messages %% ================ attitude: best.pitch_rule, best.roll_rule =============== % choose a pair, if needed % These are recorded for informational purposes in the database, % but are not implemented in the transformation best.pitch_rule = {'ashtech', 'adu'}; best.roll_rule = {'ashtech', 'adu'}; best.pitch_rule = {'posmv', 'pmv'}; best.roll_rule = {'posmv', 'pmv'}; best.pitch_rule = {'seapath', 'sea'}; best.roll_rule = {'seapath', 'sea'}; % occasionally there will be a ship that has a heading-only output % from an optical gyro (for instance) as its only 'more accurate' % heading source. If the instrument is reliable, go ahead and % use that as the primary heading, and specify that there will % be no heading correction. If there is no pitch or roll info % from the attitude sensor, specify that no pitch or roll are expected: best.rules = {'gps', 'heading'};