summaryrefslogtreecommitdiff
path: root/docs/library/micropython.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/library/micropython.rst')
-rw-r--r--docs/library/micropython.rst46
1 files changed, 0 insertions, 46 deletions
diff --git a/docs/library/micropython.rst b/docs/library/micropython.rst
index 0ba3fbbc5..31065fbe5 100644
--- a/docs/library/micropython.rst
+++ b/docs/library/micropython.rst
@@ -47,17 +47,6 @@ Functions
The default optimisation level is usually level 0.
-.. function:: alloc_emergency_exception_buf(size)
-
- Allocate *size* bytes of RAM for the emergency exception buffer (a good
- size is around 100 bytes). The buffer is used to create exceptions in cases
- when normal RAM allocation would fail (eg within an interrupt handler) and
- therefore give useful traceback information in these situations.
-
- A good way to use this function is to put it at the start of your main script
- (eg ``boot.py`` or ``main.py``) and then the emergency exception buffer will be active
- for all the code following it.
-
.. function:: mem_info([verbose])
Print information about currently used memory. If the *verbose* argument
@@ -102,38 +91,3 @@ Functions
This function can be used to prevent the capturing of Ctrl-C on the
incoming stream of characters that is usually used for the REPL, in case
that stream is used for other purposes.
-
-.. function:: schedule(func, arg)
-
- Schedule the function *func* to be executed "very soon". The function
- is passed the value *arg* as its single argument. "Very soon" means that
- the MicroPython runtime will do its best to execute the function at the
- earliest possible time, given that it is also trying to be efficient, and
- that the following conditions hold:
-
- - A scheduled function will never preempt another scheduled function.
- - Scheduled functions are always executed "between opcodes" which means
- that all fundamental Python operations (such as appending to a list)
- are guaranteed to be atomic.
- - A given port may define "critical regions" within which scheduled
- functions will never be executed. Functions may be scheduled within
- a critical region but they will not be executed until that region
- is exited. An example of a critical region is a preempting interrupt
- handler (an IRQ).
-
- A use for this function is to schedule a callback from a preempting IRQ.
- Such an IRQ puts restrictions on the code that runs in the IRQ (for example
- the heap may be locked) and scheduling a function to call later will lift
- those restrictions.
-
- Note: If `schedule()` is called from a preempting IRQ, when memory
- allocation is not allowed and the callback to be passed to `schedule()` is
- a bound method, passing this directly will fail. This is because creating a
- reference to a bound method causes memory allocation. A solution is to
- create a reference to the method in the class constructor and to pass that
- reference to `schedule()`. This is discussed in detail here
- :ref:`reference documentation <isr_rules>` under "Creation of Python
- objects".
-
- There is a finite stack to hold the scheduled functions and `schedule()`
- will raise a `RuntimeError` if the stack is full.