Commit graph

84 commits

Author SHA1 Message Date
bunnie
8b83fb7c65 remove heapless, go to libstd for all collections!!!!
*fistpump*
2021-08-04 01:25:32 +08:00
bunnie
34d44ee9e7 start to remove heapless and commit to libstd flow 2021-08-04 00:07:47 +08:00
Sean Cross
b86e0a65cd services: recognize xous as a hardware OS
Support `xous` as a valid OS. This allows us to build the entire kernel
under this target.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-08-02 18:11:48 +08:00
bunnie
69a22adee9 menus basically working 2021-06-19 00:25:18 +08:00
bunnie
eee9f4e765 refactor xous-names to permit only a fixed number of connections
this prevents less trusted processes from connecting to servers
after the kernel initializations are done.

this works so long as we don't have disconnects from the kernel
servers. In order to support disconnects we will also need a
way to re-enumerate the SID to guarantee that we don't have a re-use
problem. But for now, the kernel is not designed with any practical
disconnect mechanism; there is no code that calls the Quit mechanism
on any server.
2021-06-15 17:41:14 +08:00
bunnie
fadc9c29ab Merge remote-tracking branch 'origin/master' into bunnie-dev 2021-06-02 03:59:25 +08:00
bunnie
25a77ddb19 EC updating seems to work. 2021-05-25 05:13:20 +08:00
bunnie
7529628053 partial progress on EC updater 2021-05-24 04:34:50 +08:00
bunnie
30aa794f30 add reference counting on connections between servers
the connection number is re-used for all objects created
within a process space, so you can't `Drop` the connection
immediately when an object goes out of scope. You have to
make sure all instance of the object go out of scope. This
patch adds reference counting to all the objects so that
the `Drop` function works as intended.
2021-05-21 16:24:30 +08:00
Sean Cross
eb7895d601 xous: add a return code to TerminateProcess
As part of this refactor, make `terminate_process()` a divergent call.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-05-20 11:01:00 +08:00
bunnie
7d9e84c456 initial frameworks around sha512 acceleration integration 2021-05-19 00:39:03 +08:00
bunnie
3f12b0a69b add a gyro test command to shellchat 2021-05-16 16:52:27 +08:00
bunnie
5d4e716e1b add status thread mechanism to check charger state 2021-05-16 16:30:58 +08:00
bunnie
87b6d9b6d7 add backlight commands 2021-05-16 04:29:12 +08:00
bunnie
08a86749fe fix hosted mode bugs 2021-05-09 01:13:16 +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
2d3a643d20 retrofit COM for suspend/resume 2021-04-29 23:53:35 +08:00
bunnie
061284ec5f debugging BOOST mode glitch issue
Here's an arcane bug for you:

When powering down, the Spartan 7 3.3V I/O drivers will
output a roughly 800us wide glitch as 3.3V falls below around
1.7V, if the 0.95V core voltage comes down first (which it does
because we have an active discharge on 0.95V, but not on 3.3V).

In this case, it's just wide and high enough to cause the
BOOST mode line to engage, which takes the BOOST output
and ties it to VBUS, which is just enough for the system to
think you're powering it back on again. Which is not what
you want when powering down.

The ultimate fix was to put a heftier pull-down on the BOOST
line so that it can't trip the BOOST output into the VBUS.
Another option could be more active discharge FETs, but that
would require a full board spin and we are already at certification,
so we'll stick with the stronger pull-down on BOOST. It seems to
be a robust fix in the worst corner cases we can find.

The downside is that when powering an external USB device,
you are burning an extra 30mW of power overcoming the pull-down,
but typically, any external USB devices plugged into Precursor
will burn far in excess of that, so the delta should be negligible.
2021-04-23 15:33:14 +08:00
bunnie
f97b61a788 add the killbounce command 2021-04-23 01:49:03 +08:00
bunnie
ca63091f98 add ship mode command 2021-04-22 18:07:27 +08:00
bunnie
53f3ca20f0 add SSID scanning 2021-04-16 23:58:30 +08:00
bunnie
b2c0608b0b initial cut at SSID scanning 2021-04-16 23:07:31 +08:00
bunnie
22d676cc59 add reporting of sleep current 2021-04-16 19:58:05 +08:00
bunnie
93400df67c an initial cut at fcc test commands 2021-04-15 04:10:47 +08:00
bunnie
9f4dc8a7b1 add wifi reset opcodes 2021-04-14 22:43:23 +08:00
bunnie
84853c696a drop message should be non-blocking 2021-04-09 18:53:41 +08:00
bunnie
2916eb3775 relocate the destroy callback call to after the server exits 2021-04-09 18:51:43 +08:00
bunnie
9ba2fb134c refactor most major modules, but Xous now crashes 2021-04-05 23:50:00 +08:00
bunnie
8786b6db7b should be borrowing the name server object to make connections 2021-04-04 02:15:29 +08:00
bunnie
dea8cb8388 fix typos and start on the graphics server 2021-04-02 22:57:02 +08:00
bunnie
c972666f41 implement Drop on Com object 2021-04-02 19:01:11 +08:00
bunnie
39153f6fba cleanup warnings 2021-04-02 18:07:39 +08:00
bunnie
906f8779a8 cleanup details 2021-04-02 17:57:33 +08:00
bunnie
d6fd42b593 COM refactor of callbacks 2021-04-02 16:40:17 +08:00
bunnie
da255cc1ab use macro expansion for argument extraction of scalars 2021-04-02 15:38:38 +08:00
bunnie
e3733fa64c refactor callback methodology to match 0.8 conventions 2021-04-02 15:38:15 +08:00
bunnie
d21c0fa3e7 refactor of COM
this was much harder than I liked.
2021-04-02 05:43:47 +08:00
bunnie
470b5c6440 finalize API refactor for xous-names 2021-03-30 02:13:23 +08:00
bunnie
f35d478cf0 attempt to refactor xous_names 2021-03-29 04:35:11 +08:00
bunnie
e889765caf refactor the Ticktimer API. 2021-03-28 18:14:41 +08:00
Sean Cross
fdce58d06e ipc: convert project to use xous-ipc
This rewrites the entire project so that most runnable projects now use
`xous-ipc` instead of `xous::String` where possible.

This also removes `rkyv` from the list of dependencies in `xous-rs`.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-03-26 20:22:33 +08:00
bunnie
d68e3e8cf4 an attempt to refactor to rkyv 0.4.1
unfortunately, it looks like deserialize requires an alloc??
2021-03-16 02:02:53 +08:00
bunnie
e62256b3df clean up hosted mode warnings 2021-03-03 22:50:46 +08:00
bunnie
463e2ad77d fixup GAM APIs to latest rkyv standard, fix drawable computation 2021-02-26 03:37:48 +08:00
bunnie
5b80b3fb42 get fcc-agent working again 2021-02-23 04:01:01 +08:00
bunnie
0af72ffb6d clean up Sendable references and warnings 2021-02-17 23:29:20 +08:00
Sean Cross
14f661f565 xous: remove id field from lend()
This argument is no longer used.

Signed-off-by: Sean Cross <sean@xobs.io>
2021-02-17 20:54:08 +08:00
Sean Cross
5979556a2c services: com: fix warnings in lib
Signed-off-by: Sean Cross <sean@xobs.io>
2021-02-17 20:51:23 +08:00
Sean Cross
c4fb83b22f services: com: remove unused imports from main
Signed-off-by: Sean Cross <sean@xobs.io>
2021-02-17 20:50:12 +08:00
Sean Cross
c820573450 services: com: remove unused imports from api
Signed-off-by: Sean Cross <sean@xobs.io>
2021-02-17 20:47:07 +08:00