Updated to libmDot 1.0.8-1

Dependencies:   DOGS102 GpsParser ISL29011 MMA845x MPL3115A2 MTS-Serial NCP5623B libmDot mbed-rtos mbed

Fork of MTDOT-BOX-EVB-Factory-Firmware by MultiTech

Committer:
jreiss
Date:
Wed Jul 13 19:14:04 2016 +0000
Revision:
6:ab581c4260e7
Parent:
1:71125aa00e33
Use DR enum values instead of SF values

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mike Fiore 1:71125aa00e33 1 /* Copyright (c) <2016> <MultiTech Systems>, MIT License
Mike Fiore 1:71125aa00e33 2 *
Mike Fiore 1:71125aa00e33 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
Mike Fiore 1:71125aa00e33 4 * and associated documentation files (the "Software"), to deal in the Software without restriction,
Mike Fiore 1:71125aa00e33 5 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
Mike Fiore 1:71125aa00e33 6 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
Mike Fiore 1:71125aa00e33 7 * furnished to do so, subject to the following conditions:
Mike Fiore 1:71125aa00e33 8 *
Mike Fiore 1:71125aa00e33 9 * The above copyright notice and this permission notice shall be included in all copies or
Mike Fiore 1:71125aa00e33 10 * substantial portions of the Software.
Mike Fiore 1:71125aa00e33 11 *
Mike Fiore 1:71125aa00e33 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
Mike Fiore 1:71125aa00e33 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
Mike Fiore 1:71125aa00e33 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
Mike Fiore 1:71125aa00e33 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
Mike Fiore 1:71125aa00e33 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Mike Fiore 1:71125aa00e33 17 */
Mike Fiore 1:71125aa00e33 18
Mike Fiore 1:71125aa00e33 19 #include "LayoutSurveyFailure.h"
Mike Fiore 1:71125aa00e33 20
Mike Fiore 1:71125aa00e33 21 LayoutSurveyFailure::LayoutSurveyFailure(DOGS102* lcd)
Mike Fiore 1:71125aa00e33 22 : Layout(lcd),
Mike Fiore 1:71125aa00e33 23 _lTitle(0, 1, "Survey Failed"),
Mike Fiore 1:71125aa00e33 24 _lId(0, 0, "ID"),
Mike Fiore 1:71125aa00e33 25 _lDr(8, 0, "DR"),
Mike Fiore 1:71125aa00e33 26 _lPwr(13, 0, "P"),
Mike Fiore 1:71125aa00e33 27 _fId(2, 0, 5),
Mike Fiore 1:71125aa00e33 28 _fDr(10, 0, 2),
Mike Fiore 1:71125aa00e33 29 _fPwr(14, 0, 2),
Mike Fiore 1:71125aa00e33 30 _fGpsLat(0, 4, 17),
Mike Fiore 1:71125aa00e33 31 _fGpsLon(0, 3, 17),
Mike Fiore 1:71125aa00e33 32 _fGpsTime(0, 5, 17),
Mike Fiore 1:71125aa00e33 33 _fInfo(0, 6, 17),
Mike Fiore 1:71125aa00e33 34 _fSw1(9, 7, 8),
Mike Fiore 1:71125aa00e33 35 _fSw2(0, 7, 8)
Mike Fiore 1:71125aa00e33 36 {}
Mike Fiore 1:71125aa00e33 37
Mike Fiore 1:71125aa00e33 38 LayoutSurveyFailure::~LayoutSurveyFailure() {}
Mike Fiore 1:71125aa00e33 39
Mike Fiore 1:71125aa00e33 40 void LayoutSurveyFailure::display() {
Mike Fiore 1:71125aa00e33 41 clear();
Mike Fiore 1:71125aa00e33 42 startUpdate();
Mike Fiore 1:71125aa00e33 43
Mike Fiore 1:71125aa00e33 44 writeLabel(_lTitle);
Mike Fiore 1:71125aa00e33 45 writeLabel(_lId);
Mike Fiore 1:71125aa00e33 46 writeLabel(_lDr);
Mike Fiore 1:71125aa00e33 47 writeLabel(_lPwr);
Mike Fiore 1:71125aa00e33 48
Mike Fiore 1:71125aa00e33 49 endUpdate();
Mike Fiore 1:71125aa00e33 50 }
Mike Fiore 1:71125aa00e33 51
Mike Fiore 1:71125aa00e33 52 void LayoutSurveyFailure::updateId(uint32_t id) {
Mike Fiore 1:71125aa00e33 53 char buf[16];
Mike Fiore 1:71125aa00e33 54 size_t size;
Mike Fiore 1:71125aa00e33 55
Mike Fiore 1:71125aa00e33 56 size = snprintf(buf, sizeof(buf), "%lu", id);
Mike Fiore 1:71125aa00e33 57 writeField(_fId, buf, size, true);
Mike Fiore 1:71125aa00e33 58 }
Mike Fiore 1:71125aa00e33 59
Mike Fiore 1:71125aa00e33 60 void LayoutSurveyFailure::updateRate(std::string rate) {
Mike Fiore 1:71125aa00e33 61 writeField(_fDr, rate, true);
Mike Fiore 1:71125aa00e33 62 }
Mike Fiore 1:71125aa00e33 63
Mike Fiore 1:71125aa00e33 64 void LayoutSurveyFailure::updatePower(uint32_t power) {
Mike Fiore 1:71125aa00e33 65 char buf[16];
Mike Fiore 1:71125aa00e33 66 size_t size;
Mike Fiore 1:71125aa00e33 67
Mike Fiore 1:71125aa00e33 68 size = snprintf(buf, sizeof(buf), "%lu", power);
Mike Fiore 1:71125aa00e33 69 writeField(_fPwr, buf, size, true);
Mike Fiore 1:71125aa00e33 70 }
Mike Fiore 1:71125aa00e33 71
Mike Fiore 1:71125aa00e33 72 void LayoutSurveyFailure::updateGpsLatitude(GPSPARSER::latitude lat) {
Mike Fiore 1:71125aa00e33 73 char buf[32];
Mike Fiore 1:71125aa00e33 74 size_t size;
Mike Fiore 1:71125aa00e33 75
Mike Fiore 1:71125aa00e33 76 size = snprintf(buf, sizeof(buf), "%d %d %d.%03d %c",
Mike Fiore 1:71125aa00e33 77 abs(lat.degrees),
Mike Fiore 1:71125aa00e33 78 lat.minutes,
Mike Fiore 1:71125aa00e33 79 (lat.seconds * 6) / 1000,
Mike Fiore 1:71125aa00e33 80 (lat.seconds * 6) % 1000,
Mike Fiore 1:71125aa00e33 81 (lat.degrees > 0) ? 'N' : 'S');
Mike Fiore 1:71125aa00e33 82 writeField(_fGpsLat, buf, size, true);
Mike Fiore 1:71125aa00e33 83 }
Mike Fiore 1:71125aa00e33 84
Mike Fiore 1:71125aa00e33 85 void LayoutSurveyFailure::updateGpsLatitude(std::string msg) {
Mike Fiore 1:71125aa00e33 86 writeField(_fGpsLat, msg, true);
Mike Fiore 1:71125aa00e33 87 }
Mike Fiore 1:71125aa00e33 88
Mike Fiore 1:71125aa00e33 89 void LayoutSurveyFailure::updateGpsLongitude(GPSPARSER::longitude lon) {
Mike Fiore 1:71125aa00e33 90 char buf[32];
Mike Fiore 1:71125aa00e33 91 size_t size;
Mike Fiore 1:71125aa00e33 92
Mike Fiore 1:71125aa00e33 93 size = snprintf(buf, sizeof(buf), "%d %d %d.%03d %c",
Mike Fiore 1:71125aa00e33 94 abs(lon.degrees),
Mike Fiore 1:71125aa00e33 95 lon.minutes,
Mike Fiore 1:71125aa00e33 96 (lon.seconds * 6) / 1000,
Mike Fiore 1:71125aa00e33 97 (lon.seconds * 6) % 1000,
Mike Fiore 1:71125aa00e33 98 (lon.degrees > 0) ? 'E' : 'W');
Mike Fiore 1:71125aa00e33 99 writeField(_fGpsLon, buf, size, true);
Mike Fiore 1:71125aa00e33 100 }
Mike Fiore 1:71125aa00e33 101
Mike Fiore 1:71125aa00e33 102 void LayoutSurveyFailure::updateGpsTime(struct tm time) {
Mike Fiore 1:71125aa00e33 103 char buf[32];
Mike Fiore 1:71125aa00e33 104 size_t size;
Mike Fiore 1:71125aa00e33 105
Mike Fiore 1:71125aa00e33 106 size = snprintf(buf, sizeof(buf), "%02d:%02d %02d/%02d/%04d",
Mike Fiore 1:71125aa00e33 107 time.tm_hour,
Mike Fiore 1:71125aa00e33 108 time.tm_min,
Mike Fiore 1:71125aa00e33 109 time.tm_mon + 1,
Mike Fiore 1:71125aa00e33 110 time.tm_mday,
Mike Fiore 1:71125aa00e33 111 time.tm_year + 1900);
Mike Fiore 1:71125aa00e33 112 writeField(_fGpsTime, buf, size, true);
Mike Fiore 1:71125aa00e33 113 }
Mike Fiore 1:71125aa00e33 114
Mike Fiore 1:71125aa00e33 115 void LayoutSurveyFailure::updateInfo(std::string info) {
Mike Fiore 1:71125aa00e33 116 writeField(_fInfo, info, true);
Mike Fiore 1:71125aa00e33 117 }
Mike Fiore 1:71125aa00e33 118
Mike Fiore 1:71125aa00e33 119 void LayoutSurveyFailure::updateSw1(std::string sw1) {
Mike Fiore 1:71125aa00e33 120 writeField(_fSw1, sw1, true);
Mike Fiore 1:71125aa00e33 121 }
Mike Fiore 1:71125aa00e33 122
Mike Fiore 1:71125aa00e33 123 void LayoutSurveyFailure::updateSw2(std::string sw2) {
Mike Fiore 1:71125aa00e33 124 writeField(_fSw2, sw2, true);
Mike Fiore 1:71125aa00e33 125 }
Mike Fiore 1:71125aa00e33 126
Mike Fiore 1:71125aa00e33 127 void LayoutSurveyFailure::updatePassFail(uint8_t pass, uint8_t fail) {
Mike Fiore 1:71125aa00e33 128 char buf[32];
Mike Fiore 1:71125aa00e33 129 size_t size;
Mike Fiore 1:71125aa00e33 130
Mike Fiore 1:71125aa00e33 131 size = snprintf(buf, sizeof(buf), "Pass %u Fail %u", pass, fail);
Mike Fiore 1:71125aa00e33 132 writeField(_fGpsTime, buf, size, true);
Mike Fiore 1:71125aa00e33 133 }
Mike Fiore 1:71125aa00e33 134