Commit Graph

735 Commits

Author SHA1 Message Date
Cort Buffington 09e1d7f36a Working on RSSI
Added easy-change capabilities (IPSC flags) to dmrlink.py
Working with XCMP/XNL and RSSI in log.py
2013-10-30 07:57:17 -05:00
Cort Buffington 8f2e1433be (maybe) fixed unauth
did not add the additional code to use unauthenticated IPSC with the
log mixin. Added it blind - as in I've not tested it yet. If someone
finds this and tests it BEFORE I do, please let me know if it works.
2013-10-29 21:19:43 -05:00
Cort Buffington 0002b91e52 No luck with RSSI yet... 2013-10-29 16:36:04 -05:00
Cort Buffington ccd1eab3aa begin working with RSSI data in log.py 2013-10-29 15:16:48 -05:00
Cort Buffington c1c182f15a Updated copyright 2013-10-29 08:17:50 -05:00
Cort Buffington 67c9a17c3b Documenting New Message Type
Message Type 0x05 - this is the ack, or "confirmation" from the
subscriber receiving a confirmed private voice or data call.
2013-10-29 08:03:17 -05:00
Cort Buffington 0dfc57b23e Update README.md 2013-10-29 07:39:18 -05:00
Cort Buffington f5a4674ffe Added License file 2013-10-29 07:16:18 -05:00
Cort Buffington fb094d4082 Update README.md 2013-10-29 07:11:48 -05:00
Cort Buffington 1331726028 Add first two applications
As of now, dmrlink.py is only a behind the scenes worker... It's just
the base class to take care of link establishment and maintenance.
Applications, such as bridging or logging will now be in their own
files and inherit from dmrlink.py
2013-10-29 07:09:18 -05:00
Cort Buffington b55e430568 remove application stuff 2013-10-29 07:08:05 -05:00
Cort Buffington 329a701395 First two applications added 2013-10-29 07:07:17 -05:00
Cort Buffington 4ad171337d Module Clean-Up
All "useful" call-back actions removed. This is because it's time to
start using derived classes to make applicaitons out of dmrlink.py as a
base class.
2013-10-28 22:39:45 -05:00
Cort Buffington 8c23bbf45d Remove references to application modules in progress... 2013-10-28 20:41:09 -05:00
Cort Buffington 9f53e7035b Name Change - Function Re-Org
Preparing to use DMRlink as a python module. The name needed to be
changed to not clash with the resource sub-directory, and functions
were moved into the main class that are intended to be changed in a
derived class.

DMRlink is now a functional module. I will be shifting ALL development
of "application" level features to other files with derived classes,
and dmrlink.py will ONLY include protocol update/fixes/etc.
2013-10-28 20:34:29 -05:00
Cort Buffington 3cb242d368 Added a timed loop to display information
separated this from the timed loop that handles connection maintenance
and establishment.
2013-10-24 15:48:16 -05:00
Cort Buffington 13dede1fb9 FOUND NEW MESSAGE TYPE! 2013-10-22 13:53:02 -05:00
Cort Buffington 43c70bbdb1 Continued Clean-Up More Efficient
more of the same stuff… organizing and cleaning up stuff to make it run
better. CPU load now reduced by half!
2013-10-22 11:21:32 -05:00
Cort Buffington f23780901b Major Clean-Up!!!
Cleaned up many things:
Needless iteration during received packet parsing.
Grouping received packet re-requisite checking so that it can be done
once, not on each packet.
Removed some conversions where a number is converted twice just to be
compared.
2013-10-21 20:54:51 -05:00
Cort Buffington 800969bb39 DMR NAT Function Added
There is concern about the maximum available DMR RadioID space. Just
like running out of IPv4 on the Internet, I created an evil DMR NAT
function.
2013-10-21 10:40:29 -05:00
Cort Buffington 45618999a1 More on timestamps 2013-10-15 14:35:21 -05:00
Cort Buffington 4fd7b7f74a More date/time stamping. 2013-10-15 14:18:06 -05:00
Cort Buffington 9ac7727b7a Added Timestamp 2013-10-15 05:50:02 -05:00
Cort Buffington 6edf3ef978 Type Fix - SEE PREVIOUS SYNC FOR MORE INFO 2013-10-14 15:13:34 -05:00
Cort Buffington 0a35eb61b4 Added Handling for Known Packet Types
Callback functions were added to parse known packet types. Also, the
hardwired "flags" section in our own config was updated to handle voice
and data packets. PLEASE NOTE: The mode and flags change what repeaters
send to DMRlink -- the fields are documented in ipsc/ipsc_mask.py
2013-10-14 15:09:16 -05:00
Cort Buffington 90972d5728 Formatting update 2013-10-14 09:52:49 -05:00
Cort Buffington ca24e75b1a Update requirements.txt 2013-10-14 09:45:39 -05:00
Cort Buffington 6b1b074628 DRASTICALLY sped up text/number lookup times.
added a function to do it the *right* way.
2013-10-13 20:10:58 -05:00
Cort Buffington ae16d096f8 Numeric ID to Name Mapping Added 2013-10-13 17:01:50 -05:00
Cort Buffington 37513a03c1 Group Voice Function Changed
Group Voice Function is now set up to help decode more parameters, such
as the timeslot in use, which will help build a better bridging
function.
2013-10-12 14:19:52 -05:00
Cort Buffington 9fb850b878 Comments added to config file sample 2013-10-12 11:21:00 -05:00
Cort Buffington e70b9bee49 File no longer necessary 2013-10-12 11:10:02 -05:00
Cort Buffington 59cb7666f5 Added Config File Parser
No longer is it necessary to build the configuration by hand as a
python file. It now uses a basic INI style… not my favorite, but easily
added thanks to ConfigParser.

This BREAKS group-voice forwarding for now, as there's no good way to
add the rules config in the basic config file right NOW, but it will be
fixed soon.
2013-10-12 11:08:06 -05:00
Cort Buffington b2d256b024 added peer validation to registration requests we reply to 2013-10-10 16:23:52 -05:00
Cort Buffington a8988e8cf7 Merge branch 'master' of https://github.com/n0mjs710/DMRlink
Conflicts:
ipsc.py
2013-10-10 16:19:12 -05:00
Cort Buffington b62af8020b Merge pull request #9 from ryanturner/master
Fixed a typo, made error messages consistent.
2013-10-10 07:44:44 -07:00
Ryan Turner 3cc2afafda Fixed a typo, made error messages consistent. 2013-10-09 23:07:38 -05:00
Cort Buffington 5f76ce28f5 Merge pull request #8 from adamfast/event-notifications
Adds a private function for alerting when events happen inside the libra...
2013-09-14 17:29:41 -07:00
Adam Fast 303e92795e Adds a private function for alerting when events happen inside the library. This function no-ops by default but can be overridden by subclassing IPSC and extending the method to perform whatever type of notification is desired. 2013-09-14 19:07:32 -05:00
Cort Buffington ee2a8953ee Update to print-peer-list function
Made it prettier
2013-09-10 20:36:35 -05:00
Cort Buffington 478301a394 Commeting the Config 2013-09-10 16:24:38 -05:00
Cort Buffington 9828390799 Removed Extra Line 2013-09-10 15:43:37 -05:00
Cort Buffington e56adaa4bf Peer List Update, Fixed formatting 2013-09-10 15:42:38 -05:00
Cort Buffington f04dd45346 MAJOR UPDATE!
Added a derived class for the rare event of an un-authenticated IPSC,
this necessitated moving two global functions into the classese.

Changes to prepare this as a module -- all "user space" packets that
are received now have expliciet callback functions (handily located in
one place)

Moved the supporting characters into the ipsc sub-directory. The config
is the only likely one to be touched.

Improved some of the logging, but also commented it out to make things
run faster when it is not in use.
2013-09-10 15:28:18 -05:00
Cort Buffington 916ed46fef FIxed calculation of number of peers in an IPSC
Incorrect decodeing of determination of the peer-list. As it turns out,
the packet indicates the length of the list, not the number of peers.
So, take that value / 11 (length of a peer entry) for the number of
peers. Thanks to Hans for pointing this out!
2013-09-10 09:43:45 -05:00
Cort Buffington 3f9aee2c3c Fixed commend on the Group Voice feature. 2013-08-30 16:24:56 -05:00
Cort Buffington b41cf5ff7b CLEAN UP & DOCUMENT
This was just a massive clean up and documentation festival. Many many
clean ups made for better readability and consistenty, most everything
is well commented now too.
2013-08-30 16:23:12 -05:00
Cort Buffington 75e72ce8bb Completed Group Voice Bridge
Added a function call to send a supplied packet to EVERY peer
(including master) that is active in an IPSC (except ourselves). This
completed the group voice bridge, and should facilitate EASILY adding
data and private bridging.
2013-08-28 11:06:54 -05:00
Cort Buffington 5b41354730 Cleaning out debugging items. 2013-08-27 10:32:27 -05:00
Cort Buffington 56236ec6cd Remove debugging items from TG forwarding 2013-08-27 10:23:54 -05:00