Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
document the serial commands that the DTMF Shield implements
  • Loading branch information
ghbyrkit authored Jan 15, 2023
1 parent 0e88130 commit 20a7296
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,20 @@ the app on windows, and run it under Mono. However, the Mac and Linux seem to u
works that way. It looks like the way forward is to convert to a Xamarin app. But I could be very wrong, and chasing alleged unicorns.

I have and use MacOS and Linux myself, but help is appreciated!


What the DTMF_Shield sketch does:
1) it processes a set of serial command strings. Some are single character, some are multiple character. These commands/actions are described below.
2) to operate the shield itself, either a command setting a value is sent, a button press is emulated, or a 5 bit command is sent to the DTMF generator chip (HT9200A)
to generate a tone for 0-9 or A-D. The chip is enabled, the 5 bits are banged out, and the chip is disabled. There are appropriate pauses.
a) setting values: accepts "SET_TONE_TIME:" followed by an integer value, or "SET_BUTTON_TIME:" followed by an integer value, "PAUSE: ", which causes a pause for
TONE_DELAY time (SET_TONE_TIME value)
b) receiving the string "0" thru "9" and "A" thru "D" cause that DTMF tone to be generated by the HT9200A chip, for the current TONE_DELAY time.
c) receiving the string "UP" causes the UP button press line to be set for BUTTON_DELAY time (SET_BUTTON_TIME value), then cleared.
Similar for "DOWN", "MR", "VFO", and "CALL"

Long and short presses are performed by having the TM742 programmer application change the TONE_TIME and BUTTON_TIME appropriately,
then returning to the normal value.
A possible improvement could to build in things like 'short MR' and 'long MR' by having more time values that can be set. But those actions can already be
performed with the commands that are now present.

0 comments on commit 20a7296

Please sign in to comment.