Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPS driver rewrite #195

Merged
merged 20 commits into from
Feb 15, 2013
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
50b7363
Reduced, but functional u-blox series driver
LorenzMeier Feb 4, 2013
3fd8c73
Disabled old-style gps interface, enabled GPS driver
LorenzMeier Feb 4, 2013
12f4cb2
Tuned GPS update rates
LorenzMeier Feb 4, 2013
30f0289
Fixed typo
LorenzMeier Feb 4, 2013
13ec067
Minor quick cleanups
LorenzMeier Feb 4, 2013
d4bd722
More cleanup
LorenzMeier Feb 4, 2013
cb0fd83
Minor polishing, fixed rate and last measurement indication
LorenzMeier Feb 4, 2013
039d394
Merged with newer, cleaned up code, fixed the checksum error
Feb 5, 2013
53c11f8
Small corrections
Feb 5, 2013
368ba00
Added option to select port name, minor tweaks to status printing, sa…
LorenzMeier Feb 5, 2013
fbbeef7
Update on every position change, do not wait for other measurements
LorenzMeier Feb 5, 2013
a79ad17
Changed parse interface, differentiation between config needed and po…
Feb 6, 2013
fc4be3e
Changed gps position topic mostly to SI units and float, removed coun…
Feb 6, 2013
d962e6c
Removed some unnecessairy flags, home position back working
Feb 6, 2013
6ed5d97
Merged mtk16 and mtk19 helper classes, configure() now writes directl…
Feb 7, 2013
0d54661
Added MTK 1.6, works after some seconds, work in progress
Feb 7, 2013
b620136
Added support for MTK revision 19, working condition but configuratio…
Feb 7, 2013
d36eb8a
Sped up MTK configuration but the detection time can still be improve…
Feb 7, 2013
a88b9f4
Restructered the parsing/configuring, MTK working
Feb 7, 2013
df6cf14
Another rewrite: most of the polling, reading and writing is now insi…
Feb 8, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions apps/drivers/drv_gps.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/****************************************************************************
*
* Copyright (C) 2012 PX4 Development Team. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name PX4 nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/

/**
* @file GPS driver interface.
*/

#ifndef _DRV_GPS_H
#define _DRV_GPS_H

#include <stdint.h>
#include <sys/ioctl.h>

#include "drv_sensor.h"
#include "drv_orb_dev.h"

#define GPS_DEVICE_PATH "/dev/gps"

typedef enum {
GPS_DRIVER_MODE_UBX = 0,
GPS_DRIVER_MODE_MTK19,
GPS_DRIVER_MODE_MTK16,
GPS_DRIVER_MODE_NMEA,
} gps_driver_mode_t;




/*
* ObjDev tag for GPS data.
*/
ORB_DECLARE(gps);

/*
* ioctl() definitions
*/
#define _GPSIOCBASE (0x2800) //TODO: arbitrary choice...
#define _GPSIOC(_n) (_IOC(_GPSIOCBASE, _n))

/** configure ubx mode */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

driver should autodetect

#define GPS_CONFIGURE_UBX _GPSIOC(0)

/** configure mtk mode */
#define GPS_CONFIGURE_MTK19 _GPSIOC(1)
#define GPS_CONFIGURE_MTK16 _GPSIOC(2)

/** configure mtk mode */
#define GPS_CONFIGURE_NMEA _GPSIOC(3)

#endif /* _DRV_GPS_H */
42 changes: 42 additions & 0 deletions apps/drivers/gps/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
############################################################################
#
# Copyright (C) 2012 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################

#
# GPS driver
#

APPNAME = gps
PRIORITY = SCHED_PRIORITY_DEFAULT
STACKSIZE = 2048

include $(APPDIR)/mk/app.mk
Loading