pimoroni-pico/micropython/modules/micropython-common.cmake

109 lines
3.7 KiB
CMake

include(pimoroni_i2c/micropython)
include(pimoroni_bus/micropython)
include(breakout_dotmatrix/micropython)
include(breakout_encoder/micropython)
include(breakout_ioexpander/micropython)
include(breakout_ltr559/micropython)
include(breakout_colourlcd160x80/micropython)
include(breakout_as7262/micropython)
include(breakout_rgbmatrix5x5/micropython)
include(breakout_matrix11x7/micropython)
include(breakout_msa301/micropython)
include(breakout_pmw3901/micropython)
include(breakout_mics6814/micropython)
include(breakout_potentiometer/micropython)
include(breakout_rtc/micropython)
include(breakout_trackball/micropython)
include(breakout_sgp30/micropython)
include(breakout_bh1745/micropython)
include(breakout_bme68x/micropython)
include(breakout_bme280/micropython)
include(breakout_bmp280/micropython)
include(breakout_icp10125/micropython)
include(breakout_scd41/micropython)
include(breakout_vl53l5cx/micropython)
include(pico_scroll/micropython)
include(pico_rgb_keypad/micropython)
include(pico_unicorn/micropython)
include(pico_wireless/micropython)
include(pico_explorer/micropython)
include(bitmap_fonts/micropython)
include(plasma/micropython)
include(hub75/micropython)
include(pwm/micropython)
include(servo/micropython)
include(encoder/micropython)
include(motor/micropython)
include(qrcode/micropython/micropython)
include(adcfft/micropython)
include(pcf85063a/micropython)
include(st7789/micropython)
include(jpegdec/micropython)
include(modules_py/modules_py)
function(enable_ulab)
include(ulab/code/micropython)
target_compile_definitions(usermod_ulab INTERFACE
# Support for complex ndarrays
ULAB_SUPPORTS_COMPLEX=0
# Determines, whether scipy is defined in ulab. The sub-modules and functions
# of scipy have to be defined separately
ULAB_HAS_SCIPY=0
# The maximum number of dimensions the firmware should be able to support
# Possible values lie between 1, and 4, inclusive
ULAB_MAX_DIMS=2
# By setting this constant to 1, iteration over array dimensions will be implemented
# as a function (ndarray_rewind_array), instead of writing out the loops in macros
# This reduces firmware size at the expense of speed
ULAB_HAS_FUNCTION_ITERATOR=1
# If NDARRAY_IS_ITERABLE is 1, the ndarray object defines its own iterator function
# This option saves approx. 250 bytes of flash space
NDARRAY_IS_ITERABLE=1
# Slicing can be switched off by setting this variable to 0
NDARRAY_IS_SLICEABLE=1
# The default threshold for pretty printing. These variables can be overwritten
# at run-time via the set_printoptions() function
ULAB_HAS_PRINTOPTIONS=1
NDARRAY_PRINT_THRESHOLD=10
NDARRAY_PRINT_EDGEITEMS=3
# determines, whether the dtype is an object, or simply a character
# the object implementation is numpythonic, but requires more space
ULAB_HAS_DTYPE_OBJECT=0
# the ndarray binary operators
NDARRAY_HAS_BINARY_OPS=0
# Firmware size can be reduced at the expense of speed by using function
# pointers in iterations. For each operator, the function pointer saves around
# 2 kB in the two-dimensional case, and around 4 kB in the four-dimensional case.
NDARRAY_BINARY_USES_FUN_POINTER=1
NDARRAY_HAS_BINARY_OP_ADD=1
NDARRAY_HAS_BINARY_OP_EQUAL=1
NDARRAY_HAS_BINARY_OP_LESS=1
NDARRAY_HAS_BINARY_OP_LESS_EQUAL=1
NDARRAY_HAS_BINARY_OP_MORE=1
NDARRAY_HAS_BINARY_OP_MORE_EQUAL=1
NDARRAY_HAS_BINARY_OP_MULTIPLY=1
NDARRAY_HAS_BINARY_OP_NOT_EQUAL=1
NDARRAY_HAS_BINARY_OP_POWER=1
NDARRAY_HAS_BINARY_OP_SUBTRACT=1
NDARRAY_HAS_BINARY_OP_TRUE_DIVIDE=1
)
endfunction()