Bugfix/issues 343 - autodetect platform ("mycroft-mark-1" or "unknown" currently) and shuts down enclosure-client when running on a generic Raspberry Pi.
"enclosure.system.reset" on the messagebus (which was intended to
only reset the enclosure's visual elements) to simply "reset()" and
"enclosure.reset" to avoid confusion with the "system.reset" serial
port message (which resets the Arduino).
'platform' variable in 'enclosure' section, and if not found
the auto-detect will kick off. The mechanism used is issuing
a serial 'system.ping' and listening for the Mycroft Mark 1
Arduino to respond. This is a one-time event, since the
results get saved.
If the system is not a Mycroft Mark 1, it shuts itself down
so the enclosure message bus messages are simply ignored
on a generic Pi.
system_reset() that means the Enclosure appearance should be reset to
its defaults. The implementation of this is now a reset of both the
mouth and the eyes. This command gets sent to the Enclosure once the
speech client has fully opened its connection to the messagebus.
under. For now, only the 'mycroft-mark-1' is auto-detected by
attempting to send out a 'ping' over the serial line. The
auto-detect results are saved as a 'platform' in the
configuration file.
Since the current enclosure is designed to only work with Mark 1,
we shutdown the client in all other platform cases.
* Enhancing the Wifi setup process:
* When no intenet is detected, Mycroft now instructs user
to connect cable or tells how to start wifi setup
* Wifi setup talks user through connection process
* Setup will auto-shutdown after 5 minutes
* Completion screen now goes to cerberus.mycroft.ai to
allow registration immediately
(TODO: custom url/landing page to that will already have the pairing code)
* Changing the wording of the prompt message and slowing down the
rate at which the password is spoken.
* fixed pep8 error
* fixed mroe pep8 in listener.py
* -webkit-user-select: text;
* * Fixed iOS issues with password input
* Added SSID wrapping for unusually long network names
* Fixed need for left/right scrolling on small phone screens (e.g. iPhone 4/5)
* iOS devices now automatically open the screen after connecting to the MYCROFT network
* Tweaked Wifi setup instruction wording to make it easier to understand
* Fixed a potential bug with the flag used to stop the connection monitor
* Removed some temporary debugging code being used to track a very
specific issue with odd network names.
* Various small changes for the code review. Mainly deleting some dead
code and comment changes.
* Made the "not connected" message more Mimic-friendly by using the word
'browse' instead of 'login'.
* Increased the size of the password characters. They felt tiny at 13px on
previously on an iPad.
* - Added an auto-check for unit connection during the first 20 seconds when
a unit is turned on. If no connection to the internet is found, the user
is told how to get connected.
- Added calls to 'ping' to help rebuild the ARP table we previously cleared
in the test for lost connection
- Tweaked some terminology spoken to be more Mimic-friendly and understandable.
- Added automatic announcements every 45 seconds of the next step in the
process.
- Added automatic shutdown after 5 minutes
- Added announcement when the process is complete
- Added documentation and comments throughout
- Made things more "pythonic". Switched functions from camelCase to
python_style_names. Also used some underscore prefixes for private methods
that are really just implementation helpers.
* - The initial check for internet connectivity now happens 5 seconds after the system comes up instead of 20.
- Also added a space to tweak the pronunciation of an announcement
* Changes to the wifi setup portal
- Added a Cancel Setup button (shuts down the process)
- The Register Me button only appears once the browser can
reach cerberus.mycroft.ai. This prevents following the
link while phone is still connected to the temporary
access point or not connected back to the real network.
* Update version.txt
* Several changes related to button pressing on the Mycroft unit:
- Pressing the button when it isn't listening starts it listening
- Pressing the button when listening will stop the listen
- Added a mycroft.util.signal() mechanism for out-of-thread communication
- Pressing the button now creates an "buttonPress" signal from the Enclosure
- The viseme playback and aplay check for the 'buttonPress' signal to abort
- Removed "Sorry I didn't catch that", irritating during false activations
* Fixed spacing that pep8 yelled about