Skip to content
Snippets Groups Projects
Select Git revision
  • 737bd9c3144a57673db8b02217114b7f7f63387d
  • wip-bootstrap default
  • dualcore
  • ch3/leds
  • ch3/time
  • master
6 results

mpconfig.h

Blame
  • mpconfig.h 33.00 KiB
    /*
     * This file is part of the Micro Python project, http://micropython.org/
     *
     * The MIT License (MIT)
     *
     * Copyright (c) 2013, 2014 Damien P. George
     *
     * Permission is hereby granted, free of charge, to any person obtaining a copy
     * of this software and associated documentation files (the "Software"), to deal
     * in the Software without restriction, including without limitation the rights
     * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
     * copies of the Software, and to permit persons to whom the Software is
     * furnished to do so, subject to the following conditions:
     *
     * The above copyright notice and this permission notice shall be included in
     * all copies or substantial portions of the Software.
     *
     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
     * THE SOFTWARE.
     */
    #ifndef __MICROPY_INCLUDED_PY_MPCONFIG_H__
    #define __MICROPY_INCLUDED_PY_MPCONFIG_H__
    
    // This file contains default configuration settings for MicroPython.
    // You can override any of the options below using mpconfigport.h file
    // located in a directory of your port.
    
    // mpconfigport.h is a file containing configuration settings for a
    // particular port. mpconfigport.h is actually a default name for
    // such config, and it can be overriden using MP_CONFIGFILE preprocessor
    // define (you can do that by passing CFLAGS_EXTRA='-DMP_CONFIGFILE="<file.h>"'
    // argument to make when using standard MicroPython makefiles).
    // This is useful to have more than one config per port, for example,
    // release vs debug configs, etc. Note that if you switch from one config
    // to another, you must rebuild from scratch using "-B" switch to make.
    
    #ifdef MP_CONFIGFILE
    #include MP_CONFIGFILE
    #else
    #include <mpconfigport.h>
    #endif
    
    // Any options not explicitly set in mpconfigport.h will get default
    // values below.
    
    /*****************************************************************************/
    /* Object representation                                                     */
    
    // A Micro Python object is a machine word having the following form:
    //  - xxxx...xxx1 : a small int, bits 1 and above are the value
    //  - xxxx...xx10 : a qstr, bits 2 and above are the value
    //  - xxxx...xx00 : a pointer to an mp_obj_base_t (unless a fake object)
    #define MICROPY_OBJ_REPR_A (0)
    
    // A Micro Python object is a machine word having the following form:
    //  - xxxx...xx01 : a small int, bits 2 and above are the value
    //  - xxxx...xx11 : a qstr, bits 2 and above are the value
    //  - xxxx...xxx0 : a pointer to an mp_obj_base_t (unless a fake object)
    #define MICROPY_OBJ_REPR_B (1)
    
    // A MicroPython object is a machine word having the following form (called R):
    //  - iiiiiiii iiiiiiii iiiiiiii iiiiiii1 small int with 31-bit signed value
    //  - 01111111 1qqqqqqq qqqqqqqq qqqqq110 str with 20-bit qstr value
    //  - s1111111 10000000 00000000 00000010 +/- inf
    //  - s1111111 1xxxxxxx xxxxxxxx xxxxx010 nan, x != 0