libdrmconf 0.12.1
A library to program DMR radios.
Loading...
Searching...
No Matches
utils.hh
1
6#ifndef UTILS_HH
7#define UTILS_HH
8
9#include <QString>
10#include <inttypes.h>
11
12#include "signaling.hh"
13#include "gpssystem.hh"
14#include <QGeoCoordinate>
15
19QString decode_unicode(const uint16_t *data, size_t size, uint16_t fill=0x0000);
22void encode_unicode(uint16_t *data, const QString &text, size_t size, uint16_t fill=0x0000);
23
26QString decode_ascii(const uint8_t *data, size_t size, uint16_t fill=0x00);
29void encode_ascii(uint8_t *data, const QString &text, size_t size, uint16_t fill=0x00);
30
33QString decode_utf8(const uint8_t *data, size_t size, uint16_t fill=0x00);
36void encode_utf8(uint8_t *data, const QString &text, size_t size, uint16_t fill=0x00);
37
39double decode_frequency(uint32_t bcd);
41uint32_t encode_frequency(double freq);
42
44uint32_t decode_dmr_id_bin(const uint8_t *id);
46void encode_dmr_id_bin(uint8_t *id, uint32_t num);
48uint32_t decode_dmr_id_bcd(const uint8_t *id);
50uint32_t decode_dmr_id_bcd_le(const uint8_t *id);
52void encode_dmr_id_bcd(uint8_t *id, uint32_t num);
54void encode_dmr_id_bcd_le(uint8_t *id, uint32_t num);
55
56QString decode_dtmf_bin(const uint8_t *num, int size=16, uint8_t fill=0xff);
57bool encode_dtmf_bin(const QString &number, uint8_t *num, int size=16, uint8_t fill=0xff);
58
59QString decode_dtmf_bcd_be(const uint8_t *num, int digits);
60bool encode_dtmf_bcd_be(const QString &number, uint8_t *num, int size, uint8_t fill);
61
64SelectiveCall decode_ctcss_tone_table(uint16_t data);
67uint16_t encode_ctcss_tone_table(const SelectiveCall &code);
68
70bool validDMRNumber(const QString &text);
72bool validDTMFNumber(const QString &text);
73
74QString aprsicon2config(APRSSystem::Icon icon);
75QString aprsicon2name(APRSSystem::Icon icon);
76APRSSystem::Icon name2aprsicon(const QString &name);
77char aprsicon2iconcode(APRSSystem::Icon icon);
78char aprsicon2tablecode(APRSSystem::Icon icon);
79APRSSystem::Icon code2aprsicon(char table, char icon);
80
84int levDist(const QString &source, const QString &target,
85 Qt::CaseSensitivity cs=Qt::CaseInsensitive);
86
88uint32_t align_size(uint32_t size, uint32_t block);
90uint32_t align_addr(uint32_t addr, uint32_t block);
91
92QGeoCoordinate loc2deg(const QString &loc);
93QString deg2loc(const QGeoCoordinate &coor);
94
95#endif // UTILS_HH
Icon
All implemented APRS icons.
Definition gpssystem.hh:162
Encodes a selective call.
Definition signaling.hh:13