diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2016-09-02 17:43:32 +0200 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2016-09-07 21:20:24 +0200 |
commit | 4809f3c042a99a639542b1e6cd22657871113260 (patch) | |
tree | dc0ec0f256eaceb79d63daa09591d4a6ef08cb73 /utils.cpp | |
parent | 5542c8ecff635f9abc05b6b2ff255db02c2c9c46 (diff) | |
download | etisnoop-4809f3c042a99a639542b1e6cd22657871113260.tar.gz etisnoop-4809f3c042a99a639542b1e6cd22657871113260.tar.bz2 etisnoop-4809f3c042a99a639542b1e6cd22657871113260.zip |
Move all sources to src/
Diffstat (limited to 'utils.cpp')
-rw-r--r-- | utils.cpp | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/utils.cpp b/utils.cpp deleted file mode 100644 index 71df396..0000000 --- a/utils.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/* - Copyright (C) 2014 CSP Innovazione nelle ICT s.c.a r.l. (http://www.csp.it/) - Copyright (C) 2016 Matthias P. Braendli (http://www.opendigitalradio.org) - Copyright (C) 2015 Data Path - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - - etisnoop.cpp - Parse ETI NI G.703 file - - Authors: - Sergio Sagliocco <sergio.sagliocco@csp.it> - Matthias P. Braendli <matthias@mpb.li> - / | |- ')|) |-|_ _ (|,_ .| _ ,_ \ - Data Path \(|(||_(|/_| (||_||(a)_||||(|||.(_()|||/ - -*/ - -#include "utils.hpp" -#include <cstring> - -using namespace std; - -static int verbosity = 0; - -void set_verbosity(int v) -{ - verbosity = v; -} - -int get_verbosity() -{ - return verbosity; -} - -void printbuf(string header, - int indent_level, - uint8_t* buffer, - size_t size, - string desc) -{ - if (verbosity > 0) { - for (int i = 0; i < indent_level; i++) { - printf("\t"); - } - - printf("%s", header.c_str()); - - if (verbosity > 1) { - if (size != 0) { - printf(": "); - } - - for (size_t i = 0; i < size; i++) { - printf("%02x ", buffer[i]); - } - } - - if (desc != "") { - printf(" [%s] ", desc.c_str()); - } - - printf("\n"); - } -} - -void printinfo(string header, - int indent_level, - int min_verb) -{ - if (verbosity >= min_verb) { - for (int i = 0; i < indent_level; i++) { - printf("\t"); - } - printf("%s\n", header.c_str()); - } -} - -int sprintfMJD(char *dst, int mjd) { - // EN 62106 Annex G - // These formulas are applicable between the inclusive dates: 1st March 1900 to 28th February 2100 - int y, m, k; - struct tm timeDate; - - memset(&timeDate, 0, sizeof(struct tm)); - - // find Y, M, D from MJD - y = (int)(((double)mjd - 15078.2) / 365.25); - m = (int)(((double)mjd - 14956.1 - (int)((double)y * 365.25)) / 30.6001); - timeDate.tm_mday = mjd - 14956 - (int)((double)y * 365.25) - (int)((double)m * 30.6001); - if ((m == 14) || (m == 15)) { - k = 1; - } - else { - k = 0; - } - timeDate.tm_year = y + k; - timeDate.tm_mon = (m - 1 - (k * 12)) - 1; - - // find WD from MJD - timeDate.tm_wday = (((mjd + 2) % 7) + 1) % 7; - - //timeDate.tm_yday = 0; // Number of days since the first day of January not calculated - timeDate.tm_isdst = -1; // No time print then information not available - - // print date string - if ((timeDate.tm_mday < 0) || (timeDate.tm_mon < 0) || (timeDate.tm_year < 0)) { - return sprintf(dst, "invalid MJD mday=%d mon=%d year=%d", timeDate.tm_mday, timeDate.tm_mon, timeDate.tm_year); - } - return strftime(dst, 256, "%a %b %d %Y", &timeDate); -} - -char *strcatPNum(char *dest_str, uint16_t Programme_Number) { - uint8_t day, hour, minute; - char tempbuf[256]; - - minute = (uint8_t)(Programme_Number & 0x003F); - hour = (uint8_t)((Programme_Number >> 6) & 0x001F); - day = (uint8_t)((Programme_Number >> 11) & 0x001F); - if (day != 0) { - sprintf(tempbuf, "day of month=%d time=%02d:%02d", day, hour, minute); - } - else { // day == 0 - // Special codes are allowed when the date part of the PNum field - // signals date = "0". In this case, the hours and minutes part of - // the field shall contain a special code, as follows - if ((hour == 0) && (minute == 0)) { - sprintf(tempbuf, "Status code: no meaningful PNum is currently provided"); - } - else if ((hour == 0) && (minute == 1)) { - sprintf(tempbuf, "Blank code: the current programme is not worth recording"); - } - else if ((hour == 0) && (minute == 2)) { - sprintf(tempbuf, "Interrupt code: the interrupt is unplanned (for example a traffic announcement)"); - } - else { - sprintf(tempbuf, "invalid value"); - } - } - return strcat(dest_str, tempbuf); -} - - |