OK-DMR / ok-dmrlib

DMR PDUs, elements, FEC and CRC library, including proprietary DMR protocols of Hytera and Motorola
GNU Affero General Public License v3.0
31 stars 7 forks source link

Usage Info #6

Open alwinhb opened 9 months ago

alwinhb commented 9 months ago

@smarek OK as per your suggestion on my previous issue within this repo. I am able to build the code.

Can you help me to understand how this source code can be used to implement DMR?

It contains all the protocols required in DMR [Tier 1, 2 and 3]

smarek commented 9 months ago

It definitely does not contain all protocols related to Tier 1/2/3, its just protocol tool, use it as you like.

Describe your use-case in detail, then i might have better answer for you

alwinhb commented 9 months ago

@smarek Thank you for your prompt response, I really appreciate your time.

I am looking to implement DMR Tier 1 from scratch using one of my processor [ARM + DSP], I want to establish 1:1 communication between DMR Handhelds. Can you guide me how I can I use dmrlib for the same?

Thanks!

smarek commented 9 months ago

@alwinhb awesome, good luck then, i don't think this library is usable for your goal. Targeting embedded devices requires imho low-latency implementation, which Python cannot provide.

Per definition (TS 102 361-1 - V2.5.1)

Tier I: DMR equipment having an integral antenna and working in direct mode (communication without infrastructure) under a general authorization with no individual rights operation.

I think I have most of the PDUs implemented, so you can use ok-dmrlib as reference (including test-cases and test-data) when re-implementing into low-latency stack

AI Layer 1 (section 4.1.1) is up-to-you AI Layer 2 (4.2.2) I don't have channel management and CCL signaling, all the other PDU's, FEC, CRC, (de)interleaving routines we should have AI Layer 3 (4.2.3) I don't have most of the features in code now, nor the control plane implementation

And for TDMA, I actually have drafted solution with dsd-fme for decoding raw I/Q data into DMR bursts and inspecting them (and the transmissions chains) through ok-dmrlib, timing will be up to you, but currently I have Generic burst and CACH, i don't have RC nor detection/handling of full TDMA frames

It's wide topic, but these are my first thoughts, let me know what you think, cheers!

alwinhb commented 6 months ago

@smarek Thanks, Any more open source code references would be of great help