Skip to content

Conversation

@hasslesstech
Copy link
Contributor

@hasslesstech hasslesstech commented Jan 12, 2026

Pull request comes with critical changes to how ULog works. Previously it would skip over consecutive messages due to DMA transmission handling failure (fixed with additional events from driver), it would try to push messages over a dead USB bus (fixed using event flags and a USB state variable controlled directly from driver callbacks), it would cause a HardFault if the connection was not established in time or too many consecutive messages came in (added a check for free queue spaces before adding messages), it would lose messages that arrive up to several seconds after the scheduler is started (fixed by moving init and subscription before other functions inside KPIRover.c)

The default task stack size has been increased after a prolonged investigation of HardFault triggered soon after a snprintf() function call was made. Default task stack would grow over the timer task variable data segment and local variables inside of snprintf() subcalls will be placed on top of timers.c pointers resulting in continuous random writes issued to several of them. This will invalidate pointers and cause an attempt to access non-existing memory during master timer task execution.

@hasslesstech hasslesstech changed the title [WIP] Issue #26: ecu stm32 implement parameters database Issue #26: ecu stm32 implement parameters database Jan 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants