Files
klubhaus-doorbell/libraries/FastLED/src/platforms/apollo3
2026-02-12 00:45:31 -08:00
..
2026-02-12 00:45:31 -08:00
2026-02-12 00:45:31 -08:00
2026-02-12 00:45:31 -08:00
2026-02-12 00:45:31 -08:00
2026-02-12 00:45:31 -08:00
2026-02-12 00:45:31 -08:00
2026-02-12 00:45:31 -08:00

FastLED Platform: apollo3

Ambiq Apollo3 platform support.

Files (quick pass)

  • fastled_apollo3.h: Aggregator; includes fastpin_apollo3.h, fastspi_apollo3.h, clockless_apollo3.h.
  • fastpin_apollo3.h: Pin helpers using Ambiq fastgpio; boardspecific (pin,pad) mappings (e.g., SFE Edge/Thing Plus/ATP, Artemis Nano, LoRa Thing Plus expLoRaBLE). Defines HAS_HARDWARE_PIN_SUPPORT when applicable.
  • fastspi_apollo3.h: Bitbanged SPI via fastgpio (all pins usable). Provides APOLLO3HardwareSPIOutput with writeBytes, writePixels, and bitlevel toggling.
  • clockless_apollo3.h: Clockless WS281x controller using SysTick for timing on Apollo3 Blue; sets FASTLED_HAS_CLOCKLESS.

Supported boards and toolchains

Knowngood Arduino cores/boards:

  • SparkFun Apollo3 (Artemis) core and boards: Edge, Thing Plus, ATP, Artemis Nano, LoRa Thing Plus (expLoRaBLE)
  • Ambiq SDKbased environments via the SparkFun core

Toolchain notes:

  • Uses Ambiq's fastgpio for highrate toggling where available; otherwise falls back to standard GPIO which is significantly slower.
  • Ensure your core exposes am_hal_gpio_* APIs used by fastpin_apollo3.h. When missing, hardware pin specialization will be disabled.

Timing caveats:

  • clockless_apollo3.h relies on SysTick for delay loops; large interrupt windows can corrupt WS281x signaling. Prefer short ISRs during frame output.
  • For best stability, keep WiFi/BLE stacks idle during show() and avoid heavy serial printing.