Commit graph

1311 commits

Author SHA1 Message Date
bunnie
08a86749fe fix hosted mode bugs 2021-05-09 01:13:16 +08:00
bunnie
a8a35fa434 roll back heapless crate on ime-frontend 2021-05-08 23:55:08 +08:00
bunnie
a24803354c refactor xous-names to eliminate heapless
see issue #30
2021-05-08 23:34:08 +08:00
bunnie
391122823d refactor heapless version in attempt to debug issue that cropped up in xous-names
somehow, updating the toolchain has broken the FnvIndexMap implementation
2021-05-08 18:44:23 +08:00
bunnie
b904a114fe this commit crashes on boot 2021-05-08 16:40:44 +08:00
bunnie
7f7bdbff88 this will play the long sample. and it works! :) 2021-05-08 03:41:04 +08:00
bunnie
15fc4a6c36 audio working, trying out longer samples 2021-05-08 03:14:14 +08:00
bunnie
fe6b417643 checkpoint 2021-05-08 01:13:30 +08:00
bunnie
ab67cf46b2 fix path to renode 2021-05-07 23:43:52 +08:00
bunnie
46fa8fa01e extend shellchat to allow for multiple callback registrations 2021-05-07 16:22:06 +08:00
bunnie
b3a60faec2 audio checkpoint 2021-05-07 15:09:51 +08:00
bunnie
7dd66a4c18 playback is mostly working and stable 2021-05-07 05:42:39 +08:00
bunnie
adc7f8e98d cleanup the i2c API
condense async/sync methods into a single one and decide which
is which based upon the presence of an Option<callback>
2021-05-06 14:03:06 +08:00
bunnie
b50aa60591 clean up some visibilities and warnings, get rid of the old, bad API 2021-05-06 05:13:23 +08:00
bunnie
bc82dbd157 transition i2c api on codec, finally found the damn race condition 2021-05-06 05:05:17 +08:00
bunnie
75bb4805b1 clean up RTC server to use the new I2C API 2021-05-06 04:16:31 +08:00
bunnie
b596c40dd6 refactor I2C to have work queue, cleaner (but untested) APIs 2021-05-06 03:40:04 +08:00
bunnie
bb5bc1d212 refactor i2c to break out the i2c machine to a separate server
the concurrency issues on I2C are getting hairy, and it was probably a
dubious decision from the start to merge I2C into the LLIO block; but
originally this was motivated by the idea of keeping all the
"miscellaneous slow stuff" in one process to keep the memory footprint
small and make code a bit more readable.

Keeping I2C in the same process space as the LLIO but splitting it
into its own thread and server splits the difference, by giving us
more options to deal with the concurrency, without inflating the size
of the kernel binary and allocating a lot of extra static data.
2021-05-06 00:45:14 +08:00
bunnie
c0d72c282b increase process limit 2021-05-06 00:44:32 +08:00
bunnie
fe86207469 make docs reflect the error message actually thrown 2021-05-06 00:41:38 +08:00
bunnie
f975884f1e increase server limit to 128 2021-05-06 00:41:27 +08:00
Sean Cross
23e759ffd8 kernel: fix multi-page lending
Due to several errors, multi-page lending did not work properly.

To begin with, if a page was not allocated then it would not be able to
be sent. That is, if you allocated 8192 bytes but only ever accessed the
first 4096 bytes, then an error would be encountered when lending the
unaccessed upper page.

Furthermore, due to a striding error in accessing pointers, half-pages
were treated as full pages.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-05 10:58:12 +08:00
bunnie
ea06df6879 test case for >1 page lends not working 2021-05-05 01:37:25 +08:00
bunnie
e7e7711f2d remove unused buffer package 2021-05-05 01:37:03 +08:00
bunnie
d17ae106f1 kernel panic on memory lend 2021-05-05 00:58:48 +08:00
bunnie
7a7e77d346 intermediate checkin, taking a break 2021-05-04 19:08:56 +08:00
bunnie
61611caddd some general ideas to debug later 2021-05-04 02:47:03 +08:00
bunnie
f8979d6341 intermediate progress on audio. doesn't compile. 2021-05-04 02:22:35 +08:00
bunnie
a4ca725c2a add a reset to an i2c core 2021-05-03 21:24:37 +08:00
bunnie
01e2c7edca migrate to an interrupt-handler only I2C handler
the amount of time it takes to send messages to initiate each
packet is too slow, and causing timeouts. By handling the I2C
directly in an interrupt handler, we accelerate the bus, at
the expense of no visibility via log/trace messages.
2021-05-03 18:53:17 +08:00
bunnie
d65e91f792 refactor i2c to be in the implementation block 2021-05-03 18:14:58 +08:00
bunnie
8e8b515a36 add a script to provision audio artifacts 2021-05-03 18:02:20 +08:00
bunnie
50174f99e5 re-org the codec crate so that it can accommodate gnarly backends
This is in anticipation of:

1) supply chain issues causing CODEC chips to change out
2) host integration being a PITA
2021-05-03 00:31:05 +08:00
bunnie
f558f75116 add the skeleton for the codec server 2021-05-03 00:20:51 +08:00
bunnie
dcb9956bcc add a "skeleton" server which is a template for other servers 2021-05-03 00:19:45 +08:00
bunnie
4854cc98ee expand README 2021-05-02 18:15:29 +08:00
bunnie
d936b69c14 merge credits into README 2021-05-02 18:13:24 +08:00
bunnie
ba729bd172 rename as generics 2021-05-02 18:11:31 +08:00
bunnie
4fbee9cabd add a note about the audio samples 2021-05-02 18:08:34 +08:00
bunnie
c3e02cca0e add audio samples for testing + credits 2021-05-02 18:04:13 +08:00
bunnie
abf308e82d try to trace down issue #61 2021-05-02 16:39:08 +08:00
bunnie
a35392f35b
Merge pull request #62 from betrusted-io/bunnie-dev
Bunnie dev
2021-05-02 16:14:19 +08:00
bunnie
a2280639d9 forgot to uncomment a line 2021-05-02 16:13:06 +08:00
bunnie
05df98d1c1 disable suspend/resume support in hosted mode
hosted mode doesn't have suspend/resume support, and it's
not worth debugging subtle issues on that side of the fence
that seem to be OS-dependent.
2021-05-02 16:10:51 +08:00
bunnie
0621fed5d6 back up debugging statements 2021-05-02 12:51:41 +08:00
bunnie
8b29fc4dd3 make the sleep note screen a little more aesthetic 2021-05-02 03:57:40 +08:00
bunnie
0ca2f58c6e add a note to indicate if we're in cold sleep
it's not terribly aesthetic right now, but we can fix that later.
2021-05-02 03:36:54 +08:00
bunnie
b17753ce8b retrofit the rest of the servers for suspend/resume
we can now do suspend/resume in the xous chat!
2021-05-02 01:38:44 +08:00
bunnie
85d78439d7 fcc-agent is now deprecated 2021-05-01 21:01:46 +08:00
bunnie
c7f1fe0817 cleanup after debugging ticktimer
the problem was that the load signal was not being respected
by the hardware, small patch to FPGA required but now all is OK.
2021-05-01 20:56:12 +08:00