Skip to content
Snippets Groups Projects
Select Git revision
  • b545c16dba3f2e07bbfb0020c1dc8637594ffa90
  • master default protected
  • backslash
  • nickname-match-configs
  • genofire/leds_rgb_get_state
  • genofire/rockets-state
  • genofire/ble-follow-py
  • plaetzchen/ios-workaround
  • blinkisync-as-preload
  • genofire/haule-ble-fs-deactive
  • schneider/max30001-pycardium
  • schneider/max30001-epicaridum
  • schneider/max30001
  • schneider/stream-locks
  • ios-workarounds
  • schneider/fundamental-test
  • schneider/ble-buffers
  • schneider/maxim-sdk-update
  • ch3/splashscreen
  • koalo/bhi160-works-but-dirty
  • koalo/wip/i2c-for-python
  • v1.9
  • v1.8
  • v1.7
  • v1.6
  • v1.5
  • v1.4
  • v1.3
  • v1.2
  • v1.1
  • v1.0
  • release-1
  • bootloader-v1
  • v0.0
34 results

os.c

Blame
  • Forked from card10 / firmware
    Source project has a limited visibility.
    objnone.c 787 B
    #include <stdlib.h>
    #include <stdint.h>
    
    #include "nlr.h"
    #include "misc.h"
    #include "mpconfig.h"
    #include "qstr.h"
    #include "obj.h"
    
    typedef struct _mp_obj_none_t {
        mp_obj_base_t base;
    } mp_obj_none_t;
    
    void none_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t self_in, mp_print_kind_t kind) {
        print(env, "None");
    }
    
    const mp_obj_type_t none_type = {
        { &mp_const_type },
        "NoneType",
        .print = none_print,
    };
    
    static const mp_obj_none_t none_obj = {{&none_type}};
    const mp_obj_t mp_const_none = (mp_obj_t)&none_obj;
    
    // the stop-iteration object just needs to be something unique
    // it's not the StopIteration exception
    static const mp_obj_none_t stop_it_obj = {{&none_type}};
    const mp_obj_t mp_const_stop_iteration = (mp_obj_t)&stop_it_obj;