Search found 36 matches

by apmorton
Fri May 11, 2018 9:48 pm
Forum: Bug Reports
Topic: STM32 USARTv1/USARTv2 LLD BRR calculation incorrect when using USART_CR1_OVER8 Topic is solved
Replies: 2
Views: 719

Re: STM32 USARTv1/USARTv2 LLD BRR calculation incorrect when using USART_CR1_OVER8 Topic is solved

A mostly unrelated idea that came to mind: it would be nice to have the driver perform % error calculations as a debug assert/check and throw an error if they are outside of some acceptable range. I don't think this should be super difficult to do, as its basically running the calculations in revers...
by apmorton
Fri May 11, 2018 9:37 pm
Forum: Bug Reports
Topic: STM32 USARTv1/USARTv2 LLD BRR calculation incorrect when using USART_CR1_OVER8 Topic is solved
Replies: 2
Views: 719

STM32 USARTv1/USARTv2 LLD BRR calculation incorrect when using USART_CR1_OVER8 Topic is solved

The BRR register is a fixed point decimal, with the lower 4 bits being reserved for the fractional portion. When USART_CR1_OVER8 = 0, the fraction portion uses the full 4 bits. When USART_CR1_OVER8 = 1, the fraction portion uses only the lower 3 bits. However, the field is still 4 bits wide. One cor...
by apmorton
Fri May 11, 2018 9:03 pm
Forum: Bug Reports
Topic: ARMCMx GCC startup assembly checking if CRT0_VTOR_INIT defined and then defining CRT0_FORCE_MSP_INIT Topic is solved
Replies: 1
Views: 439

ARMCMx GCC startup assembly checking if CRT0_VTOR_INIT defined and then defining CRT0_FORCE_MSP_INIT Topic is solved

Both v6m and v6m crt0 files have the bug. It exists in trunk, but goes back to 17.6.x when the lines were introduced. https://github.com/ChibiOS/ChibiOS/blob/master/os/common/startup/ARMCMx/compilers/GCC/crt0_v6m.S#L53 https://github.com/ChibiOS/ChibiOS/blob/master/os/common/startup/ARMCMx/compilers...
by apmorton
Thu Apr 26, 2018 12:03 pm
Forum: Bug Reports
Topic: PAL IOBus functions are not const correct Topic is solved
Replies: 1
Views: 436

PAL IOBus functions are not const correct Topic is solved

The following function definitions: ioportmask_t palReadBus(IOBus *bus); void palWriteBus(IOBus *bus, ioportmask_t bits); void palSetBusMode(IOBus *bus, iomode_t mode); should be changed to: ioportmask_t palReadBus(const IOBus *bus); void palWriteBus(const IOBus *bus, ioportmask_t bits); void palSet...
by apmorton
Wed Apr 04, 2018 12:25 pm
Forum: Development and Feedback
Topic: USB Driver "Deferred" Control Transfers
Replies: 2
Views: 755

Re: USB Driver "Deferred" Control Transfers

Hi, That is effectively what I was doing before. static void usbEventCallback(USBDriver *usbp, usbevent_t event) { switch (event) { case USB_EVENT_RESET: // check if we have not yet patched the endpoint 0 config if (usbp->epc[0] != &my_ep0config) { // copy the original ep0 config my_ep0config = ...
by apmorton
Tue Apr 03, 2018 2:15 pm
Forum: Development and Feedback
Topic: USB Driver "Deferred" Control Transfers
Replies: 2
Views: 755

USB Driver "Deferred" Control Transfers

A common problem I have faced with the ChibiOS USB stack is with implementing setup/control transfers that need to calculate anything dynamic or complex on the fly. When designing your own USB protocol, these kinds of issues can easily be avoided; unfortunately sometimes the protocol already exists,...
by apmorton
Tue Apr 03, 2018 12:57 pm
Forum: Development and Feedback
Topic: UART Driver Hardware Flow Control and the "rx idle loop"
Replies: 2
Views: 784

Re: UART Driver Hardware Flow Control and the "rx idle loop"

After doing more research on the STM32 built-in implementation of RTS, it seems the general consensus is that its almost useless. Because the hardware is not capable of receiving at least one more character after de-asserting RTS, it seems common for overruns to happen at high baud rates. Implementi...
by apmorton
Tue Apr 03, 2018 8:13 am
Forum: Development and Feedback
Topic: UART Driver Hardware Flow Control and the "rx idle loop"
Replies: 2
Views: 784

UART Driver Hardware Flow Control and the "rx idle loop"

Hello, Currently the UART driver is not usable with hardware flow control due to the rx idle loop, which makes the "rxchar_cb" callback possible. Suppose you are attempting to receive a packetized protocol. You want to be able to receive a complete packet, and then allow some upper protoco...
by apmorton
Wed Mar 14, 2018 3:41 am
Forum: Development and Feedback
Topic: [FEEDBACK] New repository
Replies: 31
Views: 4952

Re: [FEEDBACK] New repository

One other thing that would be really nice to have on the git mirror is tags for the released versions. Right now we just have the release branches, which get continuously updated between official releases in the series. This makes it difficult to specifically target a 17.6.4 (or any other specific r...
by apmorton
Sun Mar 04, 2018 3:59 am
Forum: Development and Feedback
Topic: [FEEDBACK] New repository
Replies: 31
Views: 4952

Re: [FEEDBACK] New repository

Have you considered Savannah? https://savannah.gnu.org/ We host free projects that run on free operating systems and without any proprietary software dependencies. New projects are added on a case by case basis, and I don't know exactly how strict they are about licensing terms, but it may be worth ...

Go to advanced search