Commit graph

852 commits

Author SHA1 Message Date
bunnie
3cec151ffd fix prediction order 2021-03-09 02:47:25 +08:00
bunnie
7f7f30f23d make shell predictions only on newlines, for now 2021-03-09 02:33:10 +08:00
bunnie
71e45c4bf8 refactor redraw to be on-demand
seems to make the performance much better
2021-03-09 02:32:36 +08:00
bunnie
4f295eea0f update cargo.lock 2021-03-09 02:25:08 +08:00
bunnie
7d1fb5a31b ellipsis support and fixing prediction redraw bugs 2021-03-09 02:24:45 +08:00
bunnie
a4a96c9c56 add ellpsis support to textview 2021-03-09 02:23:49 +08:00
bunnie
8b85d52587 bump to latest blitstr 2021-03-09 02:22:58 +08:00
bunnie
c9e82c427e fix a bunch of minor bugs 2021-03-08 05:12:26 +08:00
bunnie
5dc537df05 fold in the predictor 2021-03-08 04:28:17 +08:00
bunnie
d5d8e0ee86 TIL you can't return variable-length strings in an rkyv
rkyv does some optimization to not send all the data in
a string if you don't use it up.

xous assumes the same "pos" argument on the return type

thus a variable length string doesn't work as a return type
(you can send it, because you can specify a "pos" on the send
side).

fortunately, the application for the variable-length string
was getting predictions out of the predictor, and a short (31 element)
fixed-length array with a side companion of a len variable
should be more than sufficient for completion suggestions.
2021-03-08 04:25:58 +08:00
bunnie
8a8c1e6a66 foundations for predictive text display 2021-03-08 00:57:50 +08:00
bunnie
33df36f841 make input text preview area grow dynamically as text gets too long 2021-03-07 18:58:48 +08:00
bunnie
f495b40fd8 insertion/deletion of text with back/forward buttons working now 2021-03-07 03:43:46 +08:00
bunnie
49d6018e5e new feature: backspace (*gasp* iknowrite?)
harder than it looks with utf8 and variable-width characters
2021-03-06 19:37:22 +08:00
bunnie
547dbbfe6b fix carriage return emulation and handling 2021-03-06 03:26:13 +08:00
bunnie
161b1943eb fix push() function on string
didn't hnadle variable length encoding of the utf8 correctly
2021-03-06 02:55:14 +08:00
bunnie
cb0686803e split out the background clear/redraw from the core loop 2021-03-06 02:45:47 +08:00
bunnie
00ada3ac3c clean up a debug message 2021-03-06 01:12:24 +08:00
bunnie
0cc1f9f5fb it doesn't look that impressive, but there's a lot of plumbing now. 2021-03-06 01:10:18 +08:00
bunnie
5d1fba4015 fix intersects algorithm
"duh"
2021-03-05 17:15:14 +08:00
bunnie
470abb3e7d fix rectangle intersection missing case 2021-03-05 00:56:22 +08:00
bunnie
5ea2a21d2d tighten up APIs, implement a very 0th-order input loop
this is where the debugging begins of the beginning of
the API. it's like finally finding the start of a roll
of clear tape.
2021-03-04 19:02:56 +08:00
bunnie
fff7c024ad prep to migrate API in git 2021-03-04 18:13:50 +08:00
bunnie
aa8c0e5792 a bit more deck shuffling on the APIs
feels a lot cleaner now.
2021-03-04 16:02:42 +08:00
bunnie
76684c89fc refactor the traits to have a default implementation
probably should be the *only* implementation because these are
only concerned with IPC calls that really require changes in
two separate crates, but I feel unconfident enough about the API
that for now I want the flexibility to experiment with non-default
APIs until I'm ready to freeze things.
2021-03-04 04:48:22 +08:00
bunnie
f565fdaf6f refactor API into a separate crate with traits 2021-03-04 04:33:20 +08:00
bunnie
92ca22c38c refactor IME plugin API into a common crate
This will allow other APIs to just include the API crate
to define all the gazintas and gozoutas.
2021-03-04 03:14:26 +08:00
bunnie
2b768e9b86 fix warnings in initial API 2021-03-03 23:27:30 +08:00
bunnie
e62256b3df clean up hosted mode warnings 2021-03-03 22:50:46 +08:00
bunnie
313f12acbb clean up warnings 2021-03-03 22:38:20 +08:00
bunnie
50b521266f Merge remote-tracking branch 'origin/hardware' into hardware 2021-03-03 22:09:57 +08:00
bunnie
b04e57f5a4 prepare for a merg 2021-03-03 22:09:45 +08:00
Sean Cross
0c6cb9135e services: add kernel-test
This was used to demonstrate the message passing bug.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-03 21:22:26 +08:00
Sean Cross
83da8c4e7d syscall: remove commented-out pid code
This isn't used.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-03 21:20:21 +08:00
Sean Cross
f5a678e36f kernel: services: remove extra debugging prints
Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-03 21:20:03 +08:00
Sean Cross
8c599a3080 kernel: mem: remove unused debugging prints
Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-03 21:19:45 +08:00
Sean Cross
db8e814cb7 kernel: services: fix sending messages within a process
This fixes the case where there is only one process active and it tries
to send messages to itself, or it yields to itself.

This closes issue #42.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-03 21:18:58 +08:00
Sean Cross
cc4c0f3c58 kernel: services: implement Debug for ProcessState
This gives us prettier and more useful displays for ProcessState.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-03 21:18:01 +08:00
Sean Cross
5a0533d6bc xous: definitions: add Display to MemoryType
Useful in debugging and error messages.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-03 21:16:45 +08:00
Sean Cross
506bd381b2 kernel: debug: don't print out if not initialized
This allows us to use println early on even before it's initialized,
which will allow us to ignore prints to an uninitialized port.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-03 21:13:03 +08:00
Sean Cross
93d295b93b kernel: riscv: fix memory reuse bug
Memory that was marked as reserved-but-not-in-use could get reallocated.
Practically speaking, this caused threads to share stack, which makes
things spooky.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-03 21:12:09 +08:00
bunnie
8f809c2a51 start layering in the IME front end and prediction APIs 2021-03-03 14:53:33 +08:00
bunnie
9804290854 add some primers to the status loop
this helps the screen-up time appear faster, so we aren't
waiting for a full poll interval for new data to appear before
the system apears to be powered on
2021-03-02 21:57:52 +08:00
bunnie
61b609d705 Merge branch 'master' of github.com:betrusted-io/xous-core 2021-03-02 21:51:59 +08:00
bunnie
0889e83401 Merge remote-tracking branch 'betrusted/hardware' 2021-03-02 21:51:41 +08:00
bunnie
9a2bce24cb clean up timing and cosmetic issues on status updates 2021-03-02 21:47:23 +08:00
bunnie
2d59adbe0e fix thread scheduling bug
the code originally would pick the same thread over and over again
this fix starts the thread search at one plus the current thread
wrapping around to one plus the current thread, so we always try
to pick a new thread compared to the current one, instead of
generally picking the same thread most of the time.
2021-03-02 21:46:14 +08:00
bunnie
4b0f50293f another intermediate commit 2021-03-02 21:15:40 +08:00
bunnie
96a19baa8d state before refactor of status to own process 2021-03-02 19:25:41 +08:00
bunnie
c9d7b1c504 add parsing for the <constants> extensions most recently added into Litex 2021-03-02 02:05:34 +08:00