Commit graph

610 commits

Author SHA1 Message Date
bunnie
2e768dd19e Merge branch 'main' of github.com:betrusted-io/xous-core into pddb-bulk 2022-10-25 23:15:51 +08:00
bunnie
0ee9ec1d80 bump version numbers for crate publication 2022-10-25 22:38:58 +08:00
Jean-Pierre De Jesus DIAZ
f5176ea380
Remove xous-rs unused features
The rationale is that xous-rs should have only architecture
specific code, e.g.: riscv, arm, x86, etc. To make other
crates that depend on it not specify the features.

This could be useful when using xous-rs with `libstd`
for example.

Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2022-10-25 13:29:15 +02:00
bunnie
9e39c432bd Merge branch 'main' into pddb-bulk 2022-10-25 17:41:58 +08:00
bunnie
f5289be6fe experiment with 'std' in rkyv for pddb crate 2022-10-25 17:41:12 +08:00
bunnie
30ea893c74
Merge branch 'main' into xous-rs-os-selection 2022-10-25 17:28:33 +08:00
bunnie
d331d405ee bump version numbers for publication 2022-10-25 17:23:40 +08:00
bunnie
67fc21fbdd harmonize hosted mode selection, but retain an explicit hosted flag
In general, hosted mode is assumed "by default" if the target
is not Xous. This allows packages to be built cleanly on command
lines that don't know to pass a --feature flag to specify a target.

However, an explicit "hosted" flag is still retained so that we
can confirm the build system intent. This saves us from the failure
mode that we thought we were building for target A, but accidentally
ommitted the flag, and instead we've been silently building for
"hosted" mode without any warning. The main consumer of the "hosted"
flag is now just the build.rs script inside of the utralib.
2022-10-25 17:21:02 +08:00
bunnie
3171629131 add PDDB performance profiling to shellchat 2022-10-23 23:15:48 +08:00
bunnie
c127f00dc1 add a no-codec feature for DVT builds
specifying this turns off all dependencies that rely on the
codec, which is a different device on DVT.
2022-10-20 22:35:17 +08:00
bunnie
805a7d528c flip back to using remote references 2022-10-20 16:30:06 +08:00
bunnie
8e05925cfa somehow the transition to local paths got missed in the merge 2022-10-18 00:39:01 +08:00
bunnie
0584ad2f2c switch to local paths to see if this helps the build 2022-10-18 00:26:56 +08:00
bunnie
4d1da235a9 bump revs that depend on susres to absorb changes 2022-10-17 05:11:09 +08:00
bunnie
6dacf18213 replace remaining final few instances of com poweroff with susres poweroff 2022-10-17 05:06:39 +08:00
bunnie
dc2c79df4d deprecate reboot function in test routines 2022-10-17 05:06:05 +08:00
bunnie
4b368d71db bump versions of crates 2022-10-15 01:31:54 +08:00
bunnie
63a87ca1bc bump all the versions 2022-10-14 16:54:43 +08:00
bunnie
61bb02ab99 add some notes to remind myself about the ring-xous patch 2022-10-14 16:24:30 +08:00
bunnie
ff30131f43 absorb more fixes into the kernel 2022-10-13 04:08:56 +08:00
bunnie
3503965f98 bump versions to absorb xous-rs changes 2022-10-13 03:41:16 +08:00
bunnie
f8a2ea51bb remove rkyv warnings from xous-api-names 2022-10-10 03:16:40 +08:00
bunnie
02b80425f5 bump xous-rs to absorb change in language specification 2022-10-10 03:07:44 +08:00
bunnie
13217fa402 fix hosted mode warning 2022-10-09 18:08:00 +08:00
bunnie
62af36560b checks for cache coherence issues
Most of the changes introduced in this commit were rolled back,
but, there is now a test facility that's hanging out for the PDDB
to help with future debug efforts.

The patch was motivated by a problem observed in FSCB consistency
when it's updated. Ultimately the root cause was traced to a
cache coherence problem and it's fixed by a patch in the spinor
crate.

However, this patch still retains a check that the data is coherent,
in case the flushing routine isn't complete or some other factor
was missed. It also includes a large amount of commented-out code
that keeps a bit of history used to debug the problem -- eventually,
we can just cull that but it's kept around in case we got the
root cause wrong (or there were multiple causes and coherence is
just one of them).
2022-10-07 18:52:57 +08:00
bunnie
3bca9de2a0 bump version numbers for xous-kernel patch
this fixes tests in CI
2022-10-05 23:51:35 +08:00
bunnie
969f93b001 cross-repo update versions from xous-rs bump 2022-10-05 18:32:44 +08:00
bunnie
9dcc0a3386 absorb ticktimer api bump, propagated from susres bump 2022-10-03 04:40:06 +08:00
bunnie
d2b2383d1a bump susres version 2022-10-03 04:36:32 +08:00
bunnie
b184bfbe6a move ticktimer to remote api 2022-10-03 03:37:38 +08:00
bunnie
89ca75c4bf move over to remote susres api 2022-10-03 02:24:44 +08:00
bunnie
6123e8ff9b xous-names conversion to crates.io 2022-10-03 01:18:20 +08:00
bunnie
de514ac66f rename packages in prep for upload to crates.io 2022-10-03 00:24:45 +08:00
bunnie
4e40ae6c5d move from target selectors to feature selectors for back-ends
This will allow for e.g. xous on riscv32-imac but not a precursor
target, for example: by using feature selectors we get to have
a bigger range of targets that we support, such as for implementations
that haven't been upstreamed or have official target-triples.

The downsides are:

- patch override libraries don't absorb feature flags. so, for
example, the AES crate that is used to patch other crates won't
be aware of the target features without modifying the referencing
crates.

- features are normally meant to be additive, but target features
are mutually exclusive. The mutex is enforced by a check in
utralib that throws a panic on build if two targets are accidentally
selected at the same time.
2022-10-02 02:56:44 +08:00
bunnie
fb29c9b2c1 refactor utra target line to use explicit feature targets
still need to rework the crate feature selection
2022-10-02 02:20:03 +08:00
bunnie
ecab0ba045 fix default-features in services 2022-09-27 02:44:46 +08:00
bunnie
d667d7e1f5 bump xous-ipc version 2022-09-27 01:14:43 +08:00
bunnie
f188e0f866 re-bump xous-ipc to 0.9.9 2022-09-26 16:50:38 +08:00
bunnie
507ab42836 downgrade xous-ipc to 0.9.7 until i have permissions to push a new version 2022-09-26 16:11:26 +08:00
bunnie
3579dfdd17 update xous-ipc and xous versions 2022-09-26 16:07:35 +08:00
bunnie
114d60bc53 migrate logserver API to external package 2022-09-26 14:06:46 +08:00
bunnie
85279566f0 fix #77
This adds some UX feedback in the edge case that a suspend could not
happen due to a blocking sever, e.g. a sha512 hash pending or
a SPINOR flash write/erase pending.

The UI will tell the user to retry again; usually the ops in
a normally functioning system for hashes or SPI are very short,
so we could almost just retry automatically but I think for now
I want to see if this edge case actually happens.
2022-09-24 02:40:11 +08:00
bunnie
b9dbabc198 fix kernel config for shellchat
somehow, on windows builds, this doesn't break; but when building
under linux, the kernel config difference matters. Now that I
know how to pass features down, let's do it right.
2022-09-18 00:20:43 +08:00
bunnie
48269651e8 add continuous-time profiling of AES blocks to the net command 2022-09-16 01:45:32 +08:00
bunnie
5112c395f9 commit a snapshot before refactoring perflib components 2022-09-16 01:25:18 +08:00
bunnie
4e36b43649 remove "perfcounter" default for mainline build 2022-09-11 19:20:34 +08:00
bunnie
2b3000a3f5 add routines to access ring-xous aes implementation to characterize CT operation 2022-09-11 19:14:08 +08:00
bunnie
beed2ceab8 add performance counter to measure AES runtimes
this simple test does a walking 1's across AES256 key space to
see if there are gross bit-dependent execution timing problems
2022-09-11 07:46:41 +08:00
bunnie
8969485ccc fix errors that came when turning off the tls feature 2022-08-25 16:08:53 +08:00
bunnie
f5f4498b25 remove tls from default config 2022-08-25 15:27:30 +08:00
bunnie
3de588ccef revise the ws test to use a more reliable server 2022-08-25 15:26:33 +08:00
bunnie
ad155358f3 remove tls from the main config -- don't need to test that anymore in CI 2022-08-25 05:22:59 +08:00
bunnie
16f7c5b234 fix URL to a working server 2022-08-25 05:22:43 +08:00
bunnie
28434f0873 clean up a warning for now
need to find..a service...to connect to. or something like
that. maybe we just have to start a websocket server somewhere
for testing.
2022-08-25 05:06:15 +08:00
bunnie
ea55d23e67 some initial websocket mucking about 2022-08-25 05:04:37 +08:00
bunnie
8eda1e59c4 check in a version with TLS on by default to push CI 2022-08-20 00:59:46 +08:00
bunnie
25d1d0144a cleanup hosted mode build and carve TLS target out 2022-08-20 00:47:28 +08:00
bunnie
950b0e909a configure out TLS by default 2022-08-20 00:38:50 +08:00
bunnie
59a3bc0370 cleanup patches 2022-08-20 00:38:21 +08:00
bunnie
a5aee2b0d5 patches for debug 2022-08-16 17:54:36 +08:00
bunnie
a05ab47d10 add some test code to exercise TLS to break the linking 2022-08-13 21:23:35 +08:00
bunnie
2e0f1df894 intermediate commit through experiments 2022-08-12 15:56:05 +08:00
bunnie
548f4b059d chore: fix whitespace and warning 2022-08-11 03:11:38 +08:00
bunnie
23f7a70444 Merge branch 'main' into usb-kbd-refactor 2022-08-10 19:08:14 +08:00
bunnie
d1bd99a7f2 demonstrate switching of core between configurations using shell commands 2022-08-10 18:58:55 +08:00
nworbnhoj
4ddcabc657 Merge branch 'main' into iter 2022-08-07 05:36:40 +10:00
bunnie
ccb7d4f6b3 convert image loop to use BufReader now that net stack works 2022-08-06 17:46:35 +08:00
bunnie
77f5eb1dac add a sync command
especially useful in CI where we unceremoniously pull power repeatedly
between tests and this can lead to data corruption.
2022-08-06 15:59:44 +08:00
bunnie
0c50bf983f more error handling on server 2022-08-06 00:38:34 +08:00
bunnie
86d9fd1aad don't die if the stream hangs up on the server 2022-08-06 00:36:04 +08:00
bunnie
bd8afc6de7 clean up debug spew for merge to main 2022-08-05 15:50:11 +08:00
bunnie
cc03383891 commit the final net test state 2022-08-05 15:17:07 +08:00
bunnie
1cf0479528 remove heuristic from read loop, now that read works. 2022-08-05 05:04:03 +08:00
bunnie
89cba7250e commit the latest test state
a lot of tests are now passing, but still some work to do
on the clone routines.
2022-08-05 05:03:10 +08:00
bunnie
20c2e979c8 add more tests, make print outputs a bit clearer 2022-08-04 21:11:55 +08:00
bunnie
473c95a74c strip out the test flag 2022-08-02 16:49:50 +08:00
bunnie
536d90034c add a manually-triggered test suite for the net crate
requires the feature "nettest" to be present in shellchat.
this commit has it turned on, it'll be stripped out before
we push to main.
2022-08-02 16:46:36 +08:00
bunnie
3118ebddc9 add error code printout on dictlist failure 2022-08-02 02:52:20 +08:00
bunnie
2c815375a1 add sync to write function in pddb commands 2022-07-29 00:25:01 +08:00
bunnie
46c53d9612 add telemetry for better PDDB CI 2022-07-28 18:46:56 +08:00
bunnie
deecd3651d sync PDDB before churning or flushing 2022-07-28 04:47:32 +08:00
nworbnhoj
956eef4d69 remove heap monitoring from shellchat net image 2022-07-27 11:41:45 +10:00
nworbnhoj
1357d39255 reconfigure shellchat net image to use decode_png 2022-07-27 11:37:31 +10:00
bunnie
edfbc1e4f0 update some text on the USB command to be more accurate 2022-07-23 17:32:13 +08:00
bunnie
6f10061653 reset "don't ask again" flag for password creation during factory test
this facility is necessary in case a worker accidentally picks
the wrong setting, disabling the feature for the device. When
the factory test completes, a call is made to reset the parameter.

This was a slightly complicated affair because the the don't ask
flag is contained within the rootkeys enclave itself, and we can't
just give access to rootkeys willy-nilly. So the flag is passed
through the PDDB and then to the rootkeys enclave. It's not harmful
to have it reset by an unauthorized actor; the pop-up will not
happen if passwords are, in fact, already set.
2022-07-19 23:57:25 +08:00
bunnie
4a9af7b220 add churn function to the PDDB command list 2022-07-19 15:32:07 +08:00
bunnie
fa984845ed add testing commands for rekeying. 2022-07-19 03:17:08 +08:00
bunnie
13b9064517 convert DNA output to something CI can pick up
this is for automation around PDDB readouts -- it is locked to the
device's DNA.
2022-07-16 00:40:04 +08:00
bunnie
abe153208f update shellchat to use the new semver returns 2022-07-13 04:43:35 +08:00
bunnie
af1013a1f3 rework SoC semver reporting to use xous-semver 2022-07-11 15:39:42 +08:00
bunnie
6e7798ff6c remove ECUP from shellchat 2022-07-11 04:06:26 +08:00
bunnie
77a92e310f shift around position of test in modals test and add a dedicated shellchat test 2022-07-06 05:04:26 +08:00
bunnie
3ad1ae7325 fix typo 2022-07-05 02:43:47 +08:00
bunnie
900e3e6ae2 fix limit on manual FSCB test so we're triggering basis gen once
it's pretty tedious to do repeated basis regens manually.
2022-07-04 18:35:18 +08:00
bunnie
e26106e334 fix warnings and clean up configs
tighten up the scope of some features to reduce warning messages
2022-07-04 18:13:11 +08:00
bunnie
608817f343 finalize/improve basis stress testing
- add an autotrigger feature for the basis stress test so it can
  be run in a fuzzer loop
- various fixes and improvements to the implementation to help
  integrate with CI
2022-07-04 17:55:52 +08:00
bunnie
a977e9852d add a comprehensive secret basis tester 2022-07-04 04:04:39 +08:00
bunnie
41a144a7e0 add some more feedback to the fscbtest test 2022-07-03 01:13:48 +08:00
bunnie
3992a45763 add a test case for "large" keys (128k datasets) 2022-07-03 00:36:49 +08:00
bunnie
5ba62df98d add a test routine for FSCB regeneration
this is meant to work with a reduced-size PDDB to trigger
fast space regen calls more rapidly.
2022-07-01 17:12:25 +08:00
bunnie
a828b3e665 add "extension test" to the PDDB shellchat test command 2022-07-01 00:02:42 +08:00
bunnie
5d874ac0f3 when connecting to debug core, enable programming 2022-06-28 20:38:23 +08:00
bunnie
4fcc1ea173 bump pddb key listing limits
makes it a bit easier for debugging
2022-06-28 19:59:52 +08:00
bunnie
79cb4cd982 image display now works, once heap increase is called
takes about 1MiB of heap to decode the test PNG.

Putting the heap increase at boot seems to not
work, it causes other processes to not spawn. The condition
is not terribly reproducible, so it's probably a concurrency
issue of some type.
2022-06-27 04:03:49 +08:00
bunnie
78ea80f809 remove main() thread-wrapping for non-ditherpunk configs
saves a bit of memory
2022-06-19 21:39:29 +08:00
bunnie
770f7e1f53 add tracking allocator
has to be instrumented on functions of interest, but there is one
e.g. in shellchat now for tracking allocations to display a PNG.
2022-06-19 01:55:16 +08:00
bunnie
e504e9b89c attempt to limit memory size used by PNG decoder
still getting a heap allocation failure, something is
looking for 256k and even when the heap is increased
to a couple megabytes we get heap allocation failures.
2022-06-18 14:21:56 +08:00
nworbnhoj
409f696fde Implement gam::PixelType
enables gam::Img to import different image formats: U8 & U8x3 for now
2022-06-18 08:43:32 +10:00
bunnie
cf89ebe5f5 add wrapper around main functions that need bigger stacks
This allows for `ditherpunk` config to have a much larger
stack size on select processes only.

The cost comes at a 4k fixed overhead for the sacrificial
wrapper thread, so we lose about 20k of runtime RAM, even
when ditherpunk is *not* activated (because we're
always wrapping the threads).

There is no impact on scheduling or CPU utilization, as the
wrapper thread blocks and is never scheduled once the real
main starts. However, it does subtract one thread from the
total available thread pool.
2022-06-16 03:40:19 +08:00
bunnie
18fc6663b2 work around various shortcomings in the net crate to download images 2022-06-14 19:06:08 +08:00
bunnie
0a94e80504 fix warnings 2022-06-14 17:09:44 +08:00
bunnie
6c5d7d511c update the net image test routine 2022-06-14 16:46:37 +08:00
bunnie
fc8e5df2b1 Merge remote-tracking branch 'origin/dither2' into dp2-merge 2022-06-14 16:45:38 +08:00
bunnie
8cb632180c fix fractional decimal places on integer conversions 2022-06-14 04:30:58 +08:00
bunnie
7b2fbdc88b evict f64's from the kernel, and eliminate f32 parsing
turns out these routines add quite a bit of bloat to the kernel
for only cosmetic reasons.
2022-06-14 04:14:25 +08:00
bunnie
e32ea4d3f5 fix #174 2022-06-10 21:36:53 +08:00
bunnie
09a968ef09 remove debug-here dependency
this contains a dependency to `failure` two levels down that has a critical
vulnerability. Unfortunately no new versions of debug-here have been
published in a while. It's no longer used, so just stripping it out
altogether.
2022-06-07 14:00:25 +08:00
bunnie
f620296a94 fix warnings in hosted mode 2022-06-01 11:54:25 +10:00
bunnie
06cda24c19 fix another errant mut that wasn't needed in pddb 2022-06-01 11:54:25 +10:00
bunnie
503615a138 fix warnings that result from the PDDB mutability change 2022-06-01 11:54:25 +10:00
Sean Cross
d342d7a885 apps/services: remove xous::xous_main macro usage
This macro will be removed, since it is no longer necessary. Remove this
macro across the project and replace it with a standard `main()`
function.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-06-01 11:54:24 +10:00
bunnie
8c08a9a188 bring shellchat to AES 0.8 compatibility
Also note here that we have:

- Run all the AES test vectors and confirmed the pass for both
  hw and sw
- Updated the benchmark numbers for the new AES implementation
2022-06-01 11:53:33 +10:00
bunnie
47b76a3d5b include a getrandom implementation that allows us to use modern randcore
A lot of packages are depending on 0.6 api, which requires a crate
that has OS specific TRNG calls. This patch keeps the 0.5 calls
inside the TRNG crate as direct API calls, and migrates to support
a 0.6 api to a patched version of getrandom that supports Xous.
2022-06-01 11:53:02 +10:00
bunnie
5337d34d45 fix warnings in hosted mode 2022-06-01 00:32:49 +08:00
bunnie
2eee81b218 fix another errant mut that wasn't needed in pddb 2022-06-01 00:21:30 +08:00
bunnie
3b1629744c fix warnings that result from the PDDB mutability change 2022-06-01 00:21:22 +08:00
Sean Cross
3ae9d8abf0 apps/services: remove xous::xous_main macro usage
This macro will be removed, since it is no longer necessary. Remove this
macro across the project and replace it with a standard `main()`
function.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-05-31 13:33:30 +08:00
bunnie
c11d5fe52b bring shellchat to AES 0.8 compatibility
Also note here that we have:

- Run all the AES test vectors and confirmed the pass for both
  hw and sw
- Updated the benchmark numbers for the new AES implementation
2022-05-30 03:09:05 +08:00
bunnie
e14e6206ed include a getrandom implementation that allows us to use modern randcore
A lot of packages are depending on 0.6 api, which requires a crate
that has OS specific TRNG calls. This patch keeps the 0.5 calls
inside the TRNG crate as direct API calls, and migrates to support
a 0.6 api to a patched version of getrandom that supports Xous.
2022-05-29 02:47:51 +08:00
bunnie
116015dff8 fixups and debug 2022-05-27 22:45:23 +08:00
bunnie
8553aea95e fixup a stub 2022-05-27 18:09:21 +08:00
bunnie
05f705a931 prove that we've restored ditherpunk functionality to hosted mode
this basically brings us back to the point of the original PR,
but with the code being optional.
2022-05-27 18:05:36 +08:00
bunnie
7d020182d4 integrate ditherpunk as a feature 2022-05-27 17:28:15 +08:00
bunnie
c8165be0fb Merge remote-tracking branch 'jb/dither' into bunnie-dev 2022-05-27 16:44:17 +08:00
nworbnhoj
342e8e82b1 implement shellchat test modals
remove modals feature ux_tests
2022-05-25 10:29:21 +10:00
bunnie
62cbc86aeb add automation strings 2022-05-24 23:21:26 +08:00
bunnie
4d1d132233 add a first-pass at what hardware CI automation strings might look like 2022-05-24 02:22:36 +08:00
bunnie
3bfdc238a0 add support for keymaps in HID
remaps keys based on the assumed keymap based on the user's
preference for the keyboard layout on the device.

So far, only dvorak and QWERTY are supported.
2022-05-17 16:41:08 +08:00
bunnie
ca275308ef Merge branch 'usbdev' into main 2022-05-17 02:31:10 +08:00
bunnie
66e4d9f803 move test commands for USB status checkup from keys to USB 2022-05-17 02:25:59 +08:00
bunnie
346caad315 Add the usb-device-xous driver to the default hardware config
Also includes the USB test commands in shellchat.

This is different from the usb-test crate, in that it's fully
integrated into Xous. usb-test is just for quick-testing the USB
driver, in the absence of most of the rest of Xous.
2022-05-17 00:46:52 +08:00
bunnie
6f1597b1e7 make "fountain" test optionally terminate
any characters typed as an argument after "fountain" will cause
it to terminate in 10 iterations
2022-05-13 14:50:29 +08:00
bunnie
b470588285 oops, fix a compile error. also try adding a flush()...this only made things worse?? 2022-05-13 02:25:35 +08:00
bunnie
56f9c654c0 debugging of TcpStream Drop dropping too fast
so far only able to confirm the problem happens, no effective
fixes yet.
2022-05-13 02:19:10 +08:00
bunnie
fd500927d3 quit fountain generator if error is encountered 2022-05-11 22:20:15 +08:00
bunnie
ce116c2c0d add "fountain" test to net suite 2022-05-11 21:24:04 +08:00
bunnie
9893e70759 fix warning 2022-05-06 13:45:22 +08:00
bunnie
71e41d4b0a fix buffer length check computation 2022-05-06 13:45:22 +08:00
bunnie
9354932483 fix buffer length check computation 2022-05-06 13:34:59 +08:00
bunnie
382f2ae306 fix warning 2022-05-06 04:00:55 +08:00
bunnie
33a3cfa7c2 fix typo 2022-04-25 18:34:31 +08:00
bunnie
a9b2dd535a add a note to remind about the purpose of the unsub test command 2022-04-25 18:32:09 +08:00
bunnie
d23dbd1db8 add an explicit test of the unsub path
normally you would never use this, this would cause the
connection manager to muck up.
2022-04-25 18:30:43 +08:00
bunnie
2c3143f790 Merge branch 'main' into multi-text-modals 2022-04-22 15:54:18 +08:00
bunnie
bac6c25bfe conversion toward standard testing method 2022-04-22 15:10:51 +08:00
bunnie
ee39b9643e add a timeout for the network to disconnect before starting update
this is to avoid panics due to malformed "packets" being received
as the EC is updating and not working correctly.
2022-04-21 01:22:17 +08:00
bunnie
c85f853e08 clean up use statements 2022-04-17 23:03:31 +08:00
bunnie
2fbb522c06 modify the web server to use mpsc, multiple workers
This is basically the Rust example for the web server, with
some tweaks. Add a command to make the device buzz when
a particular URL is hit, and to wait before responding when
another one is hit.
2022-04-17 18:50:10 +08:00
bunnie
f2bd4a6193 fix listener address and also remove the forced timeout on read 2022-04-17 04:58:55 +08:00
bunnie
b3d83c8494 migrate to std::TcpListener in tests 2022-04-17 04:07:13 +08:00
Gianguido Sorà
63cbe0e26f shellchat: style change in demo modals command 2022-04-13 15:52:14 +02:00
Gianguido Sorà
8375fdf801 shellchat: update demo modals command to new interface 2022-04-13 15:49:51 +02:00
bunnie
5d2c65cb6c fix missing update to display in panic handler 2022-04-10 16:57:04 +08:00
Gianguido Sorà
8123393a7d Merge branch 'main' into feature/multi-text-modals 2022-04-07 16:39:03 +02:00
bunnie
d49c35dc0c verify that unmount callbacks are working 2022-04-07 17:58:37 +08:00
bunnie
6ac4ef292b add basis mount/unmount to pddb shell commands, fix some UX formatting 2022-04-07 15:32:47 +08:00
Gianguido Sorà
ba347f6c79 add placeholders, current selection highlight 2022-04-05 16:18:43 +02:00
bunnie
067c603e03 strip out old UDP libraries, harmonize on just libstd UDP 2022-04-04 23:15:51 +08:00
bunnie
57339dfe2f udp libstd passing inital tests 2022-04-04 22:37:01 +08:00
bunnie
b5a6c436c2 first draft at some basic libstd UDP mechanics 2022-04-04 04:49:17 +08:00
Gianguido Sorà
0b62a2657a feature: generalization of modals.get_text()
Added a get_text_multi() method on modals which builds, shows and returns text taken from a modal view with a given amount of fields.

Calling get_text() is equal to a call to get_text_multi() with fields = 1.
2022-03-31 19:24:53 +02:00
Gianguido Sorà
83e61f5f1b feat: add wiring for multiple TextEntryPayloads drawing 2022-03-31 17:54:22 +02:00
bunnie
d736d54cee make pddbtest not part of the hw build but part of hosted mode by default 2022-03-29 16:49:18 +08:00
bunnie
d074de34d6 add seek tests 2022-03-29 04:40:51 +08:00
bunnie
5f6a21bff1 add some manual test cases that run in hosted mode for pddb
these are helpful for debugging "real" use cases, instead of
the synthetic CI benches that don't fully exercise the file-like
API.
2022-03-29 01:49:47 +08:00
bunnie
18c202dcee start of testing code for the PDDB 2022-03-28 22:56:32 +08:00
bunnie
91ed8193a7 fix delete commands to sync and also make keyword ordering parallel 2022-03-28 03:37:04 +08:00
bunnie
18b7cf78df add some pddb delete routines 2022-03-28 01:55:39 +08:00
bunnie
2340686e80 rate limit error messages 2022-03-27 16:45:00 +08:00
bunnie
107c63f7c2 update RTC functions to use libstd 2022-03-27 04:06:26 +08:00
bunnie
1617200cb6 remove the RTC "reach-around" cheat inside shellchat's test routine
The test routine for shellchat "cheats" and accesses the I2C block
to test the RTC during factory operations. This is not aesthetic
and is also potentially a security hole since we don't want less
trusted stuff willy-nilly playing with i2c.

Rewrite to

1) remove i2c references from shellchat
2) replace RTC calls with the newer non-dangerous llio calls that are
limited to read out the initialized time variables.
2022-03-27 02:56:41 +08:00
bunnie
df96ca1429 test for libstd Instant 2022-03-26 02:35:59 +08:00
bunnie
bfb8a17cd5 strip out legacy RTC calls in preparation for refactor 2022-03-24 02:19:26 +08:00
bunnie
140f07ddc8 latest revised test 2022-03-18 20:28:36 +08:00
bunnie
4463b909a1 initial cut at using libstd TcpStream for comms 2022-03-18 19:55:16 +08:00
bunnie
b246a369d4 lay in another layer of tts functionality
now shellchat can talk, and password entries are a thing.

next up: debug oom issues in STT when we start doing really big
strings.
2022-03-11 02:37:48 +08:00
bunnie
9116cb02b1 back-propagate pause->abort changes.
in many of the test routines what we really wanted was an
abort, not a pause.
2022-03-08 19:03:02 +08:00
bunnie
1d6fbbe5bb add the basic text to speech infrastructure.
also creates a method for isolating incompatibly licensed repos
2022-03-08 03:08:12 +08:00
bunnie
985fcdf9da a feature slipped in that i didn't mean to commit 2022-03-07 13:31:16 +08:00
bunnie
dd511432b4 fix dangling reference in AES ctr mode soft implementation 2022-03-07 13:28:10 +08:00
bunnie
271fd4d559 make the UDP socket specifiable on command line
this makes the bindings work on things other than localhost
2022-02-21 01:26:04 +08:00
bunnie
760957154e add a crappy but slightly more accurate approximation of UDP to hosted mode
It's crappy because it uses a busy wait loop to poll the udp
rx socket in order to accurately emulate the Xous async callback
feature (which is _not_ emulated for Tcp, for example).

It's more accurate because this emulation happens. But it's a lot
more complicated to implement it because zero-cost async UDP callbacks
aren't really a host-native feature (but they are a Xous-native feature!),
and I didn't want to .. pull in tokio or mio code surface into
the Xous hosted mode, seemed a bit like crushing a fly by dropping
a house on it. Maybe that's a fine solution in Oz, but Xous doesn't live in Oz.
2022-02-21 00:54:46 +08:00
bunnie
0dbf1661cb add TCP to hosted mode emulation
Total bodge -- we lop off the TCP stack at the Xous API level, and
substitute it with a native host TCP stack.

Caveat hacker: this means that a lot of OS-specific net properties
will carry through to the hosted mode emulation. This is adequate
for "smoke testing" a build but do not be shocked, *shocked* if
there are more bugs to be found because of some weird host integration
issue.
2022-02-20 21:31:32 +08:00
bunnie
960745ca61 eliminate static mut unsafe pattern in callback function storage
since xous 0.9.5, we've had a Box and we've had threads, so now we
can put the callback in a Box and pass it to a thread, instead
of relying on an `unsafe` work-around to get the callback function
pointer into the thread's environment.
2022-02-19 01:38:20 +08:00
bunnie
e4db83e59e add a "public" RTC get command to the LLIO
This implemnetation takes advantage of the fact that the LLIO
owns the RTC device, and bypasses a layer of indirection in the
call chain.
2022-02-19 01:16:20 +08:00
bunnie
95b857feea refactor i2c interface to eliminate static mut unsafes
also remove async write callbacks: in practice, these aren't used

Downside of this refactor is that threads for handling the
callbacks are not spawned on demand, they are spawned at boot,
leading to about an extra 68k of RAM used (most of it being
consumed in the codec block, actually). Some of this is also
probably extra object code because we're using more of the stdlib
primitives, which carry some weight.
2022-02-19 00:31:25 +08:00
bunnie
36bf400d46 fix a delay in factory test to match a revised delay
waiting a bit longer for the EC to boot requires the confirmation
time threshold for the EC boot to also be stretched out
2022-02-06 03:13:33 +08:00
bunnie
fd5c6568d1 trim out some excess redraw calls that are slowing down boot 2022-02-05 18:55:46 +08:00
bunnie
63ee19fc8a improve RSSI reporting during test 2022-02-04 17:46:22 +08:00
bunnie
06b9f88926 improve test oqc interface with new API 2022-02-04 17:11:42 +08:00