A new Development

According to my Motorola(TM) Agreement ...
I may produce DLLs that encapsulate proprietary Motorola(TM) IP that allows myself & 3rd parties to access/control Motorola Radio's functionality, while not exposing Motorola's proprietary IP and protocols.
User avatar
Administrator
Site Admin
Posts: 370
Joined: Mon Jul 21, 2014 5:48 am

A new Development

Postby Administrator » Sun Apr 25, 2021 9:40 am

Hi all,

My Motorola agreement expires later this year.

But as a part of the 2nd (3rd) extension to their 3 year agreement, I was granted a license to develop among other products, Windows DLLs that allowed myself and 3rd party Developers access to Motorola Radio's internal functionality - without exposing Motorola's proprietary Intellectual Property.

I initially started this ~6 years ago when I developed a DLL for a UK Radio Vendor (thus requiring acceptance into EMEA along with APAC). That vendor owns that DLL and its non-proprietary Development interface.

I sought this part in the latest agreement, as I'm a System/Backend/Technical Analyst/Programmer and GUI is not my strong suit.

These DLL's will allow me to work with other 3rd Party Developers - to produce MOTOTRBO bespoke/custom applications, without exposing my knowledge of the Motorola ADK to any of these others.

IMO Motorola Sales, 3rd Party Developers and us here, will all benefit by hopefully producing new & enhanced products without the onerous obligations that come with the Motorola license.

The DLLs that are nearing completion are:-
  • LRRP/GPS - encapsulation Motorola's LRRP/GPS Tx/Rx protocols
  • TMS/Text - encapsulation Motorola's TMS/Text Tx/Rx protocols
  • ARS - encapsulation Motorola's ARS Tx/Rx protocols
  • Radio Command/Control - encapsulation Motorola's command/control protocols & interface
  • Some Non Proprietary Windows based utilities

I am currently Alpha testing the majority of those that use Motorola IP.
Hopefully, they will be available for Beta testing to selected GUI developers soon.

These DLLs, produced under an old MFC development environment appear to work on Apps developed under more recent and if I'm correct, will also be accessible to C# and other "scripting" languages too. Their wrappers are all

Code: Select all

[b]extern "C" __declspec(dllexport)[/b]


Time will tell!

cheers

P.S. Any GUI coders wanting to redo TransTRBO?
Geriatrics Generate Methane.
Grafitti Clifton Hill 1974
Living proof 2021

User avatar
Administrator
Site Admin
Posts: 370
Joined: Mon Jul 21, 2014 5:48 am

Re: A new Development

Postby Administrator » Fri May 21, 2021 10:34 pm

Progress Report:

TMS finished Alpha Testing
LRRP finished Alpha Testing
ARS wrapper being coded.
Geriatrics Generate Methane.
Grafitti Clifton Hill 1974
Living proof 2021

User avatar
Administrator
Site Admin
Posts: 370
Joined: Mon Jul 21, 2014 5:48 am

Re: A new Development

Postby Administrator » Thu May 27, 2021 9:35 pm

Hi all,
Soon, custom/bespoke Windows apps may be available.
From us or possibly 3rd party Windows Developers. 8-)

FYI
ARS is now in Alpha test phase!

Doco will be produced if there is any interest!

TMS DLL has the following Functions
Major
Start TMS Manager requires Base Station IP Address + Port, CAI and Group CAI
Stop TMS Manager
Send Text Message requires Destination Radio ID, Text Message, + want ACK
Receive Text Message (Automatically responds with an ACK if required).
Minor
Read TMS Dll Signature
Write TMS Dll Key

LRRP has the following Functions
Major
Start LRRP Manager requires local Radio ID, Base Station IP Address + Port, CAI, Poll Time,
Revert Channel 1 IP Address & port + CAI
Revert Channel ditto
Stop LRRP Manager
Add Radio to Poll/Trigger(periodic) Table, Destination Radio ID, Data Request type, Update Interval
Remove Radio from table, Destination Radio ID
Force Radio in table to Repoll, Destination Radio ID
Get Received Status/Progress message
Get Received Position message
Minor
Read LRRP Dll Signature
Write LRRP Dll Key
Utility function returning various “name fields”

ARS has the following Functions
Major
Start ARS Manager requires Base Station IP Address + Port, CAI, Run as Server, Refresh Id, Grace Time
Stop ARS Manager
Send Query Message, Remote Radio ID
Read Server Status Notifications
Read Received Request from Remote Radios
Non Server Mode
Send ACK Message, Remote Radio ID
Send NAK Message, Remote Radio ID

Image

cheers
Will
Geriatrics Generate Methane.
Grafitti Clifton Hill 1974
Living proof 2021

WilliamJGSG
Posts: 5
Joined: Sat May 29, 2021 1:42 am

Re: A new Development

Postby WilliamJGSG » Sat May 29, 2021 5:07 pm

This is really good stuff! Great work. If they are DLLs, so long they are present anywhere on the system path I think they "should" work.

Just tried this app on SmartPTT to do file transfers using MotoTRBO radios, effectively the radio is a "modem"... no match for even a 10-Base-T wire in terms of speed, but hey, a 10 mile 10-Base-T cable can be a bit hard to come by too...

G.

User avatar
Administrator
Site Admin
Posts: 370
Joined: Mon Jul 21, 2014 5:48 am

Re: A new Development

Postby Administrator » Sat May 29, 2021 11:07 pm

Hi William,

It's good to see some interest!

I'm just cleaning up the LRRP DLL so it's DLL interface is consistent with ARS and TMS.
It will communicate with the Base Station plus 2 x Revert channel Radios.

On TMS, I also just added code that will set the Windows Route Table to handle TMS CAI and Group CAI.

Soon, I'll try and encapsulate MotoTRBO Command/Control that uses Xcmp/Xnl to control the Channel, Zone, PTT etc side of the Radio.
(See XcmpXnl.exe)

BTW: Did you ever look at the distributed Server/Service I wrote years ago?
It uses TCP/IP to communicate with any other platform detects Unicode, ASCII or Binary formats, using Big-Endian or Little Endian.
viewtopic.php?f=47&t=59

cheers
Will
Geriatrics Generate Methane.
Grafitti Clifton Hill 1974
Living proof 2021

WilliamJGSG
Posts: 5
Joined: Sat May 29, 2021 1:42 am

Re: A new Development

Postby WilliamJGSG » Sun May 30, 2021 6:40 am

Nice!

What you are doing is, simply put, brilliant: Encapsulate the proprietary API in a DLL.

I have to admit that for me its daunting the thought of going out of my field of expertise, lots of new terminology to learn, etc. LRRP, etc... some I know from playing around with your apps, but a lot of the stuff is all new to me.

As for the distributed service app, no, I didn't look. I am sorry. Please understand that I am fairly new to digital radios, and definitively very new to MotoTRBO gear, and what they can do beyond the original factory programming.

Realizing that Motorola radios have always had a lot of additional functionality available via 3rd party programming, etc, its just mind boggling.

So, I currently have VS2013, VS2015, VS2019 installed on my home workstation... and I have several XPR/SL radios to play with...

Let me know how I can be of help.

G.