use TCP to connect to mbed connector

Fork of mbedConnectorInterfaceWithDM by Doug Anson

Committer:
ansond
Date:
Tue Jun 14 19:29:30 2016 +0000
Revision:
33:1d0b855df5a5
Parent:
0:1f1f55e73248
Child:
51:91fc5f5880fe
updated and unified headers

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ansond 0:1f1f55e73248 1 /**
ansond 0:1f1f55e73248 2 * @file Location.h
ansond 0:1f1f55e73248 3 * @brief mbed CoAP Endpoint location base class
ansond 0:1f1f55e73248 4 * @author Doug Anson/Chris Paola
ansond 0:1f1f55e73248 5 * @version 1.0
ansond 0:1f1f55e73248 6 * @see
ansond 0:1f1f55e73248 7 *
ansond 0:1f1f55e73248 8 * Copyright (c) 2014
ansond 0:1f1f55e73248 9 *
ansond 0:1f1f55e73248 10 * Licensed under the Apache License, Version 2.0 (the "License");
ansond 0:1f1f55e73248 11 * you may not use this file except in compliance with the License.
ansond 0:1f1f55e73248 12 * You may obtain a copy of the License at
ansond 0:1f1f55e73248 13 *
ansond 0:1f1f55e73248 14 * http://www.apache.org/licenses/LICENSE-2.0
ansond 0:1f1f55e73248 15 *
ansond 0:1f1f55e73248 16 * Unless required by applicable law or agreed to in writing, software
ansond 0:1f1f55e73248 17 * distributed under the License is distributed on an "AS IS" BASIS,
ansond 0:1f1f55e73248 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ansond 0:1f1f55e73248 19 * See the License for the specific language governing permissions and
ansond 0:1f1f55e73248 20 * limitations under the License.
ansond 0:1f1f55e73248 21 */
ansond 0:1f1f55e73248 22
ansond 0:1f1f55e73248 23 #ifndef __LOCATION_H__
ansond 0:1f1f55e73248 24 #define __LOCATION_H__
ansond 0:1f1f55e73248 25
ansond 33:1d0b855df5a5 26 // mbedConnectorInterface configuration
ansond 33:1d0b855df5a5 27 #include "mbed-connector-interface/mbedConnectorInterface.h"
ansond 33:1d0b855df5a5 28
ansond 33:1d0b855df5a5 29 // mbed support
ansond 33:1d0b855df5a5 30 #if defined(MCI_USE_YOTTA)
ansond 33:1d0b855df5a5 31 // mbed support
ansond 33:1d0b855df5a5 32 #include "mbed-drivers/mbed.h"
ansond 33:1d0b855df5a5 33 #else
ansond 33:1d0b855df5a5 34 // mbed support
ansond 33:1d0b855df5a5 35 #include "mbed.h"
ansond 33:1d0b855df5a5 36 #endif
ansond 0:1f1f55e73248 37
ansond 0:1f1f55e73248 38 // Max length of a coordinate: -XXX.YYYYYY
ansond 0:1f1f55e73248 39 #define LOCATION_COORDINATE_LENGTH 12
ansond 0:1f1f55e73248 40
ansond 0:1f1f55e73248 41 // Max length of the MSL altitude (m): ZZZZZZ.Z
ansond 0:1f1f55e73248 42 #define LOCATION_MSL_ALT_LENGTH 9
ansond 0:1f1f55e73248 43
ansond 0:1f1f55e73248 44 // Max length of the speed (km/h): ZZZZZZ.Z
ansond 0:1f1f55e73248 45 #define LOCATION_SPEED_LENGTH 9
ansond 0:1f1f55e73248 46
ansond 0:1f1f55e73248 47 namespace Connector {
ansond 0:1f1f55e73248 48
ansond 0:1f1f55e73248 49 /** Location class
ansond 0:1f1f55e73248 50 */
ansond 0:1f1f55e73248 51 class Location
ansond 0:1f1f55e73248 52 {
ansond 0:1f1f55e73248 53 protected:
ansond 0:1f1f55e73248 54 RawSerial *m_pc;
ansond 0:1f1f55e73248 55 char m_latitude[LOCATION_COORDINATE_LENGTH+1];
ansond 0:1f1f55e73248 56 char m_longitude[LOCATION_COORDINATE_LENGTH+1];
ansond 0:1f1f55e73248 57 char m_msl_altitude_m[LOCATION_MSL_ALT_LENGTH+1];
ansond 0:1f1f55e73248 58 char m_speed[LOCATION_SPEED_LENGTH+1];
ansond 0:1f1f55e73248 59
ansond 0:1f1f55e73248 60 public:
ansond 0:1f1f55e73248 61 /**
ansond 0:1f1f55e73248 62 Default constructor
ansond 0:1f1f55e73248 63 @param pc input BufferedSerial instance for debugging (if NULL, no debugging output will occur in the library)
ansond 0:1f1f55e73248 64 */
ansond 0:1f1f55e73248 65 Location(const RawSerial *pc);
ansond 0:1f1f55e73248 66
ansond 0:1f1f55e73248 67 /**
ansond 0:1f1f55e73248 68 Copy constructor
ansond 0:1f1f55e73248 69 @param logger input Location instance to deep copy
ansond 0:1f1f55e73248 70 */
ansond 0:1f1f55e73248 71 Location(const Location &location);
ansond 0:1f1f55e73248 72
ansond 0:1f1f55e73248 73 /**
ansond 0:1f1f55e73248 74 Destructor
ansond 0:1f1f55e73248 75 */
ansond 0:1f1f55e73248 76 virtual ~Location();
ansond 0:1f1f55e73248 77
ansond 0:1f1f55e73248 78 /**
ansond 0:1f1f55e73248 79 Update the current location (pure virtual)
ansond 0:1f1f55e73248 80 */
ansond 0:1f1f55e73248 81 virtual void updateLocation() = 0;
ansond 0:1f1f55e73248 82
ansond 0:1f1f55e73248 83 /**
ansond 0:1f1f55e73248 84 Get latest Latitude
ansond 0:1f1f55e73248 85 */
ansond 0:1f1f55e73248 86 virtual char *getLatitude();
ansond 0:1f1f55e73248 87
ansond 0:1f1f55e73248 88 /**
ansond 0:1f1f55e73248 89 Get latest Longitude
ansond 0:1f1f55e73248 90 */
ansond 0:1f1f55e73248 91 virtual char *getLongitude();
ansond 0:1f1f55e73248 92
ansond 0:1f1f55e73248 93 /**
ansond 0:1f1f55e73248 94 Get latest MSL Altitude (m)
ansond 0:1f1f55e73248 95 */
ansond 0:1f1f55e73248 96 char *getMSLAltitude();
ansond 0:1f1f55e73248 97
ansond 0:1f1f55e73248 98 /**
ansond 0:1f1f55e73248 99 Get latest Speed (km/h) (pure virtual)
ansond 0:1f1f55e73248 100 */
ansond 0:1f1f55e73248 101 char *getSpeed();
ansond 0:1f1f55e73248 102
ansond 0:1f1f55e73248 103 protected:
ansond 0:1f1f55e73248 104 /**
ansond 0:1f1f55e73248 105 Init buffers
ansond 0:1f1f55e73248 106 */
ansond 0:1f1f55e73248 107 void initBuffers();
ansond 0:1f1f55e73248 108 };
ansond 0:1f1f55e73248 109
ansond 0:1f1f55e73248 110 };
ansond 0:1f1f55e73248 111
ansond 0:1f1f55e73248 112 #endif // __LOCATION_H__
ansond 0:1f1f55e73248 113