Hi, sorry, very sorry, I messed up. I did all those checks I wrote
about
in the previous message but then forgot to mention that the branch to
pull for this last part is named avrdx_ws2812. The _v2 branch has
commits I wanted to ask about at some point later and is not ready to
be
merged (and contains more errors than those you fixed.)
Again, sorry for the additional work - and thanks for the adjustments
in
points 2-3
On 2026-11-01 23:30, Swatantra wrote:
> Hi Kerogit,
>
> I have rebased the series onto current master and opened the Pull
> Request
> on GitHub:
> https://github.com/apache/nuttx/pull/21338
> (Title: AVR: WS2812 RGB LED driver)
>
> All 9 commits have been submitted with your full author attribution
> (Kerogit <[email protected]>) and DCO Signed-off-by preserved.
>
> To ensure the patches passed all automated CI checks cleanly on GitHub,
> a
> few minor adjustments were made:
>
> 1. EXTERN in avrdx_ws2812.h:
> There were leftover #define EXTERN and #undef EXTERN lines in
> arch/avr/src/avrdx/avrdx_ws2812.h. Running nxstyle flagged these, so I
> removed them to match the clean approach we used in Step 3's
> avrdx_swint.h.
>
> 2. Kconfig choice vs Conditional select for WS2812_NON_SPI_DRIVER:
> In drivers/leds/Kconfig, changing WS2812_NON_SPI_DRIVER into a choice
> symbol caused olddefconfig to fail in CI builds (such as bluetooth and
> rp2xxx). In Kconfig syntax, symbols inside a choice block cannot be
> selected by external symbols, but arch/arm/src/rp2040 and rp23xx both
> have
> "select WS2812_NON_SPI_DRIVER".
>
> To preserve your exact goal (not forcing SPI when non-SPI is used,
> while
> keeping SPI enabled by default for legacy boards), I updated the
> top-level
> option to use standard conditional selection:
>
> config WS2812
> bool "WS2812 LED Driver"
> default n
> select SPI if !WS2812_NON_SPI_DRIVER
>
> This keeps WS2812_NON_SPI_DRIVER as a regular boolean config,
> completely
> satisfying backwards compatibility while avoiding build failures on
> other
> architectures.
>
> 3. Spelling & Assembly Opcode Whitelisting:
> - Fixed a minor typo (endianess -> endianness) in drivers/leds/ws2812.c
> flagged by codespell.
> - Whitelisted lowercase "rcall" in .codespellrc so codespell does not
> mistake the AVR assembly instruction in avrdx_ws2812_uart_store.S for
> "recall".
>
> 4. CMake Parity:
> Added [skip-cmake-parity] to Commit 6 to satisfy the NuttX checkpatch
> check
> for AVR's GNU Make build system.
>
> The PR is now live in CI and assigned to maintainers. I will monitor
> review
> discussions and relay any feedback here if needed.
> Thank You
>
> Best regards,
> Swatantra Yadav
>
> On Sun, 1 Nov 2026 at 21:12, <[email protected]> wrote:
>
>> Hi, thanks for posting it and also thanks for removing the EXTERN
>> definition, it was not pointed out by checkpatch when I tested the
>> patches. The next part is submitted with EXTERN removed as well.
>> Checked
>> spelling once more, documentation builds correctly so hopefully you
>> won't have much trouble with this one.
>>
>> Some of the changes in this series are partly intended as suggestions
>> for discussion. I will watch the PR and if people make some comments
>> and/or request changes, I will respond here.
>>
>> ============================
>>
>> AVR: WS2812 RGB LED driver
>>
>> ## Summary
>>
>> This patch series adds platform-specific driver for WS2812 RGB LED to
>> AVR DA/DB architecture. RGB data is transmitted using USART peripheral
>> but the driver is designed to allow other peripherals to be supported
>> if
>> needed. In addition, there are some fixes for issues discovered when
>> working with existing code - USART control in architecture code and
>> some
>> cleanups in the WS2812 driver upper half.
>>
>> Breadxavr board is updated to provide example configuration that
>> compiles ws2812 program from nuttx-apps to showcase the LEDs.
>>
>> ## Impact
>>
>> **New feature**: driver for WS2812 RGB LED for AVR DA/DB family and
>> example configuration for breadxavr board
>>
>> **Impact on user**: none, new code is not enabled by default. Other
>> AVR
>> families are not supported and not affected, same for other
>> architectures
>>
>> **Impact on build**: new Kconfig options related to the new feature.
>>
>> Also, configuration of WS2812 upper half is altered slightly. The
>> upper
>> half driver initially only supported SPI peripheral and was later
>> extended to interact with architecture lower half instead (in which
>> case
>> the upper half is no longer tied to any specific hardware.) Even if
>> the
>> new style is used and SPI is not needed, the driver enforces "select
>> SPI".
>>
>> The patch series adds a choice between the old and the new style and
>> only the old style selects SPI now. Existing WS2812_NON_SPI_DRIVER
>> configuration option is changed from boolean (default false) to a
>> choice
>> option (default not chosen.) This should be fully backwards compatible
>> with existing configurations. Default configuration selects the old
>> style driver and existing board configurations with
>> CONFIG_WS2812_NON_SPI_DRIVER=y continue to work without changes.
>>
>> **Impact on documentation**: added documentation for the driver and
>> description of the new configuration to breadxavr board. Description
>> of
>> ws2812_register upper half function in the code is altered to match
>> current parameters of that function. This forced a formatting cleanup
>> to
>> fix an issue reported by checkpatch before any changes were made.
>>
>> No impact on hardware, security or compatibility
>>
>> ## Testing
>>
>> I confirm that changes are verified on local setup and works as
>> intended:
>> * Build Host(s): Linux, AMD, GCC avr-gcc 14.2
>> * Target(s): AVR DA/DB, tested on breadxavr
>>
>> Tested with ws2812 example application from nuttx-apps. When executed
>> from NSH, the LEDs light up in green color and then repeatedly cycle
>> colors to yellow, red, magenta, blue, cyan and back to green. This
>> sequence of colors is not expected, first color is supposed to be red.
>> After an examination, it was found out that the LEDs used for testing
>> do
>> not behave as documented and interpret the first received byte as red
>> (instead of green as described by the documentation.) This was
>> confirmed
>> by a simple non-RTOS firmware that drives output pin directly with
>> timing achieved by nop instructions. The driver should therefore work
>> with LEDs that behave according to the documentation.
>>
>> Documentation checked by make html
>>
>> ## PR verification Self-Check
>>
>> * [x] This PR introduces only one functional change.
>> * [x] I have updated all required description fields above.
>> * [x] My PR adheres to Contributing
>> [Guidelines](
https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md)
>> and
>> [Documentation](
>> https://nuttx.apache.org/docs/latest/contributing/index.html)
>> (git commit title and message, coding standard, etc).
>> * [ ] My PR is still work in progress (not ready for review).
>> * [x] My PR is ready for review and can be safely merged into a
>> codebase.
>>
>> ============================
>>
>> On 2026-10-29 15:46, Swatantra wrote:
>> > Hello Kerogit,
>> > I have rebased the AVR DA/DB software interrupt emulation patch series
>> > (`avrdx_swint`) onto latest master and submitted the Pull Request on
>> > your
>> > behalf:
>> > https://github.com/apache/nuttx/pull/21129
>> >
>> > All commit authorship, DCO sign-offs, and checkpatch requirements have
>> > been
>> > verified.
>> >
>> > Best regards,
>> > Swatantra
>> >
>> > On Wed, 28 Oct 2026 at 05:11, <[email protected]> wrote:
>> >
>> >> Hello,
>> >>
>> >> I noticed that the previous phase got merged - thanks to everyone
>> >> involved. Step 3 is support for software interrupt emulation, branch
>> >> name is avrdx_swint. Documentation builds without conflicts and
>> >> checkpatch reports all checks pass for every changed source code
file.
>> >>
>> >> ============================
>> >>
>> >> AVR: software interrupt emulation
>> >>
>> >> ## Summary
>> >>
>> >> This patch adds emulated software interrupt functionality to AVR
DA/DB
>> >> architecture. The chip itself does not have any software interrupt
and
>> >> the suggested way to implement one is to manipulate an I/O pin
>> >> configured to trigger a hardware interrupt. The implementation can
>> >> serve
>> >> multiple users at the same time and also supports sharing the
hardware
>> >> interrupt of the I/O port with other users.
>> >>
>> >> There is no in-tree user of this functionality yet, intended use is a
>> >> follow-up patch series that adds driver for WS2812 programmable LED.
>> >>
>> >> ## Impact
>> >>
>> >> **New feature**: software interrupt emulation for AVR DA/DB family
>> >>
>> >> **Impact on user**: none, new code is not enabled by default. Other
>> >> AVR
>> >> families are not supported and not affected.
>> >>
>> >> **Impact on build**: new Kconfig options related to the new feature,
>> >> none otherwise
>> >>
>> >> **Impact on documentation**: zero latency interrupts guide updated
>> >> (mentions software interrupt emulation as a way to "get back into the
>> >> game")
>> >>
>> >> No impact on hardware, security or compatibility
>> >>
>> >> ## Testing
>> >>
>> >> I confirm that changes are verified on local setup and works as
>> >> intended:
>> >> * Build Host(s): Linux, AMD, GCC avr-gcc 14.2
>> >> * Target(s): AVR DA/DB, tested on breadxavr
>> >>
>> >> Tested with the (not yet merged) WS2812 driver which uses this
>> >> functionality to notify the OS that the data transmission performed
by
>> >> the zero latency interrupt handler is finished.
>> >>
>> >> Other than that - Documentation tested by make html, changed source
>> >> code
>> >> files tested with checkpatch.sh
>> >>
>> >> ## PR verification Self-Check
>> >>
>> >> * [x] This PR introduces only one functional change.
>> >> * [x] I have updated all required description fields above.
>> >> * [x] My PR adheres to Contributing
>> >> [Guidelines](
>> https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md)
>> >> and
>> >> [Documentation](
>> >> https://nuttx.apache.org/docs/latest/contributing/index.html)
>> >> (git commit title and message, coding standard, etc).
>> >> * [ ] My PR is still work in progress (not ready for review).
>> >> * [x] My PR is ready for review and can be safely merged into a
>> >> codebase.
>> >>
>> >> ============================
>> >>
>> >>
>> >> On 2026-10-16 18:20, Swatantra wrote:
>> >> > Hi, No worries at all. Aspell definitely generates a lot of false
>> >> > positives
>> >> > with embedded hardware terminology, and Sphinx's autosectionlabel
>> >> > extension
>> >> > is notorious for flagging duplicate headings across sections.
>> >> >
>> >> > That's the beauty of pair-shepherding—catching those CI quirks
>> together
>> >> > makes the upstream submission smooth.
>> >> >
>> >> > The force-pushed commit is now building cleanly in GitHub Actions
CI.
>> I
>> >> > will keep an eye on the review progress with Alin and the
maintainers
>> >> > and
>> >> > keep you posted here.
>> >> >
>> >> > Best regards,
>> >> > Swatantra Yadav
>> >> >
>> >> > On Fri, 16 Oct 2026 at 21:39, <[email protected]> wrote:
>> >> >
>> >> >> Hi, thanks for posting the patches and for the fixes. I am
>> >> >> spellchecking
>> >> >> the commits as well but there is lot of noise (aspell doesn't like
>> the
>> >> >> word datasheet, let alone AVR) so it's unfortunately easy to miss
>> >> >> something. And sorry about the duplicate label, I tested that
>> document
>> >> >> with make html and found and fixed 2 of those warnings but it did
not
>> >> >> occur to me that this label needs to be fixed in earlier patch
than
>> >> >> where I did it.
>> >> >>
>> >> >> On 2026-10-16 17:00, Swatantra wrote:
>> >> >> > Hi Kerogit,
>> >> >> >
>> >> >> > I have submitted your Phase 2 series (Zero Latency Interrupt
>> Handlers)
>> >> >> > as a
>> >> >> > pull request on GitHub:
>> >> >> >
>> >> >> > PR: https://github.com/apache/nuttx/pull/20706
>> >> >> >
>> >> >> > Details of the submission:
>> >> >> > - Rebased cleanly on top of the latest apache/nuttx master
(which
>> >> >> > includes
>> >> >> > merged PR #20677).
>> >> >> > - Fixed a minor documentation typo ("overriden" ->
"overridden") in
>> >> >> > zerolatencyinterrupts.rst so that GitHub Actions CI checks
>> (codespell)
>> >> >> > pass
>> >> >> > cleanly.
>> >> >> > - Preserved your original author attribution and DCO sign-off
>> >> >> > exclusively
>> >> >> > across all 4 commits.
>> >> >> > - Validated with checkpatch.sh and cvt2utf (0 errors, 0
warnings).
>> >> >> >
>> >> >> >
>> >> >> > Best regards,
>> >> >> > Swatantra Yadav
>> >> >> >
>> >> >> > On Fri, 16 Oct 2026 at 18:08, <[email protected]> wrote:
>> >> >> >
>> >> >> >> Hello, thanks, I see it merged, next step is zero latency
>> interrupt
>> >> >> >> handling in branch named avrdx_zerolatency_intr. It rebased
>> cleanly
>> >> on
>> >> >> >> current master branch. PR description is:
>> >> >> >>
>> >> >> >> ============================
>> >> >> >>
>> >> >> >> AVR: support for zero latency interrupt handlers
>> >> >> >>
>> >> >> >> ## Summary
>> >> >> >>
>> >> >> >> This patch series provides support for so-called zero latency
>> >> >> >> interrupts
>> >> >> >> as described in
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>>
https://nuttx.apache.org/docs/latest/guides/concurrency/zerolatencyinterrupts.html
>> >> >> >> . These can be used for driver code that needs the interrupt
>> handler
>> >> >> >> to
>> >> >> >> run with as little overhead as possible (for example because
it is
>> >> >> >> latency sensitive, runs very often etc.) This series does not
add
>> any
>> >> >> >> in-tree user, that is a topic of a planned follow-up (driver
for
>> >> >> >> WS2812
>> >> >> >> programmable LED.)
>> >> >> >>
>> >> >> >> This support is only added for DA/DB family of AVR chips.
>> >> >> >>
>> >> >> >> There are also some fixes of interrupt vectors table
(incorrectly
>> >> >> >> numbered vectors as a result of duplicates) and Kconfig option
>> >> naming.
>> >> >> >> In addition to that, interupt vectors are renamed (for DA/DB
>> family
>> >> >> >> only) to be able to override them with custom code written in C
>> (and
>> >> >> >> compiled with GCC which expects __vector prefix in the name.)
>> >> >> >>
>> >> >> >> ## Impact
>> >> >> >>
>> >> >> >> New feature is added: zero latency interrupts that override
>> regular
>> >> >> >> interrupt routine with a custom code completely independent on
the
>> >> >> >> rest
>> >> >> >> of the operating system.
>> >> >> >>
>> >> >> >> There is no impact on existing users, all new code is off by
>> default.
>> >> >> >> No
>> >> >> >> impact on other architectures nor other AVR families either.
>> >> >> >>
>> >> >> >> Impact on build - some Kconfig options are renamed from HAS_ to
>> >> >> >> preferred HAVE_ form. This renaming only touches existing
Kconfig
>> >> >> >> options that are referred to by newly added Kconfig options
(ie.
>> the
>> >> >> >> new
>> >> >> >> option depends on the existing one.) All of the renamed options
>> are
>> >> >> >> selected automatically based on chip in use so this change
should
>> >> have
>> >> >> >> no impact on existing configurations.
>> >> >> >>
>> >> >> >> Impact on documentation - the guide linked in the summary is
>> updated
>> >> >> >> to
>> >> >> >> describe specifics of the AVR implementation.
>> >> >> >>
>> >> >> >> No impact on hardware, security or compatibility.
>> >> >> >>
>> >> >> >> ## Testing
>> >> >> >>
>> >> >> >> I confirm that changes are verified on local setup and
works as
>> >> >> >> intended:
>> >> >> >> * Build Host: Linux, AMD, GCC - avr-gcc 14.2
>> >> >> >> * Target: AVR DA/DB, tested on breadxavr board
>> >> >> >>
>> >> >> >> To test that the interrupt vector renaming did not affect other
>> AVR
>> >> >> >> families, mega1284p-xplained:nsh was built and disassembly
>> compared.
>> >> >> >> There was no change.
>> >> >> >>
>> >> >> >> The feature was first tested by rudimentary application that
>> >> >> >> controlled
>> >> >> >> WS2812 programmable LED outside of the OS and then by a new
driver
>> >> for
>> >> >> >> that LED using ws2812 example application from nuttx-apps.
>> >> >> >>
>> >> >> >> ## PR verification Self-Check
>> >> >> >>
>> >> >> >> * [x] This PR introduces only one functional change.
>> >> >> >> * [x] I have updated all required description fields above.
>> >> >> >> * [x] My PR adheres to Contributing
>> >> >> >> [Guidelines](
>> >> >> https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md)
>> >> >> >> and
>> >> >> >> [Documentation](
>> >> >> >> https://nuttx.apache.org/docs/latest/contributing/index.html)
>> >> >> >> (git commit title and message, coding standard, etc).
>> >> >> >> * [ ] My PR is still work in progress (not ready for
review).
>> >> >> >> * [x] My PR is ready for review and can be safely merged
into a
>> >> >> >> codebase.
>> >> >> >>
>> >> >> >> ============================
>> >> >> >>
>> >> >> >> On 2026-10-15 07:41, Swatantra wrote:
>> >> >> >> > Hi Kerogit, Alin,
>> >> >> >> >
>> >> >> >> > I have opened the Pull Request for Step 1 on GitHub on
behalf of
>> >> >> >> > Kerogit:
>> >> >> >> > https://github.com/apache/nuttx/pull/20677
>> >> >> >> >
>> >> >> >> > All 4 commits preserve Kerogit's original authorship and DCO
>> >> >> sign-offs,
>> >> >> >> > rebased cleanly onto current master, and checked with
nxstyle.
>> >> >> >> > As discussed, we will proceed step-by-step: once this PR is
>> >> reviewed
>> >> >> >> > and
>> >> >> >> > merged, we can proceed with Step 2 (Zero Latency Interrupts).
>> >> >> >> >
>> >> >> >> > Best regards,
>> >> >> >> > Swatantra Yadav
>> >> >> >> >
>> >> >> >> > On Thu, 15 Oct 2026 at 03:15, <[email protected]> wrote:
>> >> >> >> >
>> >> >> >> >> Hello,
>> >> >> >> >>
>> >> >> >> >> thanks to everyone for the offers. First part of the series
is
>> >> ready
>> >> >> >> >> in
>> >> >> >> >> the Git repository, branch is named avrdx_fixes_13.1. The PR
>> >> >> >> >> description
>> >> >> >> >> is below. I'll be looking at Github and if any question
arise,
>> I
>> >> will
>> >> >> >> >> answer them here.
>> >> >> >> >>
>> >> >> >> >> And just in case - since you mention splitting the patches
into
>> >> >> >> >> individual PRs. If you mean breaking the branch into 4
separate
>> >> >> >> >> branches, I would advise against that. The features more or
>> less
>> >> >> >> >> depend
>> >> >> >> >> on each other (software interrupt emulation changes file
added
>> by
>> >> the
>> >> >> >> >> zero latency interrupts, WS2812 uses both of these features
>> etc.)
>> >> so
>> >> >> >> >> trying to split them up is most likely going to end with git
>> >> >> conflicts
>> >> >> >> >> and code that does not build. That's why I was planning to
>> merge
>> >> this
>> >> >> >> >> in
>> >> >> >> >> step-by-step fashion.
>> >> >> >> >>
>> >> >> >> >> The filled PR template:
>> >> >> >> >>
>> >> >> >> >> ============================
>> >> >> >> >>
>> >> >> >> >> AVR DA/DB: fix for build failure and other smaller fixes
>> >> >> >> >>
>> >> >> >> >> ## Summary
>> >> >> >> >>
>> >> >> >> >> This patch series fixes build failure for AVR DA/DB family
and
>> >> adds
>> >> >> >> >> some
>> >> >> >> >> other smaller fixes.
>> >> >> >> >>
>> >> >> >> >> The build failure was caused by patch series that added
>> >> >> >> >> LIBC_ATOMIC_IRQ
>> >> >> >> >> Kconfig option during 13.1 development. Commit 4ca2256a9bee
>> >> selects
>> >> >> >> >> this
>> >> >> >> >> option by default for AVR chips but not for the DA/DB
family,
>> >> causing
>> >> >> >> >> a
>> >> >> >> >> build failure (atomic functions are missing.) The first
patch
>> of
>> >> this
>> >> >> >> >> series simply adds missing "select LIBC_ATOMIC_IRQ" for this
>> >> family
>> >> >> as
>> >> >> >> >> well.
>> >> >> >> >>
>> >> >> >> >> Other than that, version 13.1 added a performance regression
>> which
>> >> >> >> >> manifested as dropped bytes in USART peripheral during
receive
>> >> (with
>> >> >> >> >> heavy round-robin preemptive scheduling load.) The
regression
>> was
>> >> >> >> >> bisected to commit b32712d0a2 that fixes some bugs (which
were
>> >> >> >> >> affecting
>> >> >> >> >> AVR DA/DB default build as well) but apparently adds more
>> >> >> >> >> time-consuming
>> >> >> >> >> work to context switch with interrupts disabled. The patch
for
>> >> this
>> >> >> >> >> simply documents this possibility in the USART driver
>> description.
>> >> >> >> >>
>> >> >> >> >> The remaining patches fix unused variable warning, make
(very
>> >> >> >> >> unlikely)
>> >> >> >> >> board initialization error more visible and reorder
>> manipulation
>> >> with
>> >> >> >> >> stack pointer during context restore to do it in the way
>> >> (presumably)
>> >> >> >> >> intended by the chip manufacturer.
>> >> >> >> >>
>> >> >> >> >> ## Impact
>> >> >> >> >>
>> >> >> >> >> After the patch is applied, it is again possible to build
the
>> >> code.
>> >> >> >> >> Other than that, there is no impact on existing code/users.
>> >> >> >> >>
>> >> >> >> >> The stack pointer reordering change is done in file shared
with
>> >> other
>> >> >> >> >> AVR families - #ifdef blocks are used to cause no change for
>> them
>> >> >> >> >>
>> >> >> >> >> ## Testing
>> >> >> >> >>
>> >> >> >> >> I confirm that changes are verified on local setup and
work
>> as
>> >> >> >> >> intended:
>> >> >> >> >> * Build Host: Linux, AMD, GCC-AVR 14.2
>> >> >> >> >> * Target: AVR (AVR128DA28), breadxavr:nsh
>> >> >> >> >>
>> >> >> >> >> Testing logs before change:
>> >> >> >> >>
>> >> >> >> >> ```
>> >> >> >> >> $ tools/configure.sh -l breadxavr:nsh
>> >> >> >> >> $ make -j16
>> >> >> >> >> ...
>> >> >> >> >> avr-ld: .../nuttx.git/staging/libsched.a(sem_destroy.o): in
>> >> function
>> >> >> >> >> `.L3':
>> >> >> >> >> sem_destroy.c:(.text.nxsem_destroy+0x46): undefined
reference
>> to
>> >> >> >> >> `__atomic_load_4'
>> >> >> >> >> ...
>> >> >> >> >> ```
>> >> >> >> >>
>> >> >> >> >> Testing logs after change:
>> >> >> >> >>
>> >> >> >> >> ```
>> >> >> >> >> $ tools/configure.sh -l breadxavr:nsh
>> >> >> >> >> $ make -j16
>> >> >> >> >> Register: nsh
>> >> >> >> >> Register: sh
>> >> >> >> >> LD: nuttx
>> >> >> >> >> Memory region Used Size Region Size %age Used
>> >> >> >> >> flash: 56377 B 128 KB 43.01%
>> >> >> >> >> sram: 780 B 16 KB 4.76%
>> >> >> >> >> eeprom: 0 B 512 B 0.00%
>> >> >> >> >> rodata: 606 B 4 KB 14.79%
>> >> >> >> >> CP: nuttx.hex
>> >> >> >> >> CP: nuttx.asm
>> >> >> >> >> ```
>> >> >> >> >>
>> >> >> >> >> To verify that the stack pointer change did not affect other
>> AVR
>> >> >> >> >> families, mega1284p-xplained:nsh was built before and after
the
>> >> >> >> >> change.
>> >> >> >> >> The resulting binary was identical (with the exception of
>> version
>> >> >> >> >> string.)
>> >> >> >> >>
>> >> >> >> >> Header and source files were checked by checkpatch with no
>> issues
>> >> >> >> >> found,
>> >> >> >> >> spelling checked with aspell.
>> >> >> >> >>
>> >> >> >> >> ## PR verification Self-Check
>> >> >> >> >>
>> >> >> >> >> * [x] This PR introduces only one functional change.
>> >> >> >> >> * [x] I have updated all required description fields
above.
>> >> >> >> >> * [x] My PR adheres to Contributing
>> >> >> >> >> [Guidelines](
>> >> >> >> https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md)
>> >> >> >> >> and
>> >> >> >> >> [Documentation](
>> >> >> >> >>
https://nuttx.apache.org/docs/latest/contributing/index.html)
>> >> >> >> >> (git commit title and message, coding standard, etc).
>> >> >> >> >> * [ ] My PR is still work in progress (not ready for
>> review).
>> >> >> >> >> * [x] My PR is ready for review and can be safely merged
>> into a
>> >> >> >> >> codebase.
>> >> >> >> >>
>> >> >> >> >> ============================
>> >> >> >> >>
>> >> >> >> >> On 2026-10-14 18:20, Abhishek Mishra wrote:
>> >> >> >> >> > Hi,
>> >> >> >> >> >
>> >> >> >> >> > I'd be happy to help split the patches into individual PRs
>> and
>> >> >> work on
>> >> >> >> >> > getting them merged. Please let me know how you'd like to
>> >> >> coordinate.
>> >> >> >> >> >
>> >> >> >> >> > Best regards,
>> >> >> >> >> > Abhishek
>> >> >> >> >> >
>> >> >> >> >> > On Wed, Oct 14, 2026 at 9:09 PM Alin Jerpelea <
>> >> [email protected]>
>> >> >> >> >> > wrote:
>> >> >> >> >> >
>> >> >> >> >> >> please prepare the first patches and I will handle them
>> >> >> >> >> >>
>> >> >> >> >> >> Best regards
>> >> >> >> >> >> Alin J
>> >> >> >> >> >>
>> >> >> >> >> >> On Wed, 14 Oct 2026, 16:37 Alin Jerpelea, <
>> [email protected]>
>> >> >> >> wrote:
>> >> >> >> >> >>
>> >> >> >> >> >> > Hi,
>> >> >> >> >> >> >
>> >> >> >> >> >> > I can lend a hand tomorrow
>> >> >> >> >> >> >
>> >> >> >> >> >> > Thanks for your message
>> >> >> >> >> >> >
>> >> >> >> >> >> > Best regards
>> >> >> >> >> >> > Alin
>> >> >> >> >> >> >
>> >> >> >> >> >> > On Wed, 14 Oct 2026, 11:18 Felipe Moura Oliveira, <
>> >> >> >> >> [email protected]>
>> >> >> >> >> >> > wrote:
>> >> >> >> >> >> >
>> >> >> >> >> >> >> Hello,
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> I am away from my desk for the next few days. If no
one
>> >> offers
>> >> >> to
>> >> >> >> >> help
>> >> >> >> >> >> by
>> >> >> >> >> >> >> this weekend, I will reach out to you so I can help
you
>> with
>> >> >> this.
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> Regards,
>> >> >> >> >> >> >>
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> *--Felipe Moura de Oliveira*
>> >> >> >> >> >> >> Linkedin <
>> >> https://www.linkedin.com/in/felipe-oliveira-75a651a0
>> >> >> >
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> On Wed, 14 Oct 2026 at 10:48 <[email protected]>
wrote:
>> >> >> >> >> >> >>
>> >> >> >> >> >> >> > Hello,
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> > I would like to ask someone to help me merge some
>> patches
>> >> for
>> >> >> >> the
>> >> >> >> >> AVR
>> >> >> >> >> >> >> > architecture, DA/DB family. I have a series ready
with
>> >> some
>> >> >> >> fixes
>> >> >> >> >> and
>> >> >> >> >> >> >> > some new features. Same as before, I don't have a
>> Github
>> >> >> account
>> >> >> >> >> so I
>> >> >> >> >> >> am
>> >> >> >> >> >> >> > looking for someone who could open pull requests
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> > The series as a whole is available in my "nuttx.git"
>> >> >> repository
>> >> >> >> at
>> >> >> >> >> >> >> > git.kerogit.eu accessible through HTTP/S. The
relevant
>> >> >> branch
>> >> >> >> is
>> >> >> >> >> >> named
>> >> >> >> >> >> >> > avrdx_ws2812_upstream .
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> > In its current form, the branch is not suitable for
>> >> merging
>> >> >> - it
>> >> >> >> >> would
>> >> >> >> >> >> >> > be more than one feature per one PR which is against
>> the
>> >> >> >> >> contributing
>> >> >> >> >> >> >> > rules. My plan is, if someone decides to help, to
split
>> >> the
>> >> >> >> series
>> >> >> >> >> >> into
>> >> >> >> >> >> >> > steps and merge these steps one by one. After one
step
>> is
>> >> >> >> merged, I
>> >> >> >> >> >> >> > would rebase the remainder on current master branch
and
>> >> >> provide
>> >> >> >> >> next
>> >> >> >> >> >> >> > step. I also plan to prepare text to be filled in
the
>> PR
>> >> form
>> >> >> >> >> >> >> > (essentialy doing as much as possible to make the
job
>> >> easier
>> >> >> for
>> >> >> >> >> the
>> >> >> >> >> >> >> > person who will interact with Github.)
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> > There are four features:
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> > 1. fixes - build failure introduced between 13.0 and
>> 13.1,
>> >> >> >> >> documenting
>> >> >> >> >> >> >> > performance regression between these versions and
some
>> >> minor
>> >> >> >> stuff
>> >> >> >> >> >> >> > 2. zero latency interrupt support -
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >>
>> >> >> >> >> >>
>> >> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>>
https://nuttx.apache.org/docs/latest/guides/concurrency/zerolatencyinterrupts.html
>> >> >> >> >> >> >> > 3. software interrupt emulation
>> >> >> >> >> >> >> > 4. lower half for WS2812 driver
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >> > Thanks
>> >> >> >> >> >> >> >
>> >> >> >> >> >> >>
>> >> >> >> >> >> >
>> >> >> >> >> >>
>> >> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>>