diff --git a/Documentation/epicardium/intro.rst b/Documentation/epicardium/intro.rst index c42e89ef270ed802d086a8c3d538eb4bd67b8a8a..6ef7e92cbacc7dbda7a1060c8f9d46020b664a53 100644 --- a/Documentation/epicardium/intro.rst +++ b/Documentation/epicardium/intro.rst @@ -1,10 +1,24 @@ Epicardium Intro ================ - Epicardium is the main component of the firmware. It runs on core0 and is based on FreeRTOS. Epicardium provides an API to a payload running on the other core which exposes most functionality. +API Design +---------- +.. note:: + + This is the current design. We might adjust it in the future to allow for + more performance in cases where this approach is too slow. + +The API is strictly synchroneous. This means, an API call looks exactly the +same as calling any other function. Internally, the call will wake up +Epicardium and dispatch the call. Once the call has finished, it will return a +result. + + +API Conventions +--------------- The API functions follow the kernel convention of either returning a boolean if the function is a predicate or returning a success integer (with negative values denoting errors) if it is an action or imperative command. To quote: diff --git a/Documentation/pycardium/intro.rst b/Documentation/pycardium/intro.rst index 503b07bd43debbd7bcf140741eef127c372cec9c..fc4721e35fc341ba84a755a9bc485adb3c3818ad 100644 --- a/Documentation/pycardium/intro.rst +++ b/Documentation/pycardium/intro.rst @@ -1,5 +1,13 @@ Pycardium Intro =============== - Pycardium is a core1 payload based on MicroPython. It can interface with card10 using the Epicardium API, which is wrapped in a bunch of python modules. +Pycardium also contains a number of Python stdlib modules. To see the full +list, type: + +.. code-block:: python + + help("modules") + + +The following pages detail card10 specific modules.