mirror of
https://github.com/micropython/micropython.git
synced 2025-12-16 09:50:15 +01:00
examples/usercmodule: Add example of a native C class.
This shows how ports can add their own custom types/classes. It is part of the unix coverage build, so we can use it for tests too. Signed-off-by: Laurens Valk <laurens@pybricks.com>
This commit is contained in:
committed by
Damien George
parent
1d27c7d423
commit
a67989aa20
@@ -95,9 +95,12 @@ A MicroPython user C module is a directory with the following files:
|
||||
Basic example
|
||||
-------------
|
||||
|
||||
This simple module named ``cexample`` provides a single function
|
||||
``cexample.add_ints(a, b)`` which adds the two integer args together and returns
|
||||
the result. It can be found in the MicroPython source tree
|
||||
The ``cexample`` module provides examples for a function and a class. The
|
||||
``cexample.add_ints(a, b)`` function adds two integer args together and returns
|
||||
the result. The ``cexample.Timer()`` type creates timers that can be used to
|
||||
measure the elapsed time since the object is instantiated.
|
||||
|
||||
The module can be found in the MicroPython source tree
|
||||
`in the examples directory <https://github.com/micropython/micropython/tree/master/examples/usercmodule/cexample>`_
|
||||
and has a source file and a Makefile fragment with content as described above::
|
||||
|
||||
@@ -272,3 +275,13 @@ can now be accessed in Python just like any other builtin module, e.g.
|
||||
import cexample
|
||||
print(cexample.add_ints(1, 3))
|
||||
# should display 4
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from cexample import Timer
|
||||
from time import sleep_ms
|
||||
|
||||
watch = Timer()
|
||||
sleep_ms(1000)
|
||||
print(watch.time())
|
||||
# should display approximately 1000
|
||||
|
||||
Reference in New Issue
Block a user