U.S. patent application number 14/461352 was filed with the patent office on 2015-02-26 for controlling marine electronics device.
The applicant listed for this patent is Navico Holding AS. Invention is credited to Paul Robert Bailey.
Application Number | 20150054732 14/461352 |
Document ID | / |
Family ID | 52479853 |
Filed Date | 2015-02-26 |
United States Patent
Application |
20150054732 |
Kind Code |
A1 |
Bailey; Paul Robert |
February 26, 2015 |
Controlling Marine Electronics Device
Abstract
Various implementations described herein are directed to a
non-transitory computer readable medium having stored thereon
computer-executable instructions which, when executed by a
computer, may cause the computer to receive motion data or button
input recorded by one or more motion sensors or one or more buttons
on a wearable device. The computer may determine that the motion
data or button input corresponds to a command for operating a
marine electronics device. The computer may perform an action
corresponding to the command on the marine electronics device.
Inventors: |
Bailey; Paul Robert;
(Auckland, NZ) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Navico Holding AS |
Egersund |
|
NO |
|
|
Family ID: |
52479853 |
Appl. No.: |
14/461352 |
Filed: |
August 15, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61868444 |
Aug 21, 2013 |
|
|
|
Current U.S.
Class: |
345/156 |
Current CPC
Class: |
G06F 3/014 20130101;
G11B 27/28 20130101; G01C 21/203 20130101; G06F 11/3013 20130101;
A61B 5/1123 20130101; G01S 15/96 20130101; G06F 3/0346 20130101;
G06F 11/3476 20130101; G06Q 10/00 20130101; G06T 7/246 20170101;
G06F 16/9535 20190101; G11B 27/17 20130101; G01B 21/00 20130101;
G11B 31/006 20130101; G01S 7/003 20130101; G06F 11/3438 20130101;
G06T 7/60 20130101; A01K 79/00 20130101; G06F 2201/835 20130101;
H04N 21/4335 20130101; B63B 49/00 20130101; G06T 2207/30196
20130101; G06K 9/00342 20130101; Y02D 10/00 20180101; G06F 15/0225
20130101; H04Q 2209/43 20130101; G08C 17/02 20130101; G06F 11/3058
20130101; G06T 2207/10016 20130101; H04N 5/91 20130101; G06T 7/292
20170101; G06Q 50/01 20130101; G06T 11/206 20130101; G11B 27/34
20130101; A01K 97/00 20130101; A61B 5/1118 20130101; G06F 3/0231
20130101; G11B 27/031 20130101; G06F 3/017 20130101; A01K 99/00
20130101; G08C 2201/32 20130101; G01C 21/20 20130101; H04Q 9/00
20130101 |
Class at
Publication: |
345/156 |
International
Class: |
G06F 15/02 20060101
G06F015/02; G06F 3/023 20060101 G06F003/023; G08C 17/02 20060101
G08C017/02; G06F 3/01 20060101 G06F003/01 |
Claims
1. A non-transitory computer-readable medium having stored thereon
a plurality of computer-executable instructions which, when
executed by a computer, cause the computer to: receive motion data
or button input recorded by one or more motion sensors or one or
more buttons on a wearable device; determine that the motion data
or button input corresponds to a command for operating a marine
electronics device; and perform an action corresponding to the
command on the marine electronics device.
2. The non-transitory computer-readable medium of claim 1, wherein
the command for operating the marine electronics device is a
command for adding a waypoint, taking a screenshot, selecting an
alternate display, controlling an autopilot, changing pages,
viewing a chart, viewing sonar, starting or finishing sonar logs,
or zooming in or out.
3. The non-transitory computer-readable medium of claim 1, wherein
the motion data or button input is wirelessly transmitted by the
wearable device.
4. The non-transitory computer-readable medium of claim 1, wherein
the one or more motion sensors comprise one or more
accelerometers.
5. The non-transitory computer-readable medium of claim 1, wherein
the motion data comprises accelerometer data.
6. The non-transitory computer-readable medium of claim 1, wherein
the motion data comprise accelerometer data recorded in response to
rotating the wearable device.
7. The non-transitory computer-readable medium of claim 1, wherein
the instructions that cause the computer to determine that the
motion data correspond to the command for operating the marine
electronics device comprise instructions that cause the computer to
determine that the motion data correspond to a predetermined
motion.
8. The non-transitory computer-readable medium of claim 2, wherein
the computer-executable instructions further cause the computer to:
determine a location of the marine electronics device; and store
the waypoint corresponding to the location of the marine
electronics device.
9. The non-transitory computer-readable medium of claim 8, wherein
the computer-executable instructions further cause the computer to
transmit the waypoint to a cloud software service.
10. The non-transitory computer-readable medium of claim 1, wherein
the button input comprises a length of time during which a button
was pressed.
11. A non-transitory computer-readable medium having stored thereon
a plurality of computer-executable instructions which, when
executed by a computer, cause the computer to: receive a command
for operating a marine electronics device from a wearable device,
wherein the command was determined by the wearable device in
response to detecting motion data or button input using motion
sensors or buttons disposed on the wearable device; and perform an
action corresponding to the command on the marine electronics
device.
12. The non-transitory computer-readable medium of claim 11,
wherein the command is configured to add a waypoint, take a
screenshot, select an alternate display, control an autopilot,
change pages, view a chart, view sonar, start or finish sonar logs,
or zoom in or out.
13. A non-transitory computer-readable medium having stored thereon
a plurality of computer-executable instructions which, when
executed by a computer, cause the computer to: receive button
input, motion data or combinations thereof from one or more motion
sensors or buttons on a wearable device; determine that the button
input, motion data or combinations thereof corresponds to a command
for operating a marine electronics device; and transmit the command
to the marine electronics device.
14. The non-transitory computer-readable medium of claim 13,
wherein the one or more motion sensors comprise one or more
accelerometers.
15. The non-transitory computer-readable medium of claim 13,
wherein the instructions that cause the computer to determine that
the button input, motion data or combinations thereof corresponds
to the command for operating the marine electronics device comprise
instructions that cause the computer to determine that the button
input, motion data or combinations thereof corresponds to a
predetermined motion.
16. The non-transitory computer-readable medium of claim 13,
wherein the command for operating a marine electronics device is a
command for adding a waypoint, taking a screenshot, selecting an
alternate display, controlling an autopilot, changing pages,
viewing a chart, viewing sonar, starting or finishing sonar logs,
or zooming in or out.
17. The non-transitory computer-readable medium of claim 13,
wherein the command is transmitted wirelessly to the marine
electronics device.
18. A non-transitory computer-readable medium having stored thereon
a plurality of computer-executable instructions which, when
executed by a computer, cause the computer to: receive button input
or motion data recorded by one or more motion sensors or one or
more buttons on a wearable device, wherein the button input or
motion data corresponds to a command for operating a marine
electronics device; and wirelessly transmit the button input or
motion data to a marine electronics device.
19. The non-transitory computer-readable medium of claim 18,
wherein the one or more motion sensors comprise one or more
accelerometers.
20. The non-transitory computer-readable medium of claim 18,
wherein the command is configured to add a waypoint, take a
screenshot, select an alternate display, control an autopilot,
change pages, view a chart, view sonar, start or finish sonar logs,
or zoom in or out.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional
Patent Application Ser. No. 61/868,444, filed Aug. 21, 2013 and
titled FISHING DATA COLLECTION AND USE, the disclosure of which is
incorporated herein by reference.
BACKGROUND
[0002] This section is intended to provide background information
to facilitate a better understanding of various technologies
described herein. As the section's title implies, this is a
discussion of related art. That such art is related in no way
implies that it is prior art. The related art may or may not be
prior art. It should therefore be understood that the statements in
this section are to be read in this light, and not as admissions of
prior art.
[0003] Various forms of data, such as marine electronics data, may
be displayed using a marine electronics device. Marine electronics
data may include, for example, sonar data, chart data, radar data,
or navigation data. The marine electronics device may be positioned
on a vessel. The operator of a marine vessel may use a marine
electronics device for navigation, to monitor marine traffic, or
for other purposes. A device that is easy to operate and that
provides data in an easy to follow format can provide advantages to
the vessel operator.
SUMMARY
[0004] Described herein are implementations of various technologies
for a method for determining that motion data or button input
corresponds to a command for operating a marine electronics device
and performing an action corresponding to the command. In one
implementation, a non-transitory computer-readable medium having
stored thereon computer-executable instructions which, when
executed by a computer, cause the computer to perform various
actions. The actions may include receiving motion data or button
input recorded by one or more motion sensors or one or more buttons
on a wearable device. The actions may include determining that the
motion data or button input corresponds to a command for operating
a marine electronics device. The actions may also include
performing an action corresponding to the command on the marine
electronics device.
[0005] Described herein are also implementations of various
technologies for a method for receiving a command for operating a
marine electronics device from a wearable device. In one
implementation, a non-transitory computer-readable medium having
stored thereon computer-executable instructions which, when
executed by a computer, cause the computer to perform various
actions. The actions may include receiving a command for operating
a marine electronics device from a wearable device, wherein the
command was determined by the wearable device in response to
detecting motion data or button input using motion sensors or
buttons disposed on the wearable device. The actions may also
include performing an action corresponding to the command on the
marine electronics device.
[0006] Described herein are also implementations of various
technologies for a method for determining that button input, motion
data, or combinations thereof corresponds to a command for
operating a marine electronics device and transmitting the command.
In one implementation, a non-transitory computer-readable medium
having stored thereon computer-executable instructions which, when
executed by a computer, cause the computer to perform various
actions. The actions may include receiving button input, motion
data or combinations thereof from one or more motion sensors or
buttons on a wearable device. The actions may include determining
that the button input, motion data or combinations thereof
corresponds to a command for operating a marine electronics device.
The actions may also include transmitting the command to the marine
electronics device.
[0007] Described herein are also implementations of various
technologies for a method for receiving button input or motion data
and wirelessly transmitting the button input or motion data to a
marine electronics device. In one implementation, a non-transitory
computer-readable medium having stored thereon computer-executable
instructions which, when executed by a computer, cause the computer
to perform various actions. The actions may include receiving
button input or motion data recorded by one or more motion sensors
or one or more buttons on a wearable device, wherein the button
input or motion data corresponds to a command for operating a
marine electronics device. The actions may also include wirelessly
transmitting the button input or motion data to a marine
electronics device.
[0008] The above referenced summary section is provided to
introduce a selection of concepts in a simplified form that are
further described below in the detailed description section. The
summary is not intended to identify key features or essential
features of the claimed subject matter, nor is it intended to be
used to limit the scope of the claimed subject matter. Furthermore,
the claimed subject matter is not limited to implementations that
solve any or all disadvantages noted in any part of this
disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Implementations of various techniques will hereafter be
described with reference to the accompanying drawings. It should be
understood, however, that the accompanying drawings illustrate only
the various implementations described herein and are not meant to
limit the scope of various techniques described herein.
[0010] FIG. 1A illustrates a wearable device in accordance with
implementations of various techniques described herein.
[0011] FIG. 1B illustrates a block diagram of the wearable device
100 in accordance with various implementations described
herein.
[0012] FIG. 2 is a flow diagram for a method of controlling a
marine electronics device using motion commands in accordance with
implementations of various techniques described herein.
[0013] FIG. 3 illustrates using motion commands to control a marine
electronics device in accordance with implementations of various
techniques described herein.
[0014] FIG. 4 is a flow diagram for a method of controlling a
marine electronics device using button input in accordance with
implementations of various techniques described herein.
[0015] FIG. 5 illustrates using button commands to control a marine
electronics device in accordance with implementations of various
techniques described herein.
[0016] FIG. 6 illustrates a schematic diagram of a computing system
in which the various technologies described herein may be
incorporated and practiced.
[0017] FIG. 7 illustrates a schematic of a marine electronics
device in accordance with implementations of various techniques
described herein.
DETAILED DESCRIPTION
[0018] The discussion below is directed to certain specific
implementations. It is to be understood that the discussion below
is only for the purpose of enabling a person with ordinary skill in
the art to make and use any subject matter defined now or later by
the patent "claims" found in any issued patent herein.
[0019] It is specifically intended that the claimed invention not
be limited to the implementations and illustrations contained
herein, but include modified forms of those implementations
including portions of the implementations and combinations of
elements of different implementations as come within the scope of
the following claims. It should be appreciated that in the
development of any such actual implementation, as in any
engineering or design project, numerous implementation-specific
decisions must be made to achieve the developers' specific goals,
such as compliance with system-related and business related
constraints, which may vary from one implementation to another.
Moreover, it should be appreciated that such a development effort
might be complex and time consuming, but would nevertheless be a
routine undertaking of design, fabrication, and manufacture for
those of ordinary skill having the benefit of this disclosure.
Nothing in this application is considered critical or essential to
the claimed invention unless explicitly indicated as being
"critical" or "essential."
[0020] Reference will now be made in detail to various
implementations, examples of which are illustrated in the
accompanying drawings and figures. In the following detailed
description, numerous specific details are set forth in order to
provide a thorough understanding of the present disclosure.
However, it will be apparent to one of ordinary skill in the art
that the present disclosure may be practiced without these specific
details. In other instances, well-known methods, procedures,
components, circuits and networks have not been described in detail
so as not to unnecessarily obscure aspects of the embodiments.
[0021] It will also be understood that, although the terms first,
second, etc. may be used herein to describe various elements, these
elements should not be limited by these terms. These terms are only
used to distinguish one element from another. For example, a first
object or step could be termed a second object or step, and,
similarly, a second object or step could be termed a first object
or step, without departing from the scope of the invention. The
first object or step, and the second object or step, are both
objects or steps, respectively, but they are not to be considered
the same object or step.
[0022] The terminology used in the description of the present
disclosure herein is for the purpose of describing particular
implementations only and is not intended to be limiting of the
present disclosure. As used in the description of the present
disclosure and the appended claims, the singular forms "a," "an"
and "the" are intended to include the plural forms as well, unless
the context clearly indicates otherwise. It will also be understood
that the term "and/or" as used herein refers to and encompasses any
and all possible combinations of one or more of the associated
listed items. It will be further understood that the terms
"includes," "including," "comprises" and/or "comprising," when used
in this specification, specify the presence of stated features,
integers, steps, operations, elements, and/or components, but do
not preclude the presence or addition of one or more other
features, integers, steps, operations, elements, components and/or
groups thereof.
[0023] As used herein, the term "if" may be construed to mean
"when" or "upon" or "in response to determining" or "in response to
detecting," depending on the context. Similarly, the phrase "if it
is determined" or "if [a stated condition or event] is detected"
may be construed to mean "upon determining" or "in response to
determining" or "upon detecting [the stated condition or event]" or
"in response to detecting [the stated condition or event],"
depending on the context. As used herein, the terms "up" and
"down"; "upper" and "lower"; "upwardly" and "downwardly"; "below"
and "above"; and other similar terms indicating relative positions
above or below a given point or element may be used in connection
with some implementations of various technologies described
herein.
[0024] Various implementations of input for marine electronics
described herein will now be described in more detail with
reference to FIGS. 1-7.
Wearable Device
[0025] A fisherman may wear a wearable device that captures motion
data and button input to determine when a cast has been made, or
any other fishing event has occurred. The wearable device may also
be used for other purposes, for instance, wirelessly controlling a
marine electronics device. Accordingly, FIG. 1A illustrates a
wearable device 100 in accordance with various implementations
described herein. The wearable device 100 may be worn around the
fisherman's arm or wrist. In an alternate implementation, a
wearable device may be attached to a cord and worn around a
fisherman's neck.
[0026] The wearable device 100 may be made of a combination of
plastics and rubbers, or of any other synthetic material. The
wearable device 100 may also be waterproof. The wearable device 100
may include a clasp, or another mechanism to aid in removal of the
wearable device 100 from a user's arm. The wearable device 100 may
include one or more buttons 110. Although the wearable device is
described as a band, the wearable device may be a watch, pair of
eyeglasses, or any other device that can be worn or attached to the
body or clothing.
[0027] FIG. 1B illustrates a block diagram of the wearable device
100 in accordance with various implementations described herein. As
shown in FIG. 1B, the wearable device 100 may include a computer
130 and at least one motion sensor 120. The at least one motion
sensor 120 may include one or more accelerometers, gyroscopes,
muscle activity sensors, any other motion sensor, or any
combination of motion sensors. The at least one motion sensor 120
is configured to capture motion data.
[0028] In one implementation, the computer 130, described in more
detail in FIG. 6, may be loaded with software to detect commands
for operating a marine electronics device. The commands may be
detected using the buttons 110, the motion sensor 120, or both. For
example, if a user presses a button 110 on the wearable device 100,
the wearable device 100 may transmit a command to a marine
electronics device 700, further described in FIG. 7.
[0029] The wearable device may further include a display 150. The
display may be a series of Light Emitting Diodes (LED). The display
may be a Liquid Crystal Display (LCD).
[0030] The wearable device 100 may also include wireless
technology, such as Bluetooth, Wi-Fi, cellular technology such as
GSM or CDMA, satellite communication, or any other wireless
technology. In one implementation, the wearable device 100 may be
connected wirelessly to the marine electronics device 700. In
another implementation, the wearable device 100 may be connected to
any computer system, including a portable computer system, a smart
phone device, a remote server, a cloud server and the like. It
should be understood that the wearable device 100 may be connected
to any device with a wireless connection, e.g., a data logging
device.
[0031] FIG. 2 is a flow diagram for a method 200 of controlling a
marine electronics device using motion commands in accordance with
implementations of various techniques described herein. In one
implementation, method 200 may be performed by the computer 130 in
the wearable device 100. In another implementation, portions of
method 200 may be performed by any computer system 600, including a
portable computer system, a smart phone device, a remote server, a
marine electronics device 700, a cloud server and the like. It
should be understood that while method 200 indicates a particular
order of execution of operations, in some implementations, certain
portions of the operations might be executed in a different order,
and on different systems. Further, in some implementations,
additional operations or steps may be added to the method 200.
Likewise, some operations or steps may be omitted.
[0032] At block 210, method 200 may detect motion. The motion may
be detected by motion sensors 120 in the wearable device 100. As
described above, the motion sensors 120 may be accelerometers, in
which case the motion may be detected using accelerometer data. For
example, if a user is wearing the wearable device 100 on their
wrist, the user may move their wrist, and the wrist motion may then
be detected by the motion sensors 120.
[0033] At block 220, method 200 may determine whether the motion
detected at block 210 corresponds to a command for operating the
marine electronics device 700. The detected command may include
commands given to control the marine electronics device 700 during
a fishing trip, or while fishing, such as add waypoint, add a
waypoint corresponding to the location where a fish is caught, take
a screenshot, commands given to control an autopilot, change pages
or alternate displays, view charts, view sonar, start and finish
sonar logs, zoom in or out, or any other commands for controlling
the marine electronics device 700. Any command, or any subset of
commands, that can be given through a button, touchscreen, or other
input used by a marine electronics device 700 may be given using a
motion command.
[0034] The motion command may be a predefined motion that
corresponds to a particular command. The motions may include
rotating the wearable device 100, moving the wearable device 100 in
a specified direction, shaking the wearable device 100, or any
other motions. For example, rotating the wearable device 100 in a
clockwise direction may correspond to zooming in, and rotating the
wearable device 100 in a counterclockwise direction may correspond
to zooming out. In one implementation, a user may be able to select
the action on the marine electronics device 700 that corresponds to
the motion command.
[0035] At block 230, method 200 may perform an action corresponding
to the command determined at block 220. For example, if the motion
detected corresponds to a command for alternating displays, the
marine electronics device 700 may then alternate the display on the
marine electronics device 700.
[0036] In one implementation, blocks 210 and 220 may be performed
by a wearable device, such as wearable device 100, and block 230
may be performed by the marine electronics device 700. In another
implementation, block 210 may be performed by the wearable device
100, and blocks 220 and 230 may be performed by the marine
electronics device 700.
[0037] FIG. 3 illustrates an example of using motion commands to
control a marine electronics device in accordance with
implementations of various techniques described herein. At block
310, a fisherman named Bubba is fishing while using the marine
electronics device 700. Bubba wants to take a screenshot of the
information displayed on the marine electronics device 700.
[0038] At block 320, Bubba waves his arm in a predefined manner
that corresponds to a command for taking a screenshot. For example,
Bubba may rotate his wrist forwards. The wearable device on Bubba's
wrist may detect the rotating motion and determine that the motion
corresponds to a command for taking a screenshot. At block 330, the
marine electronics device 700 receives the command to take a
screenshot and records an image file corresponding to the marine
electronic device's display.
[0039] FIG. 4 is a flow diagram for a method 400 of controlling a
marine electronics device using button input in accordance with
implementations of various techniques described herein. In one
implementation, method 400 may be performed by the computer 130 in
the wearable device 100. In another implementation, portions of
method 400 may be performed by any computer system 600, including a
portable computer system, a smart phone device, a remote server, a
marine electronics device 700, a cloud server and the like. It
should be understood that while method 400 indicates a particular
order of execution of operations, in some implementations, certain
portions of the operations might be executed in a different order,
and on different systems. Further, in some implementations,
additional operations or steps may be added to the method 400.
Likewise, some operations or steps may be omitted.
[0040] At block 410, method 400 may receive button input from a
wearable device. The button input may be input from buttons 110 in
a wearable device 100. The button input may be a single button
press, or a series of button presses. Additionally, the button
input may include the length of time during which one or more
buttons were pressed.
[0041] At block 420, method 400 may determine whether the button
input received at block 410 corresponds to a command for operating
a marine electronics device 700. The detected command may include
commands given to control a marine electronics device 700 during a
fishing trip, or while fishing, such as add waypoint, add a
waypoint corresponding to the location where a fish is caught, take
a screenshot, commands given to control an autopilot, change pages
or alternate displays, view charts, view sonar, start and finish
sonar logs, zoom in or out, or any other commands for controlling
the marine electronics device 700. Any command, or any subset of
commands, that can be given through a button, touchscreen, or other
input used by a marine electronics device 700 may be given using
button input from a wearable device.
[0042] The button input may be a predefined button or buttons that
correspond to a command for controlling the marine electronics
device 700. For example, pressing a first button 110 on a wearable
device 100 may correspond to increasing the speed of an autopilot,
while pressing a second button 110 on the wearable device 100 may
correspond to decreasing the speed of an autopilot. In one
implementation, a user may be able to select the action on a marine
electronics device 700 that corresponds to a button input.
[0043] At block 430, method 400 may perform an action corresponding
to the command determined at block 420. For example, if the button
input corresponds to a command for starting a sonar log, the marine
electronics device 700 may then start a sonar log on the marine
electronics device 700.
[0044] In one implementation, blocks 410 and 420 may be performed
by a wearable device, such as wearable device 100, and block 430
may be performed by a marine electronics device 700. In another
implementation, block 410 may be performed by the wearable device
100, and blocks 420 and 430 may be performed by a marine
electronics device 700.
[0045] FIG. 5 illustrates an example of using button commands to
control a marine electronics device in accordance with
implementations of various techniques described herein. At block
510, a fisherman named Bubba is fishing while using the marine
electronics device 700. Bubba wants to set a waypoint on the marine
electronics device 700 at the current location of the vessel.
[0046] At block 520, Bubba presses a button 110 on the wearable
device 100. In one implementation, the wearable device 100
determines that the button press corresponds to a command for
setting a waypoint. The wearable device 100 then transmits the
command to the marine electronics device 700. In another
implementation the wearable device 100 transmits a record of the
button press to the marine electronics device 700. The marine
electronics device 700 then determines that the button input
corresponds to a command for setting a waypoint. In both
implementations, the marine electronics device 700 then sets a
waypoint. The marine electronics device 700 may then transmit the
waypoint to a cloud software service.
[0047] Although described separately, in certain instances methods
200 and 400 may be combined, i.e., certain commands may be given by
using both buttons and motion. For example, a user may give a
motion command to add a waypoint, and then press a button to select
a specific type of waypoint. The combined method may detect both
the motion and the button input, and determine that the motion and
button input corresponds to a command for operating a marine
electronics device.
Computing System
[0048] Implementations of various technologies described herein may
be operational with numerous general purpose or special purpose
computing system environments or configurations. Examples of
well-known computing systems, environments, and/or configurations
that may be suitable for use with the various technologies
described herein include, but are not limited to, personal
computers, server computers, hand-held or laptop devices,
multiprocessor systems, microprocessor-based systems, set top
boxes, programmable consumer electronics, network PCs,
minicomputers, mainframe computers, smart phones, tablets, wearable
computers, cloud computing systems, virtual computers, marine
electronics devices, and the like.
[0049] The various technologies described herein may be implemented
in the general context of computer-executable instructions, such as
program modules, being executed by a computer. Generally, program
modules include routines, programs, objects, components, data
structures, etc. that performs particular tasks or implement
particular abstract data types. Further, each program module may be
implemented in its own way, and all need not be implemented the
same way. While program modules may all execute on a single
computing system, it should be appreciated that, in some
implementations, program modules may be implemented on separate
computing systems or devices adapted to communicate with one
another. A program module may also be some combination of hardware
and software where particular tasks performed by the program module
may be done either through hardware, software, or both.
[0050] The various technologies described herein may be implemented
in the context of marine electronics, such as devices found in
marine vessels and/or navigation systems. Ship instruments and
equipment may be connected to the computing systems described
herein for executing one or more navigation technologies. As such,
the computing systems may be configured to operate using sonar,
radar, GPS and like technologies.
[0051] The various technologies described herein may also be
implemented in distributed computing environments where tasks are
performed by remote processing devices that are linked through a
communications network, e.g., by hardwired links, wireless links,
or combinations thereof. In a distributed computing environment,
program modules may be located in both local and remote computer
storage media including memory storage devices.
[0052] FIG. 6 illustrates a computer system 600 into which
implementations of various technologies and techniques described
herein may be implemented. Computing system 600 may be a
conventional desktop, a handheld device, a wearable device, a
controller, a personal digital assistant, a server computer, an
electronic device/instrument, a laptop, a tablet, or part of a
navigation system, marine electronics, or sonar system. It should
be noted, however, that other computer system configurations may be
used.
[0053] The computing system 600 may include a central processing
unit (CPU) 630, a system memory 626 and a system bus 628 that
couples various system components including the system memory 626
to the CPU 630. Although only one CPU 630 is illustrated in FIG. 6,
it should be understood that in some implementations the computing
system 600 may include more than one CPU 630.
[0054] The CPU 630 can include a microprocessor, a microcontroller,
a processor, a programmable integrated circuit, or a combination
thereof. The CPU 630 can comprise an off-the-shelf processor such
as a Reduced Instruction Set Computer (RISC), including an Advanced
RISC Machine (ARM) processor, or a Microprocessor without
Interlocked Pipeline Stages (MIPS) processor, or a combination
thereof. The CPU 630 may also include a proprietary processor. The
CPU may include a multi-core processor.
[0055] The CPU 630 may provide output data to a Graphics Processing
Unit (GPU) 631. The GPU 631 may generate graphical user interfaces
that present the output data. The GPU 631 may also provide objects,
such as menus, in the graphical user interface. A user may provide
inputs by interacting with the objects. The GPU 631 may receive the
inputs from interaction with the objects and provide the inputs to
the CPU 630. In one implementation, the CPU 630 may perform the
tasks of the GPU 631. A video adapter 632 may be provided to
convert graphical data into signals for a monitor 634. The monitor
634 includes a screen 605. The screen 605 can be sensitive to heat
or touching (now collectively referred to as a "touch screen"). In
one implementation, the computer system 600 may not include a
monitor 634.
[0056] The GPU 631 may be a microprocessor specifically designed to
manipulate and implement computer graphics. The CPU 630 may offload
work to the GPU 631. The GPU 631 may have its own graphics memory,
and/or may have access to a portion of the system memory 626. As
with the CPU 630, the GPU 631 may include one or more processing
units, and each processing unit may include one or more cores.
[0057] The system bus 628 may be any of several types of bus
structures, including a memory bus or memory controller, a
peripheral bus, and a local bus using any of a variety of bus
architectures. By way of example, and not limitation, such
architectures include Industry Standard Architecture (ISA) bus,
Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus,
Video Electronics Standards Association (VESA) local bus, and
Peripheral Component Interconnect (PCI) bus also known as Mezzanine
bus. The system memory 626 may include a read only memory (ROM) 612
and a random access memory (RAM) 616. A basic input/output system
(BIOS) 614, containing the basic routines that help transfer
information between elements within the computing system 600, such
as during start-up, may be stored in the ROM 612. The computing
system may be implemented using a printed circuit board containing
various components including processing units, data storage memory,
and connectors.
[0058] Certain implementations may be configured to be connected to
a GPS and/or a sonar system. The GPS and/or sonar system may be
connected via the network interface 644 or Universal Serial Bus
(USB) interface 642. In one implementation, the computing system
600, the monitor 634, the screen 605 and buttons may be integrated
into a console.
[0059] The computing system 600 may further include a hard disk
drive 636 for reading from and writing to a hard disk 650, a memory
card reader 652 for reading from and writing to a removable memory
card 656 and an optical disk drive 654 for reading from and writing
to a removable optical disk 658, such as a CD ROM, DVD ROM or other
optical media. The hard disk drive 650, the memory card reader 652
and the optical disk drive 654 may be connected to the system bus
628 by a hard disk drive interface 636, a memory card interface 638
and an optical drive interface 640, respectively. The drives and
their associated computer-readable media may provide nonvolatile
storage of computer-readable instructions, data structures, program
modules and other data for the computing system 600.
[0060] Although the computing system 600 is described herein as
having a hard disk 650, a removable memory card 656 and a removable
optical disk 658, it should be appreciated by those skilled in the
art that the computing system 600 may also include other types of
computer-readable media that may be accessed by a computer. For
example, such computer-readable media may include computer storage
media and communication media. Computer storage media may include
volatile and non-volatile, and removable and non-removable media
implemented in any method or technology for storage of information,
such as computer-readable instructions, data structures, program
modules or other data. Computer storage media may further include
RAM, ROM, erasable programmable read-only memory (EPROM),
electrically erasable programmable read-only memory (EEPROM), flash
memory or other solid state memory technology, including a Solid
State Disk (SSD), CD-ROM, digital versatile disks (DVD), or other
optical storage, magnetic cassettes, magnetic tape, magnetic disk
storage or other magnetic storage devices, or any other medium
which can be used to store the desired information and which can be
accessed by the computing system 600. Communication media may
embody computer readable instructions, data structures, program
modules or other data in a modulated data signal, such as a carrier
wave or other transport mechanism and may include any information
delivery media. By way of example, and not limitation,
communication media may include wired media such as a wired network
or direct-wired connection, and wireless media such as acoustic,
RF, infrared and other wireless media. The computing system 600 may
also include a host adapter 633 that connects to a storage device
635 via a small computer system interface (SCSI) bus, a Fiber
Channel bus, an eSATA bus, or using any other applicable computer
bus interface. The computing system 600 can also be connected to a
router 664 to establish a wide area network (WAN) 666 with one or
more remote computers 674. The router 664 may be connected to the
system bus 628 via a network interface 644. The remote computers
674 can also include hard disks 672 that store application programs
670.
[0061] In another implementation, the computing system 600 may also
connect to one or more remote computers 674 via local area network
(LAN) 676 or the WAN 666. When using a LAN networking environment,
the computing system 600 may be connected to the LAN 676 through
the network interface or adapter 644. The LAN 676 may be
implemented via a wired connection or a wireless connection. The
LAN 676 may be implemented using Wi-Fi technology, cellular
technology, or any other implementation known to those skilled in
the art. The network interface 644 may also utilize remote access
technologies (e.g., Remote Access Service (RAS), Virtual Private
Networking (VPN), Secure Socket Layer (SSL), Layer 2 Tunneling
(L2T), or any other suitable protocol). These remote access
technologies may be implemented in connection with the remote
computers 674. It will be appreciated that the network connections
shown are exemplary and other means of establishing a
communications link between the computer systems may be used. The
network interface 644 may also include digital cellular networks,
Bluetooth, or any other wireless network interface.
[0062] A number of program modules may be stored on the hard disk
650, memory card 656, optical disk 658, ROM 612 or RAM 616,
including an operating system 618, one or more application programs
620, program data 624 and a database system. The one or more
application programs 620 may contain program instructions
configured to perform methods 200 or 300 according to various
implementations described herein. The operating system 618 may be
any suitable operating system that may control the operation of a
networked personal or server computer, such as Windows.RTM. XP, Mac
OS.RTM. X, Unix-variants (e.g., Linux.RTM. and BSD.RTM.),
Android.RTM., iOS.RTM., and the like.
[0063] A user may enter commands and information into the computing
system 600 through input devices such as a keyboard 662 and
pointing device. Other input devices may include a microphone,
joystick, game pad, satellite dish, scanner, user input button,
wearable device, or the like. These and other input devices may be
connected to the CPU 630 through a USB interface 642 coupled to
system bus 628, but may be connected by other interfaces, such as a
parallel port, Bluetooth or a game port. A monitor 605 or other
type of display device may also be connected to system bus 628 via
an interface, such as a video adapter 632. In addition to the
monitor 634, the computing system 600 may further include other
peripheral output devices such as speakers and printers.
Marine Electronics Device
[0064] FIG. 7 illustrates a schematic diagram of a marine
electronics device 700 in accordance with various implementations
described herein. The marine electronics device 700 includes a
screen 705. In certain implementations, the screen 705 may be
sensitive to touching by a finger. In other implementations, the
screen 705 may be sensitive to the body heat from the finger, a
stylus, or responsive to a mouse. The device 700 may display marine
electronic data 715. The marine electronic data types 715 may
include chart data, radar data, sonar data, steering data,
dashboard data, navigation data, fishing data, and the like. The
marine electronics device 700 may also include a plurality of
buttons 720, which may be either physical buttons or virtual
buttons, or a combination thereof. The marine electronics device
700 may receive input through a screen 705 sensitive to touch,
buttons 720, or voice commands. The marine electronics device 700
may receive input wirelessly by a wearable device, such as wearable
device 100.
[0065] While the foregoing is directed to implementations of
various techniques described herein, other and further
implementations may be devised without departing from the basic
scope thereof, which may be determined by the claims that
follow.
[0066] Although the subject matter has been described in language
specific to structural features and/or methodological acts, it is
to be understood that the subject matter defined in the appended
claims is not necessarily limited to the specific features or acts
described above. Rather, the specific features and acts described
above are disclosed as example forms of implementing the
claims.
* * * * *