|
| ContactElement (uint8_t *ptr) |
| Constructor.
|
|
bool | isValid () const |
| Returns true if the pointer is not null.
|
|
void | clear () |
| Abstract method to reset the element within the codeplug.
|
|
virtual bool | hasSuccessor () const |
| Returns true if the contact has a successor.
|
|
virtual uint16_t | successorIndex () const |
| Returns the index of the next element.
|
|
virtual void | setSuccessorIndex (uint16_t index) |
| Sets successor index.
|
|
virtual void | clearSuccessorIndex () |
| Clears the successor index.
|
|
virtual uint32_t | dmrID () const |
| Returns the number.
|
|
virtual void | setDMRID (uint32_t id) |
| Sets the number.
|
|
virtual DMRContact::Type | type () const |
| Returns the call type.
|
|
virtual void | setCallType (DMRContact::Type type) |
| Sets the call type.
|
|
virtual QString | name () const |
| Returns the name of the contact.
|
|
virtual void | setName (const QString &name) |
| Sets the name of the contact.
|
|
virtual DMRContact * | toContactObj (Context &ctx, const ErrorStack &err=ErrorStack()) const |
| Constructs a DMR contact object from this contact elmeent.
|
|
virtual bool | linkContactObj (DMRContact *contact, Context &ctx, const ErrorStack &err=ErrorStack()) |
| Links the DMR contact object.
|
|
virtual bool | encode (DMRContact *contact, Context &ctx, const ErrorStack &err=ErrorStack()) |
| Encodes the contact.
|
|
| Element (const Element &other) |
| Copy constructor.
|
|
virtual | ~Element () |
| Destructor.
|
|
Element & | operator= (const Element &other) |
| Copy assignment.
|
|
bool | fill (uint8_t value, unsigned offset=0, int size=-1) |
| Fills the memsets the entire element to the given value.
|
|
bool | getBit (const Offset::Bit &offset) const |
| Reads a specific bit at the given byte-offset.
|
|
bool | getBit (unsigned offset, unsigned bit) const |
| Reads a specific bit at the given byte-offset.
|
|
void | setBit (const Offset::Bit &offset, bool value=true) |
| Sets a specific bit at the given byte-offset.
|
|
void | setBit (unsigned offset, unsigned bit, bool value=true) |
| Sets a specific bit at the given byte-offset.
|
|
void | clearBit (unsigned offset, unsigned bit) |
| Clears a specific bit at the given byte-offset.
|
|
void | clearBit (const Offset::Bit &offset) |
| Clears a specific bit.
|
|
uint8_t | getUInt2 (const Offset::Bit &offset) const |
| Reads a 2bit unsigned integer at the given bit-offset.
|
|
uint8_t | getUInt2 (unsigned offset, unsigned bit) const |
| Reads a 2bit unsigned integer at the given byte- and bit-offset.
|
|
void | setUInt2 (const Offset::Bit &offset, uint8_t value) |
| Stores a 2bit unsigned integer at the given bit-offset.
|
|
void | setUInt2 (unsigned offset, unsigned bit, uint8_t value) |
| Stores a 2bit unsigned integer at the given byte- and bit-offset.
|
|
uint8_t | getUInt3 (const Offset::Bit &offset) const |
| Reads a 3bit unsigned integer at the given bit-offset.
|
|
uint8_t | getUInt3 (unsigned offset, unsigned bit) const |
| Reads a 3bit unsigned integer at the given byte- and bit-offset.
|
|
void | setUInt3 (const Offset::Bit &offset, uint8_t value) |
| Stores a 3bit unsigned integer at the given bit-offset.
|
|
void | setUInt3 (unsigned offset, unsigned bit, uint8_t value) |
| Stores a 3bit unsigned integer at the given byte- and bit-offset.
|
|
uint8_t | getUInt4 (const Offset::Bit &offset) const |
| Reads a 4bit unsigned integer at the given bit-offset.
|
|
uint8_t | getUInt4 (unsigned offset, unsigned bit) const |
| Reads a 4bit unsigned integer at the given byte- and bit-offset.
|
|
void | setUInt4 (const Offset::Bit &offset, uint8_t value) |
| Stores a 4bit unsigned integer at the given bit-offset.
|
|
void | setUInt4 (unsigned offset, unsigned bit, uint8_t value) |
| Stores a 4bit unsigned integer at the given byte- and bit-offset.
|
|
uint8_t | getUInt5 (const Offset::Bit &offset) const |
| Reads a 5bit unsigned integer at the given byte- and bit-offset.
|
|
uint8_t | getUInt5 (unsigned offset, unsigned bit) const |
| Reads a 5bit unsigned integer at the given byte- and bit-offset.
|
|
void | setUInt5 (const Offset::Bit &offset, uint8_t value) |
| Stores a 5bit iunsinged nteger at the given byte- and bit-offset.
|
|
void | setUInt5 (unsigned offset, unsigned bit, uint8_t value) |
| Stores a 5bit iunsinged nteger at the given byte- and bit-offset.
|
|
uint8_t | getUInt6 (const Offset::Bit &offset) const |
| Reads a 6bit unsigned integer at the given byte- and bit-offset.
|
|
uint8_t | getUInt6 (unsigned offset, unsigned bit) const |
| Reads a 6bit unsigned integer at the given byte- and bit-offset.
|
|
void | setUInt6 (const Offset::Bit &offset, uint8_t value) |
| Stores a 6bit unsigned integer at the given byte- and bit-offset.
|
|
void | setUInt6 (unsigned offset, unsigned bit, uint8_t value) |
| Stores a 6bit unsigned integer at the given byte- and bit-offset.
|
|
uint8_t | getUInt8 (unsigned offset) const |
| Reads a 8bit unsigned integer at the given byte- and bit-offset.
|
|
void | setUInt8 (unsigned offset, uint8_t value) |
| Reads a 8bit unsigned integer at the given byte- and bit-offset.
|
|
int8_t | getInt8 (unsigned offset) const |
| Reads a 8bit signed integer at the given byte- and bit-offset.
|
|
void | setInt8 (unsigned offset, int8_t value) |
| Reads a 8bit signed integer at the given byte- and bit-offset.
|
|
uint16_t | getUInt16_be (unsigned offset) const |
| Reads a 16bit big-endian unsigned integer at the given byte-offset.
|
|
uint16_t | getUInt16_le (unsigned offset) const |
| Reads a 16bit little-endian unsigned integer at the given byte-offset.
|
|
void | setUInt16_be (unsigned offset, uint16_t value) |
| Stores a 16bit big-endian unsigned integer at the given byte-offset.
|
|
void | setUInt16_le (unsigned offset, uint16_t value) |
| Stores a 16bit little-endian unsigned integer at the given byte-offset.
|
|
uint32_t | getUInt24_be (unsigned offset) const |
| Reads a 24bit big-endian unsigned integer at the given byte-offset.
|
|
uint32_t | getUInt24_le (unsigned offset) const |
| Reads a 24bit little-endian unsigned integer at the given byte-offset.
|
|
void | setUInt24_be (unsigned offset, uint32_t value) |
| Stores a 24bit big-endian unsigned integer at the given byte-offset.
|
|
void | setUInt24_le (unsigned offset, uint32_t value) |
| Stores a 24bit little-endian unsigned integer at the given byte-offset.
|
|
uint32_t | getUInt32_be (unsigned offset) const |
| Reads a 32bit big-endian unsigned integer at the given byte-offset.
|
|
uint32_t | getUInt32_le (unsigned offset) const |
| Reads a 32bit little-endian unsigned integer at the given byte-offset.
|
|
void | setUInt32_be (unsigned offset, uint32_t value) |
| Stores a 32bit big-endian unsigned integer at the given byte-offset.
|
|
void | setUInt32_le (unsigned offset, uint32_t value) |
| Stores a 32bit little-endian unsigned integer at the given byte-offset.
|
|
uint64_t | getUInt64_be (unsigned offset) const |
| Reads a 64bit big-endian unsigned integer at the given byte-offset.
|
|
uint64_t | getUInt64_le (unsigned offset) const |
| Reads a 64bit little-endian unsigned integer at the given byte-offset.
|
|
void | setUInt64_be (unsigned offset, uint64_t value) |
| Stores a 64bit big-endian unsigned integer at the given byte-offset.
|
|
void | setUInt64_le (unsigned offset, uint64_t value) |
| Stores a 64bit little-endian unsigned integer at the given byte-offset.
|
|
uint8_t | getBCD2 (unsigned offset) const |
| Reads a 2-digit (1-byte/8bit) BDC value in big-endian at the given byte-offset.
|
|
void | setBCD2 (unsigned offset, uint8_t value) |
| Stores a 2-digit (1-byte/8bit) BDC value in big-endian at the given byte-offset.
|
|
uint16_t | getBCD4_be (unsigned offset) const |
| Reads a 4-digit (2-byte/16bit) BDC value in big-endian at the given byte-offset.
|
|
void | setBCD4_be (unsigned offset, uint16_t value) |
| Stores a 4-digit (2-byte/16bit) BDC value in big-endian at the given byte-offset.
|
|
uint16_t | getBCD4_le (unsigned offset) const |
| Reads a 4-digit (2-byte/16bit) BDC value in little-endian at the given byte-offset.
|
|
void | setBCD4_le (unsigned offset, uint16_t value) |
| Stores a 4-digit (1-byte/16bit) BDC value in little-endian at the given byte-offset.
|
|
uint32_t | getBCD8_be (unsigned offset) const |
| Reads a 8-digit (4-byte/32bit) BDC value in big-endian at the given byte-offset.
|
|
void | setBCD8_be (unsigned offset, uint32_t value) |
| Stores a 8-digit (4-byte/32bit) BDC value in big-endian at the given byte-offset.
|
|
uint32_t | getBCD8_le (unsigned offset) const |
| Reads a 8-digit (4-byte/32bit) BDC value in little-endian at the given byte-offset.
|
|
void | setBCD8_le (unsigned offset, uint32_t value) |
| Stores a 8-digit (4-byte/32bit) BDC value in little-endian at the given byte-offset.
|
|
QString | readASCII (unsigned offset, unsigned maxlen, uint8_t eos=0x00) const |
| Reads up to maxlen ASCII chars at the given byte-offset using eos as the string termination char.
|
|
void | writeASCII (unsigned offset, const QString &txt, unsigned maxlen, uint8_t eos=0x00) |
| Stores up to maxlen ASCII chars at the given byte-offset using eos as the string termination char.
|
|
QString | readUnicode (unsigned offset, unsigned maxlen, uint16_t eos=0x0000) const |
| Reads up to maxlen unicode chars at the given byte-offset using eos as the string termination char.
|
|
void | writeUnicode (unsigned offset, const QString &txt, unsigned maxlen, uint16_t eos=0x0000) |
| Stores up to maxlen unicode chars at the given byte-offset using eos as the string termination char.
|
|
Implements the binary encoding of a contact.
Memory representation of contact (0018h bytes):
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
00 | Next index+1, uint16, little endian | Name length | 0x02 or 0x00 |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
04 | DMR ID, uint24, little endian |GRP|PVC|ALC| 0 0 0 0 0 |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
08 | Name, 16 x ASCII, 0-padded ...
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
14 ... |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
Where:
- GRP: Group call
- PVC: Private call
- ALC: All call