summaryrefslogtreecommitdiffstats
path: root/cochran_cmdr.h
diff options
context:
space:
mode:
Diffstat (limited to 'cochran_cmdr.h')
-rw-r--r--cochran_cmdr.h82
1 files changed, 82 insertions, 0 deletions
diff --git a/cochran_cmdr.h b/cochran_cmdr.h
new file mode 100644
index 000000000..1c5f938d5
--- /dev/null
+++ b/cochran_cmdr.h
@@ -0,0 +1,82 @@
+/*
+ * subsurface
+ *
+ * Copyright (C) 2014 John Van Ostrand
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+
+struct cochran_cmdr_log_t {
+ // Pre-dive 128 bytes
+ unsigned char minutes, seconds; // 2 bytes
+ unsigned char day, hour, year, month; // 4 bytes
+ unsigned char sample_start_offset[4]; // 4 bytes
+ unsigned char start_timestamp[4]; // 4 bytes
+ unsigned char pre_dive_timestamp[4]; // 4 bytes
+ unsigned char unknown1[6]; // 6 bytes
+ unsigned char water_conductivity; // 1 byte [0=low, 2=high]
+ unsigned char unknown2[5]; // 5 bytes
+//30
+ unsigned char sample_pre_event_offset[4];// 4 bytes
+ unsigned char unknown3[4]; // 4 bytes
+ unsigned char start_battery_voltage[2]; // 2 bytes [/256]
+//40
+ unsigned char unknown4[2]; // 2 bytes
+ unsigned char start_sgc[2]; // 2 bytes
+ unsigned char entered_or_computed_po[2];// 2 bytes ???
+ unsigned char unknown5[10]; // 10 bytes
+//56
+ unsigned char start_depth[2]; // 2 byte [/4]
+ unsigned char unknown6[4]; // 3 bytes
+ unsigned char start_psi[2]; // 2 bytes LE
+ unsigned char unknown7[4]; // 4 bytes
+ unsigned char sit[2]; // 2 bytes
+//70
+ unsigned char number[2]; // 2 bytes
+ unsigned char unknown8[1]; // 1 byte
+ unsigned char altitude; // 1 byte [/4 = kft]
+ unsigned char unknown9[28]; // 27 bytes
+ unsigned char alarm_depth[2]; // 2 bytes
+ unsigned char unknown10[4]; // 5 bytes
+//108
+ unsigned char repetitive_dive; // 1 byte
+ unsigned char unknown11[3]; // 3 bytes
+ unsigned char start_tissue_nsat[16]; // 16 bytes [/256]
+
+ // Post-dive 128 bytes
+ unsigned char sample_end_offset[4]; // 4 bytes
+ unsigned char unknown12[21]; // 21 bytes
+ unsigned char temp; // 1 byte
+ unsigned char unknown13[12]; // 12 bytes
+ unsigned char bt[2]; // 2 bytes [minutes]
+//168
+ unsigned char max_depth[2]; // 2 bytes [/4]
+ unsigned char avg_depth[2]; // 2 bytes
+ unsigned char unknown14[38]; // 38 bytes
+//210
+ unsigned char o2_percent[4][2]; // 8 bytes
+ unsigned char unknown15[22]; // 22 bytes
+ unsigned char end_tissue_nsat[16]; // 16 bytes [/256]
+} __attribute__((packed));
+
+struct cochran_cmdr_config1_t {
+ unsigned char unknown1[209];
+ unsigned short int dive_count;
+ unsigned char unknown2[274];
+ unsigned short int serial_num; // @170
+ unsigned char unknown3[24];
+} __attribute__((packed));