Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quantizer v2 #26

Draft
wants to merge 16 commits into
base: main
Choose a base branch
from
Draft

Quantizer v2 #26

wants to merge 16 commits into from

Commits on Apr 4, 2022

  1. Configuration menu
    Copy the full SHA
    af36b74 View commit details
    Browse the repository at this point in the history
  2. firmware: Add pitch CV quantizer logic

    Note: For now, the scale cannot be chosen. The input is always quantized
    to the nearest 12-tone equal temperament step.
    aquaticsarah committed Apr 4, 2022
    Configuration menu
    Copy the full SHA
    4b3db64 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0aa73df View commit details
    Browse the repository at this point in the history
  4. User guide: Fix layout of quantizer settings description

    The version of the description added in the previous patch was
    marked up wrong, resulting in the text appearing in two separate
    boxes rather than one box with two paragraphs inside it.
    
    This patch fixes that issue.
    aquaticsarah committed Apr 4, 2022
    Configuration menu
    Copy the full SHA
    ef065cb View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2022

  1. Add basic tests for quantization

    theacodes authored and aquaticsarah committed Apr 23, 2022
    Configuration menu
    Copy the full SHA
    53476a4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    28d5a79 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a3a0e6c View commit details
    Browse the repository at this point in the history
  4. Install rtmidi for all steps

    theacodes authored and aquaticsarah committed Apr 23, 2022
    Configuration menu
    Copy the full SHA
    818567a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    418aeb0 View commit details
    Browse the repository at this point in the history
  6. firmware: Implement sysex messages for handling quantizer configs

    Note: For testing purposes, these sysexes currently affect the live config
    directly. A later commit will change them to affect the config in flash.
    
    As the config struct is about 2KB in size, and we end up needing ~2 copies
    on the stack in cmd_0x1A_read_quantizer_config_(), we need to increase the
    stack size to 8KB to prevent overflow. This can likely be reduced in future.
    aquaticsarah committed Apr 23, 2022
    Configuration menu
    Copy the full SHA
    779ead3 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1de9709 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    ed8a395 View commit details
    Browse the repository at this point in the history
  9. Bugfix for linker script

    The previous commits needed more stack size than was previously allocated,
    and changed the STACK_SIZE variable in configure.py accordingly.
    Strangely, however, the linker still only allocated 2KB to the stack.
    On further investigation, the line
    
        STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x800;
    
    doesn't work, it always sets STACK_SIZE to 0x800. But changing it to
    
        STACK_SIZE = __stack_size__
    
    works perfectly
    aquaticsarah committed Apr 23, 2022
    Configuration menu
    Copy the full SHA
    e9df253 View commit details
    Browse the repository at this point in the history
  10. firmware: Allocate space for quantizer table in flash

    It is important to ensure that the addresses and lengths of the existing
    NVM sections (settings and lut) are not changed by this patch.
    I have manually verified this as follows:
    
    * Build the firmware before applying this commit
    * Run:
        $ objdump -t build/gemini-firmware.elf | grep _nvm
    * Then apply the commit and rebuild
    * Run objdump again
    * Compare the two sets of outputs. The relevant columns are the first
      (symbol value) and last (symbol name)
    aquaticsarah committed Apr 23, 2022
    Configuration menu
    Copy the full SHA
    b9e33f6 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    da87201 View commit details
    Browse the repository at this point in the history
  12. Add TODOs for self

    aquaticsarah committed Apr 23, 2022
    Configuration menu
    Copy the full SHA
    315d2d8 View commit details
    Browse the repository at this point in the history