summaryrefslogtreecommitdiff
path: root/py/objproperty.c
diff options
context:
space:
mode:
authorScott Shawcroft <scott@chickadee.tech>2016-11-03 15:50:59 -0700
committerScott Shawcroft <scott.shawcroft@gmail.com>2016-11-21 14:11:52 -0800
commitccbb5e84f980e252f7380d96fcc5c417a8a64523 (patch)
tree743fef26c6176aca6582b92a85829a565e60c414 /py/objproperty.c
parent93218281588b42331d83e4aaa45ac1abe4af130b (diff)
This introduces an alternative hardware API called nativeio structured around different functions that are typically accelerated by native hardware. Its not meant to reflect the structure of the hardware.
Docs are here: http://tannewt-micropython.readthedocs.io/en/microcontroller/ It differs from upstream's machine in the following ways: * Python API is identical across ports due to code structure. (Lives in shared-bindings) * Focuses on abstracting common functionality (AnalogIn) and not representing structure (ADC). * Documentation lives with code making it easy to ensure they match. * Pin is split into references (board.D13 and microcontroller.pin.PA17) and functionality (DigitalInOut). * All nativeio classes claim underlying hardware resources when inited on construction, support Context Managers (aka with statements) and have deinit methods which release the claimed hardware. * All constructors take pin references rather than peripheral ids. Its up to the implementation to find hardware or throw and exception.
Diffstat (limited to 'py/objproperty.c')
-rw-r--r--py/objproperty.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/py/objproperty.c b/py/objproperty.c
index 8189935d2..e7e5cd986 100644
--- a/py/objproperty.c
+++ b/py/objproperty.c
@@ -28,15 +28,11 @@
#include <assert.h>
#include "py/nlr.h"
+#include "py/objproperty.h"
#include "py/runtime.h"
#if MICROPY_PY_BUILTINS_PROPERTY
-typedef struct _mp_obj_property_t {
- mp_obj_base_t base;
- mp_obj_t proxy[3]; // getter, setter, deleter
-} mp_obj_property_t;
-
STATIC mp_obj_t property_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *args) {
enum { ARG_fget, ARG_fset, ARG_fdel, ARG_doc };
static const mp_arg_t allowed_args[] = {