Commit graph

280 commits

Author SHA1 Message Date
Christoph Heiss
e3f6d56d02 Remove superfluous whitespaces at the end of lines 2017-03-22 19:38:49 +01:00
Philip Trauner
526695e209 Added output streaming
stdout as well as stderr can now be subscribed to. ANSI control char filtering is still wip
2017-03-15 20:52:07 +01:00
Philip Trauner
1a918b5843 Added selective debug suppression
"pipe" can get quite noisy (main reason was recursion because of output)
2017-03-15 20:50:16 +01:00
Philip Trauner
3061d5569b Removed unnecessary import 2017-03-15 20:49:59 +01:00
Philip Trauner
ae81d646f6 Added output dummy pipe 2017-03-15 20:49:11 +01:00
Philip Trauner
a8ebee04c1 Move to Meh, create Harrogate user on first start, initial binary notifications 2017-03-03 20:25:29 +01:00
Philip Trauner
868505126e Updated fl0w image url 2017-03-02 22:34:22 +01:00
Philip Trauner
d147a81499 Serve dashb0ard and static content on startup 2017-03-02 22:24:39 +01:00
Philip Trauner
65d2715ea5 Temporarily added dashb1ard as a submodule 2017-03-02 22:23:53 +01:00
Philip Trauner
7c7412f88c Fixed sublime settings 2017-03-02 20:15:04 +01:00
Philip Trauner
dfdbf0634d Removed unused imports, moved to Meh, removed Broadcast, ...
Fixed behem0th path, disabled compile for now
2017-03-02 20:13:48 +01:00
Philip Trauner
f8112743b7 Removed Broadcast because it wasn't used anywhere
Piping got rid of broadcasts. That's good.
2017-03-02 20:12:56 +01:00
Philip Trauner
7f74a6b56f Replaced Config with Meh (better in every regard, basically)
Meh is a good config "engine". Config isn't.
2017-03-02 20:12:05 +01:00
Philip Trauner
2b97f0313f Added bottle.py to serve dashb0ard 2017-03-02 20:11:25 +01:00
Christoph Heiss
5467112a86 Update behem0th 2017-03-02 17:20:39 +01:00
Christoph Heiss
25f900e33c Sync correct path on Wallabys 2017-03-02 10:01:41 +01:00
Christoph Heiss
7f067f40e9 Initial integration of behem0th. 2017-03-01 21:56:29 +01:00
Christoph Heiss
5188457be5 Add behem0th as submodule 2017-03-01 21:53:34 +01:00
Christoph Heiss
048042d1b1 Fix appending of the 'Shared'-folder to the python search path.
It assumed that 'Shared' was in the current working directory, which
may not be always true.
2017-03-01 21:48:13 +01:00
Philip Trauner
3912d9f43f Constants, refactoring, listen to feedback, fixed deadlock, revived address input 2017-02-01 22:19:25 +01:00
Philip Trauner
74a7737d05 Added error feedback for run_program and stop_programs
Previously the client had no way of knowing if the controller actually executed an action.
Now it does.
2017-02-01 22:17:59 +01:00
Philip Trauner
278caced99 Target now an object, locking for sensor readouts, re-organized controller menu, ...
Added shutdown and reboot actions, added keyboard shortcut for stop_programs, ...
Implemented buffered std_stream output for multiple controllers, sensor readout toggle now toggle view instead of window, ...

Sensor phantoms now deactivated themselves when they aren't in focus
2017-01-23 09:36:47 +01:00
Philip Trauner
f9ccbd9ae2 Added sensor locking, stop_programs, shutdown, reboot, made run_program async
Sensor locking: This fixes the iteration errors that occured during polling in case of subscrive/unsubscribe events.
Pipes for shutdown, reboot.
Pipe to stop all botball programs.

run_program blocked all further communication during program runtime, fixed now.
2017-01-23 09:20:59 +01:00
Philip Trauner
e9f34ae3b0 Added stop program shortcut 2017-01-23 09:20:26 +01:00
Philip Trauner
8afed76d15 Added stop_programs, shutdown and reboot pipes 2017-01-23 09:11:29 +01:00
Philip Trauner
d875795f27 Rewrote sensor readouts, general refactor, added identification action
Sensor readouts are now displayed as soon as new data is avaliable (no useless fetcher thread anymore).
Invalid sensor ports are now marked.

Keyboard shortcuts now validate state before running the action.

Added identification action.
2017-01-20 09:24:06 +01:00
Philip Trauner
dfb1652dc8 Fixed syntax error ಠ_ಠ 2017-01-18 13:06:51 +01:00
Philip Trauner
2d0401506c Fixed ListPrograms, initial program execution support
ListPrograms had a special case for dev-envs that listed /bin instead of the supplied program folder.
Initial run_program implementation, stopping does not work yet.
2017-01-11 22:31:16 +01:00
Philip Trauner
8bf83b655a Initial inline sensor readout support, initial program execution
Inline sensor readouts work, but the code is ugly and it wastes resources.

Initial program execution with keybinding is also included.
2017-01-11 22:28:49 +01:00
Philip Trauner
da4fc67b8b Removed std_stream, now a client-side pipe 2017-01-11 22:27:52 +01:00
Philip Trauner
2970f4cb2d Added keybindings for program execution and sensor readouts 2017-01-11 22:25:56 +01:00
Philip Trauner
dc73e3ee64 Removed watchdog 2017-01-11 22:25:07 +01:00
Philip Trauner
625902a763 Fixed program list
Program list always listed the programs of the last avaliable Wallaby.
2016-12-20 22:41:32 +01:00
Philip Trauner
0c5f942a21 Hostname changer error handling, WhoAmI on startup 2016-12-20 22:39:37 +01:00
Philip Trauner
9ffb1dcb86 Added "whoami" route
WhoAmI provides the unique server-side peer id and the os-username to a client
2016-12-20 22:38:34 +01:00
Philip Trauner
2c2633eebd Utilised peer_unavaliable 2016-12-18 23:25:53 +01:00
Philip Trauner
597de36476 Migrated to subscription based peers, added support for program listing
Still some bugs to be fixed related to controller actions.
2016-12-18 23:24:25 +01:00
Philip Trauner
8995fb8e6f Fixed back entries
Back entries were crashing the Sublime API when subtitles were disabled.
They also didn't work properly with submenues. Fixed now of course :)
2016-12-18 23:22:09 +01:00
Philip Trauner
05384b2abb Sped up, removed time, more colors! 2016-12-18 23:21:05 +01:00
Philip Trauner
0934f6fe69 Routes aren't an indexed_dict anymore, piping error handling, piping on by default
Routes are just regular dicts now, which means that their ids are strings and they are bound to the key "routes".
This allows the next feature to work:

Error reporting on disconnected peers.
Define a peer_unavaliable method in your handler and you will be notified when your pipe call has failed due to an unavaliable peer.
Handled in the "meta" route.

Piping has become such an integral feature to Highway that it doesn't make sense to disable it anymore.
This is why the argument is missing in the constructor from now on.
2016-12-18 23:15:31 +01:00
Philip Trauner
d3ac8cf64c Removed piping from parameters, peers now subscription based
Peers can now be subscribed to. Simply getting the current state is still supported.
2016-12-18 23:14:08 +01:00
Philip Trauner
2ca28cba4f Added list_programs
list_programs is a route that can be used to list all runnable programs on the controller. How convenient.
2016-12-16 15:52:53 +01:00
Philip Trauner
260fd121f9 Added dummy pipe for list_programs 2016-12-16 15:51:26 +01:00
Philip Trauner
ef51b29ecb Improved sensor logic, added identify pipe
poll_rate can now be modified by clients
unsubscribe_all call added for disconnecting clients ("unsubscribe")
Improved logic that determines which sensors need to be queried

Identify plays a sound when it receives data
2016-12-07 23:37:12 +01:00
Philip Trauner
7748c30f6a Added line number 2016-12-07 23:36:52 +01:00
Philip Trauner
4eae2567ad Added logic to close routes
Not called on close() yet because of server/client inconsistencies
2016-12-07 23:35:56 +01:00
Philip Trauner
c43ed25410 Corrected debug levels, added identify dummy pipe 2016-12-07 23:34:37 +01:00
Philip Trauner
b7721d89a4 Added play_sound 2016-12-07 23:33:26 +01:00
Philip Trauner
5a8e6b1bbf Added Wallaby identification sound 2016-12-07 20:55:06 +01:00
Philip Trauner
5d1aba5e55 Sensor route initial working version, less ugly code 2016-12-07 19:14:02 +01:00