Skip to content

Commit

Permalink
nmea_gps: renamed vk2828u7 to nmea_gps
Browse files Browse the repository at this point in the history
This driver will serve as a generic module for grabbing NMEA data from
various GPS devices via a serial interface.  ublox6 will also be
removed in favor of using this driver going forward.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
  • Loading branch information
jontrulson authored and noel-eck committed Sep 14, 2016
1 parent 46460e2 commit a040f51
Show file tree
Hide file tree
Showing 19 changed files with 152 additions and 155 deletions.
2 changes: 1 addition & 1 deletion examples/c++/CMakeLists.txt
Expand Up @@ -274,7 +274,7 @@ add_example (l3gd20)
add_example (l3gd20-i2c)
add_example (bmx055)
add_example (ms5611)
add_example (vk2828u7)
add_example (nmea_gps)
add_example (mma7361)
add_example (bh1750)

Expand Down
8 changes: 4 additions & 4 deletions examples/c++/vk2828u7.cxx → examples/c++/nmea_gps.cxx
Expand Up @@ -26,7 +26,7 @@
#include <iostream>
#include <signal.h>

#include "vk2828u7.hpp"
#include "nmea_gps.hpp"

using namespace std;

Expand All @@ -46,9 +46,9 @@ int main()

//! [Interesting]

// Instantiate a VK2828U7 sensor on uart 0 at 9600 baud with enable
// pin on D3
upm::VK2828U7 *sensor = new upm::VK2828U7(0, 9600, 3);
// Instantiate a NMEA_GPS sensor on uart 0 at 9600 baud with enable
// pin on D3. If you do not need an enable pin, you can specify -1.
upm::NMEAGPS *sensor = new upm::NMEAGPS(0, 9600, 3);

// loop, dumping NMEA data out as fast as it comes in
while (shouldRun && sensor->dataAvailable(5000))
Expand Down
2 changes: 1 addition & 1 deletion examples/c/CMakeLists.txt
Expand Up @@ -87,7 +87,7 @@ link_directories (${MRAA_LIBDIR})
# mq? will use module gas
# grove* will use module grove
add_example (dfrph)
add_example (vk2828u7)
add_example (nmea_gps)
add_example (mma7361)
add_example (bh1750)
add_example (urm37)
Expand Down
16 changes: 8 additions & 8 deletions examples/c/vk2828u7.c → examples/c/nmea_gps.c
Expand Up @@ -25,7 +25,7 @@
#include <unistd.h>
#include <signal.h>

#include "vk2828u7.h"
#include "nmea_gps.h"

bool shouldRun = true;

Expand All @@ -43,23 +43,23 @@ int main()

//! [Interesting]

// Instantiate a VK2828U7 sensor on uart 0 at 9600 baud with enable
// pin on D3
vk2828u7_context sensor = vk2828u7_init(0, 9600, 3);
// Instantiate a NMEA_GPS sensor on uart 0 at 9600 baud with enable
// pin on D3. If you do not need an enable pin, you can specify -1.
nmea_gps_context sensor = nmea_gps_init(0, 9600, 3);

if (!sensor)
{
printf("vk2828u7_init() failed.\n");
printf("nmea_gps_init() failed.\n");
return 1;
}

char buffer[bufferLength];
int rv = 0;

// loop, dumping NMEA data out as fast as it comes in
while (shouldRun && vk2828u7_data_available(sensor, 5000))
while (shouldRun && nmea_gps_data_available(sensor, 5000))
{
if ((rv = vk2828u7_read(sensor, buffer, bufferLength)) >= 0)
if ((rv = nmea_gps_read(sensor, buffer, bufferLength)) >= 0)
{
int i;
for (i=0; i<rv; i++)
Expand All @@ -74,7 +74,7 @@ int main()

printf("Exiting\n");

vk2828u7_close(sensor);
nmea_gps_close(sensor);

return 0;
}
2 changes: 1 addition & 1 deletion examples/java/CMakeLists.txt
Expand Up @@ -131,7 +131,7 @@ add_example(VCAP_Example vcap)
add_example(BMP280_Example bmp280)
add_example(BNO055_Example bno055)
add_example(BMX055_Example bmx055)
add_example(VK2828U7_Example vk2828u7)
add_example(NMEAGPS_Example nmea_gps)
add_example(MMA7361_Example mma7361)
add_example(BH1750_Example bh1750)

Expand Down
Expand Up @@ -22,18 +22,18 @@
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

import upm_vk2828u7.VK2828U7;
import upm_nmea_gps.NMEAGPS;

public class VK2828U7_Example
public class NMEAGPS_Example
{
public static void main(String[] args) throws InterruptedException
{
// ! [Interesting]
System.out.println("Initializing...");

// Instantiate a VK2828U7 sensor on uart 0 at 9600 baud with
// Instantiate a NMEAGPS sensor on uart 0 at 9600 baud with
// enable pin on D3
VK2828U7 sensor = new VK2828U7(0, 9600, 3);
NMEAGPS sensor = new NMEAGPS(0, 9600, 3);

// loop, dumping NMEA data out as fast as it comes in
while (sensor.dataAvailable(5000))
Expand Down
Expand Up @@ -25,11 +25,11 @@
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

var sensorObj = require('jsupm_vk2828u7');
var sensorObj = require('jsupm_nmea_gps');

// Instantiate a VK2828U7 sensor on uart 0 at 9600 baud with enable
// Instantiate a NMEAGPS sensor on uart 0 at 9600 baud with enable
// pin on D3
var sensor = new sensorObj.VK2828U7(0, 9600, 3);
var sensor = new sensorObj.NMEAGPS(0, 9600, 3);

// loop, dumping NMEA data out as fast as it comes in
while (sensor.dataAvailable(5000))
Expand Down
8 changes: 4 additions & 4 deletions examples/python/vk2828u7.py → examples/python/nmea_gps.py
Expand Up @@ -22,11 +22,11 @@
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

import time, sys, signal, atexit
import pyupm_vk2828u7 as sensorObj
import pyupm_nmea_gps as sensorObj

# Instantiate a VK2828U7 sensor on uart 0 at 9600 baud with enable
# Instantiate a NMEAGPS sensor on uart 0 at 9600 baud with enable
# pin on D3
sensor = sensorObj.VK2828U7(0, 9600, 3)
sensor = sensorObj.NMEAGPS(0, 9600, 3)

## Exit handlers ##
# This function stops python from printing a stacktrace when you hit control-C
Expand All @@ -42,7 +42,7 @@ def exitHandler():
atexit.register(exitHandler)
signal.signal(signal.SIGINT, SIGINTHandler)

# Every second, sample the VK2828U7 and output the measured lux value
# Every second, sample the NMEAGPS and output the measured lux value

# loop, dumping NMEA data out as fast as it comes in
while (sensor.dataAvailable(5000)):
Expand Down
9 changes: 9 additions & 0 deletions src/nmea_gps/CMakeLists.txt
@@ -0,0 +1,9 @@
upm_mixed_module_init (NAME nmea_gps
DESCRIPTION "UPM Generic driver for GPS NMEA sensors"
C_HDR nmea_gps.h
C_SRC nmea_gps.c
CPP_HDR nmea_gps.hpp
CPP_SRC nmea_gps.cxx
FTI_SRC nmea_gps_fti.c
CPP_WRAPS_C
REQUIRES mraa)
@@ -1,17 +1,17 @@
%module javaupm_vk2828u7
%module javaupm_nmea_gps
%include "../upm.i"
%include "std_string.i"
%include "typemaps.i"

%include "vk2828u7.hpp"
%include "nmea_gps.hpp"
%{
#include "vk2828u7.hpp"
#include "nmea_gps.hpp"
%}

%pragma(java) jniclasscode=%{
static {
try {
System.loadLibrary("javaupm_vk2828u7");
System.loadLibrary("javaupm_nmea_gps");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. \n" + e);
System.exit(1);
Expand Down
9 changes: 9 additions & 0 deletions src/nmea_gps/jsupm_nmea_gps.i
@@ -0,0 +1,9 @@
%module jsupm_nmea_gps
%include "../upm.i"
%include "std_string.i"

%include "nmea_gps.hpp"
%{
#include "nmea_gps.hpp"
%}

36 changes: 18 additions & 18 deletions src/vk2828u7/vk2828u7.c → src/nmea_gps/nmea_gps.c
Expand Up @@ -25,21 +25,21 @@
#include <string.h>
#include <assert.h>

#include "vk2828u7.h"
#include "nmea_gps.h"

#include "upm_utilities.h"

vk2828u7_context vk2828u7_init(unsigned int uart, unsigned int baudrate,
nmea_gps_context nmea_gps_init(unsigned int uart, unsigned int baudrate,
int enable_pin)
{
vk2828u7_context dev =
(vk2828u7_context)malloc(sizeof(struct _vk2828u7_context));
nmea_gps_context dev =
(nmea_gps_context)malloc(sizeof(struct _nmea_gps_context));

if (!dev)
return NULL;

// zero out context
memset((void *)dev, 0, sizeof(struct _vk2828u7_context));
memset((void *)dev, 0, sizeof(struct _nmea_gps_context));

dev->uart = NULL;
dev->gpio_en = NULL;
Expand All @@ -50,14 +50,14 @@ vk2828u7_context vk2828u7_init(unsigned int uart, unsigned int baudrate,
if (!(dev->uart = mraa_uart_init(uart)))
{
printf("%s: mraa_uart_init() failed.\n", __FUNCTION__);
vk2828u7_close(dev);
nmea_gps_close(dev);
return NULL;
}

if (vk2828u7_set_baudrate(dev, baudrate))
if (nmea_gps_set_baudrate(dev, baudrate))
{
printf("%s: vk2828u7_set_baudrate() failed.\n", __FUNCTION__);
vk2828u7_close(dev);
printf("%s: nmea_gps_set_baudrate() failed.\n", __FUNCTION__);
nmea_gps_close(dev);
return NULL;
}

Expand All @@ -69,25 +69,25 @@ vk2828u7_context vk2828u7_init(unsigned int uart, unsigned int baudrate,
if (!(dev->gpio_en = mraa_gpio_init(enable_pin)))
{
printf("%s: mraa_gpio_init() failed.\n", __FUNCTION__);
vk2828u7_close(dev);
nmea_gps_close(dev);
return NULL;
}

mraa_gpio_dir(dev->gpio_en, MRAA_GPIO_OUT);

// wake up
vk2828u7_enable(dev, true);
nmea_gps_enable(dev, true);
}

return dev;
}

void vk2828u7_close(vk2828u7_context dev)
void nmea_gps_close(nmea_gps_context dev)
{
assert(dev != NULL);

// sleepy-time
vk2828u7_enable(dev, false);
nmea_gps_enable(dev, false);

if (dev->uart)
mraa_uart_stop(dev->uart);
Expand All @@ -97,7 +97,7 @@ void vk2828u7_close(vk2828u7_context dev)
free(dev);
}

upm_result_t vk2828u7_enable(const vk2828u7_context dev, bool enable)
upm_result_t nmea_gps_enable(const nmea_gps_context dev, bool enable)
{
assert(dev != NULL);

Expand All @@ -112,21 +112,21 @@ upm_result_t vk2828u7_enable(const vk2828u7_context dev, bool enable)
return UPM_SUCCESS;
}

int vk2828u7_read(const vk2828u7_context dev, char *buffer, size_t len)
int nmea_gps_read(const nmea_gps_context dev, char *buffer, size_t len)
{
assert(dev != NULL);

return mraa_uart_read(dev->uart, buffer, len);
}

int vk2828u7_write(const vk2828u7_context dev, char *buffer, size_t len)
int nmea_gps_write(const nmea_gps_context dev, char *buffer, size_t len)
{
assert(dev != NULL);

return mraa_uart_write(dev->uart, buffer, len);
}

bool vk2828u7_data_available(const vk2828u7_context dev, unsigned int millis)
bool nmea_gps_data_available(const nmea_gps_context dev, unsigned int millis)
{
assert(dev != NULL);

Expand All @@ -136,7 +136,7 @@ bool vk2828u7_data_available(const vk2828u7_context dev, unsigned int millis)
return false;
}

upm_result_t vk2828u7_set_baudrate(const vk2828u7_context dev,
upm_result_t nmea_gps_set_baudrate(const nmea_gps_context dev,
unsigned int baudrate)
{
assert(dev != NULL);
Expand Down

0 comments on commit a040f51

Please sign in to comment.