kamalmostafa / minimodem

general-purpose software audio FSK modem
http://www.whence.com/minimodem
Other
846 stars 113 forks source link

First basic working implementation of TTY/TDD (no shifting between letters and special characters support yet) #8

Closed ghost closed 8 years ago

ghost commented 9 years ago

Also I added some autoreconf generated files to .gitignore and removed them from being tracked, I could be wrong but I think that's how its supposed to be done, at least thats what I've observed in other git repositories / projects with autotools. I've dodged learning autotools for many years now I've gone based on a need to know basis (least favorite subject.)

I also added a line to the usage() but I did not update the man page, perhaps after I figure out how to implement shift (between letters and "figures" otherwise known as special characters) I could include an update for minimodem.1 as well with information pertaining to the support for TTY/TDD.

It looks like with RTTY that shift is accomplished using an actual frequency shift, as I understand its totally different in TTY/TDD in that it sends the bits "110011" to indicate that bits should be interpreted from one set of 32 or another:

11011 11011 Shift to figures (otherwise known as special characters) 11111 11111 Shift to letters

I'll be happy to figure this out, also the PDF I mentioned (added comments to my code as well) has lots of info about all of this stuff. I will send an e-mail as well shortly after this.

ghost commented 9 years ago

Also just a quick note, if theres anything in this pull request like the autoreconf stuff I think (I'm not sure) you can use rebase to remove commits: http://stackoverflow.com/questions/8939808/git-remove-unwanted-commits-from-a-pull-request

Also if you wanted or if you want me to I can squash some of these commits, I tend to do a lot of commits some of which don't make sense just because I like things to be manageable in terms of how other people may want to change them later.

kamalmostafa commented 9 years ago

On Sat, Jan 24, 2015 at 2:34 PM, Paige Thompson notifications@github.com wrote:

It looks like with RTTY that shift is accomplished using an actual frequency shift,

​But no, that's not correct. The "letters/figures shift" in RTTY is handled exactly the same was as in TTY/TDD, and is already implemented ​in​ minimodem!

You were likely confused by the "frequency shift" (autodetect_shift) code in minimodem.c, which is something else entirely -- that relates to minimodem's --auto-carrier switch, which can be used to "search" for a signal when the mark/space frequencies are unknown.

as I understand its totally different in TTY/TDD in that it sends the bits "110011" to indicate that bits should be interpreted from one set of 32 or another:

11011 11011 Shift to figures (otherwise known as special characters) 11111 11111 Shift to letters

That standard "letters/figures shift" scheme is implemented in minimodem by these #defines and the code that uses them in baudot.c:

​#define BAUDOT_LTRS 0x1F

define BAUDOT_FIGS 0x1B

​ If that doesn't seem to be working in your TTY/TTD implementation, try enabling BAUDOT_DEBUG in baudot.c to sort out why.​

kamalmostafa commented 8 years ago

For the record, this implementation is being shelved, since basic TTY/TDD support is now supplied by commit f48257ac595afbc8f576d5ac4fcc180a608c6a25.