Stm32f3Discovery board

Hello,

I see on the wiki page that there is a port to the STM32F3Discovery boards available, but I was not able to find the board on in the software download. Could you please tell me the status of the port to this board.

Thanks,

Abhinav

Hey Abhinav!

I see on the wiki page that there is a port to the STM32F3Discovery boards available, but I was not able to find the board on in the software download. Could you please tell me the status of the port to this board.

The PR from Hauke is currently under review:

Your review would be appreciated.

Cheers, Oleg

Hey Oleg, Thanks for the info. I am happy to review the code. However, I am not actually using your build system and have setup my own internal builder to compile the libraries I need. So I am not sure how much my review will be useful for you. Regards, Abhinav

Hi Oleg, Not sure I understand this part of the code in the PR https://github.com/RIOT-OS/RIOT/pull/1456. Why does the thread_yield() function appear twice in the file cpu\stm32f3\periph\uart.c? See code snippet below.

static inline void irq_handler(uint8_t uartnum, USART_TypeDef *dev) {     if (dev->ISR & USART_ISR_RXNE) {         char data = (char)dev->RDR;         config[uartnum].rx_cb(data);     }     else if (dev->ISR & USART_ISR_TXE) {         config[uartnum].tx_cb();     }     if (sched_context_switch_request) {         thread_yield();     }     if (sched_context_switch_request) {         thread_yield();     } }

Hi Abhinav,

Hi Oleg, Not sure I understand this part of the code in the PR board/cpu: Added support for the stm32f3discovery board and stm32f3 cpu by haukepetersen · Pull Request #1456 · RIOT-OS/RIOT · GitHub. Why does the thread_yield() function appear twice in the file cpu\stm32f3\periph\uart.c? See code snippet below.

static inline void irq_handler(uint8_t uartnum, USART_TypeDef *dev) {      if (dev->ISR & USART_ISR_RXNE) {          char data = (char)dev->RDR;          config[uartnum].rx_cb(data);      }      else if (dev->ISR & USART_ISR_TXE) {          config[uartnum].tx_cb();      }      if (sched_context_switch_request) {          thread_yield();      }      if (sched_context_switch_request) {          thread_yield();      } }

This is not supposed to be like this, must have overlooked one appearance of thread_yield(). Will fix it.

If you find stuff like this, feel free to comment the code directly in github, this makes it easier to trace!

Thx and cheers, Hauke