uart_soft: minor, put spaces around operators

This commit is contained in:
King Kévin 2020-02-17 14:07:20 +01:00
parent ddd0d18d15
commit 4c6629d441
2 changed files with 48 additions and 49 deletions

View File

@ -12,10 +12,10 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/** library to control up to 4 independent receive and transmit software UART ports (code)
* @file uart_soft.c
/** library to control up to 4 independent receive and transmit software UART ports
* @file
* @author King Kévin <kingkevin@cuvoodoo.info>
* @date 2016
* @date 2016-2020
* @note peripherals used: GPIO @ref uart_soft_gpio, timer @ref uart_soft_timer
*/
@ -132,7 +132,7 @@ bool uart_soft_setup(uint32_t *rx_baudrates, uint32_t *tx_baudrates)
if (!uart_soft_rx_states[rx]) { // verify is receive UART is defined
continue; // skip configuration if not defined
}
if (!rx_baudrates || rx_baudrates[rx]==0) { // verify if receive baud rate has been defined
if (!rx_baudrates || 0 == rx_baudrates[rx]) { // verify if receive baud rate has been defined
return false;
}
uart_soft_rx_states[rx]->baudrate = rx_baudrates[rx]; // save baud rate
@ -161,7 +161,7 @@ bool uart_soft_setup(uint32_t *rx_baudrates, uint32_t *tx_baudrates)
if (!uart_soft_tx_states[tx]) { // verify is transmit UART is defined
continue; // skip configuration if not defined
}
if (!tx_baudrates || tx_baudrates[tx]==0) { // verify if transmit baud rate has been defined
if (!tx_baudrates || 0 == tx_baudrates[tx]) { // verify if transmit baud rate has been defined
return false;
}
uart_soft_tx_states[tx]->baudrate = tx_baudrates[tx]; // save baud rate
@ -210,7 +210,7 @@ uint8_t uart_soft_getbyte(uint8_t uart)
uart_soft_rx_states[uart]->buffer_used++; // update used buffer
uart_soft_rx_states[uart]->buffer_byte_used = false; // buffer byte is now in buffer
}
uart_soft_received[uart] = (uart_soft_rx_states[uart]->buffer_used!=0); // notify user if data is available
uart_soft_received[uart] = (0 != uart_soft_rx_states[uart]->buffer_used); // notify user if data is available
uart_soft_rx_states[uart]->lock = false; // free lock
return to_return;
}
@ -224,7 +224,7 @@ void TIM_ISR(UART_SOFT_RX_TIMER)(void)
if (!uart_soft_rx_states[rx]) { // verify if RX exists
continue; // skip if receive port is not defined it
}
uart_soft_rx_states[rx]->byte += ((gpio_get(uart_soft_rx_states[rx]->port, uart_soft_rx_states[rx]->pin)==0 ? 0 : 1)<<(uart_soft_rx_states[rx]->bit-1)); // save bit value
uart_soft_rx_states[rx]->byte += (0 == (gpio_get(uart_soft_rx_states[rx]->port, uart_soft_rx_states[rx]->pin) ? 0 : 1)<<(uart_soft_rx_states[rx]->bit - 1)); // save bit value
if (uart_soft_rx_states[rx]->bit < 8) { // not the last bit received
timer_set_oc_value(TIM(UART_SOFT_RX_TIMER), timer_oc[rx], timer_get_counter(TIM(UART_SOFT_RX_TIMER)) + rcc_ahb_frequency / uart_soft_rx_states[rx]->baudrate); // set timer to next bit
uart_soft_rx_states[rx]->bit++; // wait for next bit
@ -323,7 +323,7 @@ void TIM_ISR(UART_SOFT_TX_TIMER)(void)
}
timer_set_oc_value(TIM(UART_SOFT_TX_TIMER), timer_oc[tx], timer_get_counter(TIM(UART_SOFT_TX_TIMER)) + (rcc_ahb_frequency / uart_soft_tx_states[tx]->baudrate)); // wait for the next frame bit
uart_soft_tx_states[tx]->bit++; // go to next bit
} else if (uart_soft_tx_states[tx]->bit==8) { // transmit stop bit
} else if (8 == uart_soft_tx_states[tx]->bit) { // transmit stop bit
gpio_set(uart_soft_tx_states[tx]->port, uart_soft_tx_states[tx]->pin); // go idle high
timer_set_oc_value(TIM(UART_SOFT_TX_TIMER), timer_oc[tx], timer_get_counter(TIM(UART_SOFT_TX_TIMER)) + (rcc_ahb_frequency / uart_soft_tx_states[tx]->baudrate)); // wait for 1 stop bit
uart_soft_tx_states[tx]->bit++; // go to next bit
@ -346,8 +346,8 @@ static void uart_soft_receive_activity(void)
}
if (uart_soft_rx_states[rx]->state!=gpio_get(uart_soft_rx_states[rx]->port, uart_soft_rx_states[rx]->pin)) { // only do something if state changed
uart_soft_rx_states[rx]->state = gpio_get(uart_soft_rx_states[rx]->port, uart_soft_rx_states[rx]->pin); // save new state
if (uart_soft_rx_states[rx]->bit==0) { // start bit edge detected
if (uart_soft_rx_states[rx]->state==0) { // start bit has to be low
if (0 == uart_soft_rx_states[rx]->bit) { // start bit edge detected
if (0 == uart_soft_rx_states[rx]->state) { // start bit has to be low
timer_set_oc_value(TIM(UART_SOFT_RX_TIMER), timer_oc[rx], timer_get_counter(TIM(UART_SOFT_RX_TIMER)) + (rcc_ahb_frequency / uart_soft_rx_states[rx]->baudrate) * 1.5); // set timer to sample data bit 0 in 1.5 bits
timer_clear_flag(TIM(UART_SOFT_RX_TIMER), timer_flags[rx]); // clear flag before enabling interrupt
timer_enable_irq(TIM(UART_SOFT_RX_TIMER), timer_interrupt[rx]);// enable timer IRQ for RX for this UART
@ -411,4 +411,3 @@ void exti15_10_isr(void)
uart_soft_receive_activity(); // check which GPIO changed
}
#endif

View File

@ -12,10 +12,10 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/** library to control up to 4 independent receive and transmit software UART ports (API)
* @file uart_soft.h
/** library to control up to 4 independent receive and transmit software UART ports
* @file
* @author King Kévin <kingkevin@cuvoodoo.info>
* @date 2016
* @date 2016-2020
* @note peripherals used: GPIO @ref uart_soft_gpio, timer @ref uart_soft_timer
*/