Commit Graph

26 Commits

Author SHA1 Message Date
Victor Nakoryakov
87cca27040 test(xod-arduino): update fixtures 2018-01-18 15:35:00 +03:00
Victor Nakoryakov
d541a30b69 test(workspace): update test fixtures 2017-10-27 14:48:57 +03:00
Evgeny Kochetkov
df70f0a5b5 fix(xod-project): fix values bound to inputs leaking to outputs in some cases
Closes #828
2017-10-26 14:08:26 +03:00
Evgeny Kochetkov
ff9d3c88a2 feat(xod-client, xod-arduino): implement defer-* nodes to allow feedback loops
Closes #733
2017-10-11 16:16:53 +03:00
Kirill Shumilov
32aef8fe7e fix(xod-arduino): set a magic value into delay in setup to make it works properly on all boards 2017-10-04 13:19:40 +03:00
Kirill Shumilov
44577c03a4 feat(xod-arduino-deploy, xod-deploy, xod-client, xod-client-electron): add interactive debug session with watch nodes, optimized log and etc (+31 squashed commits)
Squashed commits:
[ca50efb] refactor(xod-client, xod-arduino-deploy, xod-client-electron): handle lost connection (unplug device), make some small fixes
[8c9fbce] tweak(xod-client-electron): add retries to find device after upload (3 times with 300ms delay)
[8c77fce] fix(xod-client-electron): fix adding an error message into debugger log
[c0668c1] refactor(xod-client, xod-client-electron): add throttling to send data readed from serial port and updating log by list of messages instead of appending each message
[9528c6e] refactor(xod-arduino, xod-client, xod-client-electron): make fixes in accordance with comments to PR
[117996b] refactor(xod-client): simplified selecting renderer by message type in the Log container
[512b74f] refactor(xod-arduino): revert XOD_TRACE functions to use only for debug runtime, watch-node uses DEBUG_SERIAL, updated fixtures and etc
[7b92c98] chore(xod-client): remove dispatching no longer existing action (setMode)
[cb38db1] refactor(xod-arduino): split transpiling into two functions: transformProject and transpile, add function to get nodeIdsMap from transformed project, use last one instead of pushing it through a long pipes of calls
[01c3f2e] tweak(xod-client): show xod message delimiter in the log
[360f216] chore(xod-client): change caption of button "Stop debug session" -> "Stop debug"
[531c280] style(xod-client): change colors of watch nodes, remove ellipsis from watch node values, change color of error and success message borders
[bb3c5df] fix(xod-client): fix panning mode to show nodeValues in debug session interactively
[7fac400] tweak(xod-client): sync offsets of patches between tabs (if user pans debug tab -> patch tab panned too, and vice versa)
[086d863] tweak(xod-client): stop debug session when debugger tab was closed
[eccc14a] tweak(xod-client): pass offsets between patchTab and debuggerTab, reopen original patch on debugger tab close
[83c3090] test(xod-client-electron): fix functional test and remove fixture (take it from workspace)
[f87fb2d] tweak(xod-client): tweak closing tab to prevent switching to another tab if closed another one
[c17cc0f] refactor(xod-client): remove editor modes from redux store, make modes depends on tab type
[92ce1df] refactor(xod-client): add tab types, add debug tab type and styles, handle opening and closing this tab on debug start/stop
[09af9af] refactor(xod-client): refactored tabs to contain an unique id and patchPath, instead of storing two entities in one property
[31991f7] refactor(xod-client): optimize rendering logs, add Debugger into storybook, fix one possible bug in the reducer
[7355928] refactor(xod-client): move log of Debugger into a separate container
[30d36c5] refactor(xod-client): optimize debugger selectors
[9615450] feat(xod-client): pass values of watch nodes into view
[34b40d0] refactor(xod-client): move rendering of node bodies and some parts into small components, add WidgetNodeBody component
[18f4e75] feat(xod-client): add new editor mode: debugging
[6c6d9bd] feat(xod-arduino, xod-client): store map of nodeIds to topologically sorted index of nodes in the redux state
[492caea] feat(xod-arduino, xod-project): remove debug nodes on transpilation without debug mode, update fixtures and tests
[63a8083] refactor(xod-arduino, xod-clients): update debug flags in runtime, allow to switch flags in the transpiler (using options object) and integrate it into clients
[01cfd83] feat(xod-arduino, workspace): implement watch node and change debug flags in the runtime and configuration template
2017-10-03 14:26:28 +03:00
Victor Nakoryakov
2f9fe3f94b fix(workspace,rt/c++): erradicate a repeating typo 2017-09-28 19:47:24 +03:00
Kirill Shumilov
9eb9f9053a feat(xod-client, xod-client-electron): add "debug session" feature and debugger pane 2017-09-21 20:35:19 +03:00
Victor Nakoryakov
27b07451a5 test(rt/c++): update test fixtures 2017-08-31 18:47:28 +03:00
Victor Nakoryakov
3c172e44ea fix(rt/c++): provide dtostrf function for all platforms 2017-08-30 23:10:35 +03:00
Victor Nakoryakov
981902fff6 optimize(xod-arduino): toposort nodes in-place 2017-08-30 01:00:52 +03:00
Victor Nakoryakov
7c2304a9ff test(xod-arduino): update test fixtures 2017-08-24 17:48:25 +03:00
Evgeny Kochetkov
267af7c719 fix(xod-arduino): do not mark pulses as dirty on boot
Fixes #699
2017-08-02 19:10:02 +03:00
Victor Nakoryakov
bada494260 fix(rt/c++): missing entries of refactoring 6d20c35
Some Inputs::XXX and Outputs::YYY were not renamed to input_XXX and
output_YYY
2017-07-31 13:51:11 +03:00
Victor Nakoryakov
ca84690248 refactor(rt/c++): rename root namespace (_program → xod) 2017-07-28 12:18:31 +03:00
Victor Nakoryakov
43cfffc919 refactor(rt/c++): introduce Context ctx abstraction layer
Change standard signature of native nodes from

void evaluate(NodeId nid)

to

void evaluate(Context ctx)

Currently, this is a pure fiction. But it would allow to introduce
required abstraction layer for lists lifting in which case
Context ≠ NodeId.
2017-07-28 12:18:31 +03:00
Victor Nakoryakov
6d20c35beb fix(rt/c++): workaround pin names and global macros collision
Closes #650
2017-07-28 12:18:31 +03:00
Victor Nakoryakov
54b138dc01 feat(rt/c++): hide State* arg of evaluate
The minority of nodes that deal with internal state now should call
`getState` to access their state. On other end all stateless nodes don’t
have to carry `state` argument in their `evaluate` signature.

Closes #565
2017-07-28 12:18:31 +03:00
Evgeny Kochetkov
d77321cded chore(workspace): update default projects 2017-07-12 14:41:17 +03:00
Evgeny Kochetkov
1e643ea741 feat(xod-project): support binding input pulses to ‘ON_BOOT’ and ‘CONTINUOUSLY’ 2017-07-12 10:59:41 +03:00
Evgeny Kochetkov
95148b468a refactor(xod-arduino): mark all nodes as dirty on start 2017-07-11 20:05:41 +03:00
Evgeny Kochetkov
5dddb5a917 chore(workspace): update fixtures for included projects 2017-07-07 15:55:17 +03:00
Victor Nakoryakov
5e20d63206 refactor(workspace): unify order of pins in stdlib 2017-06-09 16:33:18 +03:00
Victor Nakoryakov
ae9090d956 test(xod-arduino): update transpiler test fixtures 2017-06-09 16:33:18 +03:00
Victor Nakoryakov
89d880482c test(workspace): update test fixtures for arduino 2017-06-06 12:27:11 +03:00
Victor Nakoryakov
5955fb8489 test(xod-arduino): add few integration tests 2017-06-01 18:11:28 +03:00