Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: adafruit/circuitpython
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: debrouxl/circuitpython
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 2 commits
  • 30 files changed
  • 1 contributor

Commits on May 2, 2019

  1. libm_dbl: several fixes for a DPFP-based build for the ATSAMD21.

    Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
    debrouxl committed May 2, 2019
    Configuration menu
    Copy the full SHA
    51a1bdb View commit details
    Browse the repository at this point in the history
  2. Assorted changes, a number of which are outright hacks, for a DPFP bu…

    …ild targeting an ATSAMD21 Trinket M0-like platform without directly accessible I/O, namely TI's TI-Python Adapter, with more modules and functions than TI's official 3.0.0.20 firmware enables.
    
    * lib/libm_dbl/__rem2_pio_large.c: LDBL_MAX_EXP isn't defined here, but we don't care about long doubles, right ?
    * lib/libm_dbl/erf.c: use less accurate but smaller implementation of erfc();
    * ports/atmel-samd/Makefile: add -frename-registers -fmerge-all-constants to save a bit of space;
    * ports/atmel-samd/audio-dma.c: comment out usage of the playing_audio root pointers;
    * ports/atmel-samd/background.c: we don't care about audio DMA;
    * ports/atmel-samd/boards/trinket_m0/mpconfigboard.mk:
        * change USB VID, PID, product and manufacturer;
        * enable MPZ long integer implementation;
        * disable a number of CircuitPython modules we don't care about on the TI-Python Adapter;
    * ports/atmel-samd/boards/trinket_m0/pins.c: disable the I2C object, to save some space;
    * ports/atmel-samd/common-hal/microcontroller/Processor.c, shared-bindings/microcontroller/Processor.h: use mp_float_t instead of float throughout the code, it ends up saving space in a DPFP build, AFAICS. But we don't care about the microcontroller module anyway;
    * ports/atmel-samd/mpconfigport.h: use "TI-Python Adapter" platform identifier instead of the default "Atmel SAMD21", remove playing_audio root pointers;
    * py/circuitpy_defns.mk:
        * yank -fsingle-precision-constant and -Wfloat-equal to work around build issues in a DPFP build;
        * replace libm files with libm_dbl files;
        * remove several files we don't care about for the TI-Python Adapter, we need to save space anyway;
    * py/circuitpy_mpconfig.h:
        * switch to object representation A (C is unsuitable for doubles, D is unsuitable for 32-bit platforms, B reduces the range of integers);
        (* keep using normal error reporting - a previous version used detailed reporting, but other changes in CircuitPython increased the size too much :'( for the overhead to be tolerable;
        * switch float implementation to double, enable high quality hashing for floats, enable float builtins;
        * enable cmath and math special functions;
        * force enable several extra builtins;
        * force disable a number of modules we don't care about;
        * remove several root pointers we don't care about, which pull in other code / data;
    * shared-bindings/math/__init__.c: define log2() more carefully;
    * supervisor/shared/memory.c: don't call supervisor_display_move_memory(), which pulls in some dependencies;
    * supervisor/shared/usb/tusb_config.h: disable USB HID and USB MIDI, we don't care about them;
    * supervisor/shared/usb/usb_desc.c: disable USB HID;
    * supervisor/supervisor.mk: remove display, USB HID and USB MIDI files from the build;
    * tools/gen_usb_descriptor.py: disable USB HID and USB MIDI. File pointed by Dan Halbert, and then I had to apply more patches.
    
    Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
    debrouxl committed May 2, 2019
    Configuration menu
    Copy the full SHA
    79b08d7 View commit details
    Browse the repository at this point in the history
Loading