User manual

OceanWorks International
120 6741 Cariboo Road
Burnaby, BC V3N 4A3
Canada
www.oceanworks.com
Document Number: 0848-RPT002 Subsea System User Manual
Author: Graham Cunliffe Page 18 of 27 Revision 1.0
It is strongly recommended that for the final production load of the software the code be
compiled to the target board (compiler Project Options) and then loaded via the RFU. The
target board is:
- 44MHz BL2600, 512K Flash, 256K+512K SRAM
Rabbit 3000 Revision: IL1T/IZ1T
The above procedure ensures that the binary (.bin) image is the one that is being run on the
board and thus can be loaded to other JBs as required.
While not a prerequisite for the maintenance of the subsea code, OceanWorks strongly
recommends the use of a network protocol analyzer such as WIRESHARK. This type of
software is very useful in isolating problems pertaining to IP addressing and validating the
contents of the User Datagram Protocol (UDP) telemetry stream.
7.5. Subsea Code Modules
The sub-sea code consists of the following modules (libraries in Dynamic C terminology):
7.5.1. Node.C
This is the main program module for the subsea code. Program start and initialisation are
performed here as well as the main program loop in which commands are received and
responded to; telemetry is acquired and transmitted and fault conditions are detected.
The error handler is also in this module. The error handler is invoked if the watchdog
timer expires. The error handler forces a restart of the sub-sea software (equivalent to
power cycling the controller board).
7.5.2. JBDEFS.Lib
This module contains all defines and global data structures required by the sub-sea
software. Global values are identified by the prefix G_ for example: G_newIpAddr.
Defined constants are capitalized, for example: FAULT_CHECK_INTERVAL.
There are some definitions pertaining to the TCP communications that are derived from
the module JBTCP.LIB (Section 7.5.3).
7.5.3. JBTCP.Lib
This module contains some additional definitions specific to the TCP routines.