Commit graph

2370 commits

Author SHA1 Message Date
bunnie
7961dbddee word wrapping take 2 - this time with ~~tests~~ 2022-01-21 00:34:12 +08:00
bunnie
356d95a266 yet another refactor of the word wrapping
Really clear up the roles and structures of word wrapping.

Significantly, we have now figured out that the word wrapper
should be the word wrapper, and that the text bounds should
be computed by a text bounds computation.

Conflating flexible text bounds with word wrapping makes
the math really hard.

So, the word wrapper always works with a bounding area starting
at 0,0, and will wrap until it hits a Point designated as its
absolute max bounds.

The returned typeset block is referenced to 0,0, and then it
is shifted to the correct location by the rendering function.

This externalizes the computation of the final location plus
the rendering bounds to the outer functions that need to care
about this, thus simplifying the word wrapper significantly.
2022-01-20 18:30:13 +08:00
bunnie
083ef6a804 it's not totally lolfailing but needs a lot of cleanup still 2022-01-19 03:50:40 +08:00
bunnie
a46c07b4be initial attempt to integrate blitstr2
this just grafts in the new crate, while leaving the old crate
unscathed. once this is somewhat functional we'll excise the old
crate and reformat the loader for the "hard binary" image of
the fonts.
2022-01-19 03:29:53 +08:00
bunnie
a4a7f4af69 fix hosted build 2022-01-18 00:32:12 +08:00
bunnie
797e5bd7c4 follow-on set of commits related to the previous revert 2022-01-17 23:52:58 +08:00
bunnie
0d4ab0eb47 Revert "loader: move loader into main workspace"
This reverts commit 0d72454776.
2022-01-17 22:55:39 +08:00
bunnie
18130cddae fix suspend/resume regression
had to pin down the correct order of events to avoid lockups on suspend
2022-01-17 22:46:18 +08:00
bunnie
ac873e16ee comment to remind myself on how to re-enable policy menus 2022-01-17 04:37:33 +08:00
bunnie
3c87091565 cleanup the policy token straggler 2022-01-17 04:36:40 +08:00
bunnie
11162860a8 suppress codegen for unused policy menu (save RAM/disk space) 2022-01-17 04:26:49 +08:00
bunnie
d719360a4d fix a minor UX glitch 2022-01-17 03:36:28 +08:00
bunnie
f10827c037 clean up rootkeys to use the new modals dialog box facility 2022-01-17 03:30:09 +08:00
bunnie
2c711036a9 add a submenu for PDDB operations 2022-01-17 01:59:38 +08:00
bunnie
80bf673731 massage the loader to work
however -- it is now very slow
2022-01-17 01:10:41 +08:00
bunnie
e8e389552f add map generation to the loaders 2022-01-17 00:04:03 +08:00
bunnie
63a54f801b Merge branch 'loader-monorepo' of github.com:betrusted-io/xous-core into bunnie-dev 2022-01-16 18:28:35 +08:00
bunnie
cf06d68cf7 add the pddb menu into the source tree 2022-01-16 18:27:43 +08:00
bunnie
991f48dc1f macro-ize the emoji menu 2022-01-16 18:27:26 +08:00
bunnie
b7b0bdc852 convert menu infrastructure to the "menumatic" API call
hopefully this makes menus a bit easier
2022-01-16 17:30:32 +08:00
bunnie
ff2d68b392 clean up menu to use std primitives 2022-01-16 02:04:58 +08:00
bunnie
dd4042f315 cleanup excess space in Tokens 2022-01-15 17:04:49 +08:00
bunnie
d1eff9e052 ah, that's how you init an Option<String> array... 2022-01-15 17:04:40 +08:00
bunnie
b77b38552d reduce pre-allocs in ime-frontend 2022-01-15 17:00:43 +08:00
bunnie
761d71d974 clean up some over-allocation in shellchat 2022-01-15 16:40:52 +08:00
bunnie
700975ec63 disallow sleep while charging 2022-01-15 16:31:21 +08:00
bunnie
77f4356620 Sync the EC to the SOC on boot
Always reset the EC on boot. If we have a cold-boot situation,
it's hard to know what state the EC is in versus our stack;
a hard reset on the EC guarantees we at least always start from
the same point.

Note that on suspend/resume, there is no reset - the EC continues
trundling onwards, but the system was designed for this.
2022-01-15 15:43:03 +08:00
bunnie
fbd0bc542f detect when the WF200 goes catatonic and reset it
This is not the fix I was hoping for for connection stability,
but unfortunately this is where we are at.

The problem is that at some point the WF200 throws a "host interface
error"; but the error codes show no specific error. After throwing
this error, it can respond to some basic commands (such as the one
asking what the current status and error codes are), but higher level
APIs seem to time out. There's no command to bring the WF200 stack
to a sane state (like a warm reset or buffer flush) as far as I
can see, so, the solution is to detect the issue and send a reset
to the WF200. This keeps the link up in the long term, but
you will experience drop-outs about once every 2-3 hours for
about 20 seconds while the system detects and fixes the problem.

I think for this one, more data will be needed from customer units
to see if this could be just a local network issue with my config
or a more pervasive problem.
2022-01-15 15:13:51 +08:00
Sean Cross
0d72454776 loader: move loader into main workspace
Add the loader into the main workspace, removing it from its own
sub-workspace. We can do this now that we can specify the linker script
in `build.rs`.

This improves IDE support, and should shrink disk storage requirements.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-01-14 17:32:04 +08:00
Sean Cross
ea8aa0befb cargo: enable incremental builds
This should speed up rapid development.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-01-14 15:37:13 +08:00
Sean Cross
7cd86b4fcf Merge branch 'main' of github.com:betrusted-io/xous-core into kernel-monorepo
Signed-off-by: Sean Cross <sean@xobs.io>
2022-01-14 15:33:10 +08:00
Sean Cross
35af35381a kernel: integrate kernel into main monorepo
This moves the kernel into the main monorepo, allowing it to share
packages with the rest of the system. This change will allow us to
reduce the number of rebuilds that take place, as well as reducing disk
usage.

Note that the loader is still an indepenent project, and the integration
of that into the monorepo is pending.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-01-14 15:31:36 +08:00
bunnie
c7081ea944 Merge branch 'bunnie-dev' into main 2022-01-14 15:28:47 +08:00
bunnie
4f9374e860 add enhanced debugging to the COM for wf200 2022-01-14 15:27:24 +08:00
bunnie
a4bb889a5d update wlan status to a binary version with more detailed output 2022-01-14 02:23:57 +08:00
bunnie
0ba8650731 refactor SSID reporting
later on we'll have to add some UX around this but for now
the command line stuff is a bit nicer.
2022-01-13 21:12:14 +08:00
bunnie
c2bd695167 fix uniformity issue in remapping random numbers for deface op 2022-01-12 14:53:00 +08:00
bunnie
69eefb3e64 add a reboot command to the main menu 2022-01-12 14:00:31 +08:00
bunnie
898fd42bc5 Merge branch 'bunnie-dev' into main 2022-01-12 02:33:43 +08:00
bunnie
f53f86077d add a blank check step before issuing a sector erase
this should significantly speed up the initial on-boarding
for first-time users
2022-01-12 02:33:09 +08:00
bunnie
837b2d5e9b Merge branch 'bunnie-dev' into main 2022-01-12 02:05:07 +08:00
bunnie
a8d7c7e9e2 cleann up the oqc test 2022-01-12 02:01:33 +08:00
bunnie
c43e31c500 fixing some bugs on oqc test.
there's an issue with the modals that has to be fixed next...
2022-01-11 22:34:45 +08:00
bunnie
5c32c9db25 Merge branch 'bunnie-dev' into main 2022-01-11 18:29:35 +08:00
bunnie
f464e34eef debug the test oqc integration 2022-01-11 18:29:12 +08:00
bunnie
cbe7c0ce83 remove the oqc_test separate server 2022-01-11 17:26:29 +08:00
bunnie
f626374b36 reduce resource usage of the oqc_test
- code is merged into shellchat so there's less alignment overhead
and some library reuse
- server is not spawned until it's needed, so the RAM load is less
2022-01-11 17:19:13 +08:00
bunnie
9a86685e8b remove the now defunct RTC service crate 2022-01-11 16:21:04 +08:00
bunnie
b161b021fe stop pump updates while we're doing the RTC setting
The RTC set dialog box is blocking, the pump will eventually
lock up the system if we don't stop it.

nb: ~200k saved in RAM with the refactor
2022-01-11 16:19:31 +08:00
bunnie
4f638bb49a massive refactor to eliminate the RTC crate
Saves a bit on resources and the RTC crate doesn't need
to be stand-alone now that the modals crate is a thing;
we are able to split the UX routine to manage the RTC out
of the code that actually manages the hardware.

The hardware code ended up in LLIO, and the UX ended up in the status
routine.
2022-01-11 15:45:20 +08:00