Linus Torvalds df9984e123 Add initial Scubapro G2 frontend
The back-end parser seems to be the same as for the Uwatec Smart (aka
Galileo Sol).  At least that's the assumption right now.

The downloader just uses USB HID (very similar to EON Steel) rather than
the horrible IrDA thing.

There's also eventually a BLE thing, but that's for the future.

This is an unholy mixture of the Uwatec Smart downloader logic and the
EON Steel usbhid transfer code.  The back-end is pure Uwatec Smart
(model 0x11, same as Galileo Sol).

I'm not at all sure this gets everything right, but it downloads
*something*.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-06-08 22:16:14 -07:00

101 lines
2.7 KiB
C

/*
* libdivecomputer
*
* Copyright (C) 2011 Jef Driesen
*
* 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
*/
#ifndef DC_COMMON_H
#define DC_COMMON_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
typedef enum dc_status_t {
DC_STATUS_SUCCESS = 0,
DC_STATUS_DONE = 1,
DC_STATUS_UNSUPPORTED = -1,
DC_STATUS_INVALIDARGS = -2,
DC_STATUS_NOMEMORY = -3,
DC_STATUS_NODEVICE = -4,
DC_STATUS_NOACCESS = -5,
DC_STATUS_IO = -6,
DC_STATUS_TIMEOUT = -7,
DC_STATUS_PROTOCOL = -8,
DC_STATUS_DATAFORMAT = -9,
DC_STATUS_CANCELLED = -10
} dc_status_t;
typedef enum dc_family_t {
DC_FAMILY_NULL = 0,
/* Suunto */
DC_FAMILY_SUUNTO_SOLUTION = (1 << 16),
DC_FAMILY_SUUNTO_EON,
DC_FAMILY_SUUNTO_VYPER,
DC_FAMILY_SUUNTO_VYPER2,
DC_FAMILY_SUUNTO_D9,
DC_FAMILY_SUUNTO_EONSTEEL,
/* Reefnet */
DC_FAMILY_REEFNET_SENSUS = (2 << 16),
DC_FAMILY_REEFNET_SENSUSPRO,
DC_FAMILY_REEFNET_SENSUSULTRA,
/* Uwatec */
DC_FAMILY_UWATEC_ALADIN = (3 << 16),
DC_FAMILY_UWATEC_MEMOMOUSE,
DC_FAMILY_UWATEC_SMART,
DC_FAMILY_UWATEC_MERIDIAN,
/* We'll enumerate the Scubapro G2 under Uwatec */
DC_FAMILY_SCUBAPRO_G2,
/* Oceanic */
DC_FAMILY_OCEANIC_VTPRO = (4 << 16),
DC_FAMILY_OCEANIC_VEO250,
DC_FAMILY_OCEANIC_ATOM2,
/* Mares */
DC_FAMILY_MARES_NEMO = (5 << 16),
DC_FAMILY_MARES_PUCK,
DC_FAMILY_MARES_DARWIN,
DC_FAMILY_MARES_ICONHD,
/* Heinrichs Weikamp */
DC_FAMILY_HW_OSTC = (6 << 16),
DC_FAMILY_HW_FROG,
DC_FAMILY_HW_OSTC3,
/* Cressi */
DC_FAMILY_CRESSI_EDY = (7 << 16),
DC_FAMILY_CRESSI_LEONARDO,
/* Zeagle */
DC_FAMILY_ZEAGLE_N2ITION3 = (8 << 16),
/* Atomic Aquatics */
DC_FAMILY_ATOMICS_COBALT = (9 << 16),
/* Shearwater */
DC_FAMILY_SHEARWATER_PREDATOR = (10 << 16),
DC_FAMILY_SHEARWATER_PETREL,
/* Dive Rite */
DC_FAMILY_DIVERITE_NITEKQ = (11 << 16),
/* Citizen */
DC_FAMILY_CITIZEN_AQUALAND = (12 << 16),
/* DiveSystem */
DC_FAMILY_DIVESYSTEM_IDIVE = (13 << 16),
/* Cochran */
DC_FAMILY_COCHRAN_COMMANDER = (14 << 16),
} dc_family_t;
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* DC_COMMON_H */