jeremytrimble / ece511-fall2011-group5

Automatically exported from code.google.com/p/ece511-fall2011-group5
0 stars 0 forks source link

Implement "diagnostic console" #12

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
As of the resolution of issue 6, the backchannel UART is not only able to 
synchronously send data to a virtual serial port on the USB-attached computer, 
is is also able to (asynchronously) receive data from the virtual serial port.  
With a serial terminal program (like HyperTerminal), this allows for a user to 
send keystrokes to the MSP430.

All of the framework is in place to implement a "diagnostic console mode" which 
would allow one to perform certain configuration or diagnostic tasks.  This 
might be useful on initial installation of the digital doorman.

For instance, when the user attaches the digital doorman to a computer running 
HyperTerminal, we might present the following prompt:

---------

Digital Doorman (TM) v 1.05
Diagnostic Console

Please select one of the following options:
  1) Play the key knock rhythm.
  2) View/Configure the key knock rhythm.
  3) Perform system diagnostic test.
  4) Adjust settings.
  5) Clear nonvolatile memory.

DD> _

---------

- The "play key knock rhythm" option would play back the currently-configured 
key knock rhythm using the buzzer.
- The "system diagnostic test" would test all of the attached hardware -- it 
would energize the solenoid, play the buzzer, it could even test the microphone 
by playing a sound out of the buzzer and seeing if the microphone picks it up.
- The "adjust settings" option could let you configure things like the amount 
of time the latch stays open (solenoid remains energized), the knock detection 
threshold (may need to be lower for thick doors), etc.
- The "clear nonvolatile memory" option would clear out the 
currently-configured knock rhythm and any other "shared secret" information -- 
this would make it easy to safely give your digital doorman unit to an 
untrusted party without having to give them your key knock rhythm.

Other possible functions:
- Check battery level?  (Not sure how we'd do this but it sounds cool.)

I see this enhancement as being super-low-priority -- definitely in the 
"nice-to-have" category and not critical by any means.  All the other 
enhancements we've thought of so far are more important than this.  Still, it 
would give us something else to show off... :-)

(Digital Doorman is a registered trade mark of the 5 group.)

Original issue reported on code.google.com by jeremy.t...@gmail.com on 19 Oct 2011 at 12:00

GoogleCodeExporter commented 9 years ago

Original comment by jeremy.t...@gmail.com on 19 Oct 2011 at 12:12