Changelog¶
0.2.3 [2019-10-22]¶
[Speller] Save user’s configurations in browser to recover the same layout at next visit. Add width & height attributes to each layout. Copy recognition result to clipboard by double clicking result field. Finish all TODOs.
[DisplayWeb] Add a second rendering method “scroll whole frame”. This can be enabled by one click of a toggle button. Optimize realtime render performance.
[Recorder] Fix recorder command entrance multi-command bug. Provide CLI data stream recorder application at
python -m embci.apps.recorder(like a LSL LabRecorder implemented in Python) which supports stream selection, recording pause & resume and data filename/username configuration.[Recorder] Add web-based recorder console at
http://${EMBCI_HOST}/app/recorder. List and control all alive recorders in your browser.[Streaming] Add JSON-RPC interface to control ESP32 data stream and LSL outlet by Remote Procedure Call. JSON-RPC protocal support communication from C/Python/JavaScript/… See more at module doc
embci.apps.streaming.__doc__.[WebUI] Add
webui_static_hostfunction to register multiple source directories for static file serving. It supports updating on exist routes.[File Manager] New feature: data files manager in subapp
embci.apps.baseserver.[JSONRPC] History container informatic summary output. Allow CORS POST by setting
Access-Control-Allow-Originin response header.Enable subapp
embci.apps.systemto shutdown/reboot/update the EmBCI device. Useembedded_onlydecorator to avoid dangerous command on PC.
0.2.2 [2019-09-29]¶
[logging] Use single character in logging level output. Support colorful output in shell/terminal.
[IO] Add
save_chunk(append=False)andsave_trial.[Recorder] Subapp recorder well tested. Check
embci.apps.recorder.__doc__for more detail about configuration and usage.
0.2.1 [2019-09-15]¶
Add
from __future__ import absolute_import, division, print_functionto each module.Use
//for floor division and/for float division (immigrating to py3).[WebUI] HTML snippets loader support keywords arguments by setting attributes like
data-foo="bar". Add webui debug application runner and pick random port.[Drivers] Add package
embci.drivers. Moveembci.utils.xxx_apitoembci.drivers.xxxas hardware APIs.[Utils] Add
get_free_portto resolve an avaiable port number. Support event sending and receiving by EventIO system implemented atembci.utils._event[Speller] Subapp SSVEP mind-typing constructed. Will be tested soon.
[Recorder] Add snippet
div#recorderinrecorder-box.html.
0.2.0 [2019-09-01]¶
[Apps] Project
DBSis removed from EmBCI and will be maintained by a business company.[Apps] Remove
DisplaySPIand add subappDisplayWeb.[Utils] Move
minimizeas standalone function. Logger stack info py 2 & 3 compatiable. Addvalidate_filename&Namespace.[Utils] Add
obfuscationto distribute python code in dynamic linked library format.[JSONRPC] Add
NoExisttype and support for multiple instance registration.[WebUI] Add package
Numjs. RenamexxxDIRtoDIR_xxxand__dir__to__basedir__. Support refresh/rescan subapps at runtime.[WebUI] Support preventing subapps from loading by command line arguments
python -m embci.webui --exclude app1 app2[Tools] Move
embci_tooltoembci.apps.system. Add template_source.py for python source files.[Setup.py] Load requirements.txt from absolute path.
[configs] Load from configuration files when imported and export a dict at
embci.configs.settings. SetENSURE_DIR_EXIST = Truein conf files if you want to create necessary directories.[io] Readers now get new valid name automatically by searching pidfiles. Add
hook_beforeandhook_after.
0.1.6 [2019-07-04]¶
[WebUI] Add supports for HTML snippets & navbar.html & bottom.html.
[WebUI] Resolve battery level from ESP32 and render it to navbar.
[ESP32] Support set/get Channel/DataSource/Gain/Impedance/SampleRate/Bias.
[ESP32] Add second order IIR realtime filter and use looply-level-detection instead of interrupt.
[Apps] Add subapp
auth.[DBS] Hide DBS.utils source code with
CythonandGCC. Addlibdbs_<py>_<arch>.so.[DBS] New UI composed of 8 channels realtime & single channel frequency display
[Record] Integrate recording interface to DBS HTML.
[Streaming] Add function
send_message_streamingfor communicating from other process.
0.1.5 [2019-5-01]¶
[DBS] Hide source code of data-processing algorithms with pre-compiled binary files.
[Apps] Sub-app
WiFiimplemented as a web-based client of freedesktop NetworkManager, working on wireless cardAP6212at STA+AP mode.[Apps] Support updating OTA (On-The-Air) by simple
git pull.[WebUI] Upgrade
jQueryto v3.4.1 andBootstrapto v4.3.[WebUI] Immegrate from
glyphicontofont-awesome.
0.1.4 [2019-3-23]¶
[Doc] Add basic documentations.
[Apps] Rename and move lots of DisplaySPI datafiles.
[Apps] Add project
Speller.[EmBCI] Add
PytestRunnerand functestin each module for runtime testing.[ESP32] New feature: turn into sleep mode to reduce power consumption.
0.1.3 [2019-3-11]¶
[DBS] Change from
ESP32SPIReadertoPylslReaderin embci.apps.DBS.[DBS] Save userinfo as cache to client(browser) for accessing report PDF.
[Apps] Make data-streaming an individual task @
embci.apps.streaming.[Utils] Change
find_wifi_hotspotsoutput to type ofAttributeDict.[WebUI] Move GeventWebsocketServer
logtologgerto log requests properly.