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

Merge supervisor firmware tree into mainline #42

Merged
merged 62 commits into from
Oct 29, 2024
Merged

Commits on Oct 18, 2024

  1. Configuration menu
    Copy the full SHA
    7fa890a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b7371b2 View commit details
    Browse the repository at this point in the history
  3. firmware: added a stub call for std::terminate() because we're writ…

    …ing embedded code, I swear.
    lethalbit committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    ccfe483 View commit details
    Browse the repository at this point in the history
  4. firmware: Added rough implementations of memcpy/memset/memcmp because…

    … they're needed by other things and can't always be inlined.
    
    Also had to tell GCC to *not* replace the implementation of these functions with calls to them, because we are, in fact, the implementation of said calls, thanks GCC
    lethalbit committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    3737fb6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    46e8d1d View commit details
    Browse the repository at this point in the history
  6. firmware: Added the -fno-exceptions and -fno-rtti to the common a…

    …rgs to the linker also gets them
    lethalbit committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    b7ecbb7 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c9d10b8 View commit details
    Browse the repository at this point in the history
  8. firmware: ensured the peripherals file can be included into many tran…

    …slation units,
    
     seizing the means of production
    lethalbit committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    08e5800 View commit details
    Browse the repository at this point in the history
  9. firmware: normalizing nomenclature around pin functionality. And adde…

    …d pin needed pin initialization to `setup_io`
    lethalbit committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    c4a5ae7 View commit details
    Browse the repository at this point in the history
  10. firmware: added support for sync_busy on the SERCOM ctrlb registe…

    …rs, and disambiguated the names
    lethalbit committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    636e26f View commit details
    Browse the repository at this point in the history
  11. firmware: pulled out the setup_sercom from main and stuffed everyth…

    …ing into an SPI specific implementation.
    
    Also, set up the framework for reading and writing from the on-board configuration flash, along with validating the link by checking the ID
    lethalbit committed Oct 18, 2024
    Configuration menu
    Copy the full SHA
    6c2fa1d View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2024

  1. firmware: implemented 32-bit atomic add and cmpxchng

    This is due to the fact that the ARM Cortex-M0+ does not have any atomic instructions,
    and we're not able to link against any stdlibs, ***AND*** libatomic isn't even included
    with the compiler for this platform anyway.
    lethalbit committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    c80e95c View commit details
    Browse the repository at this point in the history
  2. firmware: Added some timing facilities to ensure we can actually wait…

    … for things for a set amount of time
    lethalbit committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    c0205b5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a47a788 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d03a721 View commit details
    Browse the repository at this point in the history
  5. firmware: added read_le and read_be to construct a std::uint32_t …

    …from a span of bytes
    lethalbit committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    1afb328 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b2d3718 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    187b5ad View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2540d0f View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    e791943 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    9c44244 View commit details
    Browse the repository at this point in the history
  11. firmware: spi: added the std:: prefix to the flash_cmd_t enum as …

    …should have been done
    lethalbit committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    08ad95a View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    5b1ab2a View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    7f95370 View commit details
    Browse the repository at this point in the history
  14. firmware: spi: changed the flash ID name from id to flash_id to m…

    …ove it in line with the other naming conventions
    lethalbit committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    2f405a2 View commit details
    Browse the repository at this point in the history
  15. firmware: startup: fixed the NVIC table, we were missing two reserved…

    … entries causing the SysTick handler to be in the wrong spot, i'm surprised anything worked
    lethalbit committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    88194b3 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    c0542c3 View commit details
    Browse the repository at this point in the history
  17. firmware: spi: added a toggle of the ~PROGRAM pin to force the FPGA…

    … to be in config mode (with the appropriate delay)
    lethalbit committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    c5b1ee3 View commit details
    Browse the repository at this point in the history
  18. firmware: fixed a typo

    lethalbit committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    a0eed63 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2024

  1. Configuration menu
    Copy the full SHA
    de29500 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8d31aed View commit details
    Browse the repository at this point in the history
  3. firmware: memory: told GCC that yes, we are, in fact, using these fun…

    …ctions, thanks for asking
    lethalbit committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    d41f44b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0af9971 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b16c6cd View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    297e85a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0014d4f View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    7a6f32a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b1f0c0e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    2f3d838 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    8467289 View commit details
    Browse the repository at this point in the history
  12. firmware: startup: Fixed the disaster that calling std::terminate()

    … would have caused due to calling a naked function
    lethalbit committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    b21fab6 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2024

  1. firmware: startup: Added precautions to the std::terminate handler …

    …to set the LEDs to a known state
    lethalbit committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    8bf1831 View commit details
    Browse the repository at this point in the history
  2. firmware: spi: removed the LED toggles in the failure cases for the f…

    …lash and FPGA id failure, relying on just the new fault system
    lethalbit committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    d44e024 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d1d4022 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    894f633 View commit details
    Browse the repository at this point in the history
  5. firmware: main: set the priority of the SysTick interrupt to keep run…

    …ning despite other interrupts to ensure when we hit the fault handler we can still blink out an error code
    lethalbit committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    eecb00a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    16cc288 View commit details
    Browse the repository at this point in the history
  7. firmware: spi: replaced read_jedec_id with read_flash_id as we do…

    …n't do a full JEDEC compliant ID read, only enough for our onboard flash
    lethalbit committed Oct 21, 2024
    Configuration menu
    Copy the full SHA
    769b895 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2d3e48b View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2024

  1. firmware: spi: Added PSRAM ID check support and the machinery to talk…

    … to the PSRAM from the firmware end
    lethalbit committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    18af241 View commit details
    Browse the repository at this point in the history
  2. firmware: Added rough POR detection due to a hardware issue(?) means …

    …we brown-out rather than lose all power causing the peripherals to stay configured causing a lockup state on power on from reset
    lethalbit committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    9db3146 View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2024

  1. Configuration menu
    Copy the full SHA
    df95b11 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    345edf5 View commit details
    Browse the repository at this point in the history
  3. firmware: peripherals: Added was_brownout() to PM peripheral to det…

    …ermine if we're restarting due to a brownout or not
    lethalbit committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    f3f74ca View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b232aa8 View commit details
    Browse the repository at this point in the history
  5. firmware: main: Set up brownout detection and we are only now resetti…

    …ng the core if we browned out
    lethalbit committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    3e9992b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e240995 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    083581c View commit details
    Browse the repository at this point in the history
  8. firmware: spi: changed the read_psram and write_psram to return a…

    …n advanced address after read for later use
    lethalbit committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    d76e970 View commit details
    Browse the repository at this point in the history
  9. firmware: spi: Added fpga_segmented_xfer to allow for fragmented bi…

    …tstream loading from PSRAM to FPGA
    lethalbit committed Oct 25, 2024
    Configuration menu
    Copy the full SHA
    4d77a14 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    d5a4c2f View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2024

  1. Configuration menu
    Copy the full SHA
    1e6c3a2 View commit details
    Browse the repository at this point in the history