"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
* working on a client for wi-fi setup
* added refactored code, ready to integrate
* client is running, now to handle the rest
* Staring touble in the face
* saved
* added config settings for wifi setup
* add an entry point for wifisetup to mycroft-base-setup.py
* moved SSID sorting into LinkUtils
* I'm now using the new SanAp class throughout
* Cleaning up code. All bash executions use bashThreadHandling class, mycroft's LOGGER
* removed legacy configuration parser
* funneling effort into cleanup
* fixed pep8, see if she builds
* changed entry point for init script
* changed import path to full path
* changed import path to full path for all files
* change ws port to 8080 for now
* pep8 in wifi.py fixed
* fixed a few more pep8 errors
* strange import stuff goign on
* strange import stuff goign on
* renamed wifi.py to prevent import conflict
* freeze pip requirement versions
* changed import path in LinkUtils
* changed import path again
* trying to fix wifi import.. something is wrong
* consumer and producer queues now working
* Consumer & producer API's are coming alogn
* Refactor: developing an API
* add ap up/down procedure to api
* looking googd
* removed some older code, api is nearly written
* success
* Sending conection status to browser is now working
* Fixed pep8 errors again
* removed blank line from file
* fixed entrypoint name
* added shutdown and save upon connect; reducing verbosity
* now disabling and flushing network on connection fail
* fix start.sh
* Corrected amount of arguments passed to wpa_cli_disable_network
* added iface to disable network
* added shutdown on success; restart wpa_supplicant upon ap up
* turning powersave mode off for wlan0
* removed wpa_cli flush
* fix some file restore and exit issues
* re enabled flush networks on fail
* powersave mode was logged but not executed
* stop and start dhcpcd withh ap up
* changed hostapd channel; bring links up and down after successful pair
* removed double quotes from the wpa_supplicant template
* Multiple files combined into util.py
* clean up some comments, added license headers
* what is up
* Ap mode event fires on enclosure event
* added logic for open network
* Changed empty passphrase from bool to empty string
* enclosure version bump
* changed ap down method in WiFiConsumer
* I'm now pulling all configuration from mycroft.ini and grabbing the mac address for ap ssid
* REFACTOR: removed util.py, as it was a bit messy
* REFACTOR: remove pep8 errors again, you would think that I would do this each time
* chagned some logic for open net
* open networks now function properly
* Reboot on success
* changed network save method
* Issues 356 - Setup wifi connection
- Removing tornado dependency
- Merging WS reader with Wifi process
* Issues 356 - Refactoring
- Using PyRIC and WIFI libs
* Issues 356 - Refactoring bash command
* Issues 356 - Refactoring FileUtils
* Issues 356 - WebClient refactoring
* Issues 356 - create password and loading pages
* Issues 356 - connecting
* Issues 356 - parsing data on ws
* Issues 356 - removing fake function on wifisetup
* Issues 356 - connecting on public network
* Issues 356 - show loading page on backbutton
* Issues 356 - sort networks by quality
* Issues 356 - Fixing message type variable
* Issues 356 - Adding more logs to wifi setup
* Issues 356 - network sort by quality
* Issues 356 - Fixing cell ssid param and using correct interface for scheme
* Issues 356 - Ensuring to save scheme before activating
* Issues 356 - Logging bash command
* Issues 356 - Refactoring wifi to P2P
* Issues 356 - Simplifying cli usage and getting results from wpa_cli
* Issues 356 - Parsing ssid and pass
* Issues 356 - Saving wpa configuration
* Issues 356 - Removing postfix in favor of wpa_supplicant config
* Issues 356 - Setting host to 0.0.0.0
* Issues 356 - Fixing parsing for wpa_cli output
* Issues 356 - Ensuring to save wpa config after connected
* Issues 356 - Setting interface for save config
* Issues 356 - Ensuring interfaces in all wpa cli
* Issues 356 - Creating, staring and stopping wifi web server
* Issues 356 - Adding logs to web server
* Issues 356 - create succes page and merge connect page on list page
* Issues 356 - Config.js server addr
* Issues 356 - Adding wifi status and connected control
* Issues 356 - lock margin top wifisetup
* Issues 356 - waiting connection
* Issues 356 - Moving dnsmasq backup logic to main.py
* Issues 356 - Cleaning imports
* Changed the base manifest to reflect new file locations
* fixed indent for pep8
* changed the mycroft-base-setup.py to reference the proper entry point for wifisetup
* Enclosure version bump
* Added the wifi index.html to the base manifest, as it doesn't seem to catch it recursively
* Issues 356 - Updating first setup flag after running the first time
* Issues 356 - Ensure to stop server only if it exists
* Issues 356 - Ensuring to set first setup to false when connected
* Issues 356 - Closing web server after shutdown
* Issues 356 - Running web server as daemon
* Issues 356 - Creating server connection only once at initialization
* Issues 356 - Disconnecting network before connecting and fixing get status
* Issues 356 - Starting web server only once after AP is up
* Issues 356 - Returning empty status if not able to parse
* Issues 356 - Creating web server loop control
* Issues 356 - Performing final request call in order to unblock server
* Issues 356 - Adding GET method to server request
* Issues 356 - Requesting web server to stop on main thread