quasar_debug.h

Debug module for Quasar BSP, providing debug IOs control and UART communication.

Copyright

Copyright (C) 2026 SPARK Microsystems International Inc. All rights reserved.

License

This source code is proprietary and subject to the SPARK Microsystems Software EULA found in this package in file EULA.txt.

Author

SPARK FW Team.

Typedefs

typedef enum quasar_debug_io_peripheral quasar_debug_io_peripheral_t

Quasar BSP debug IO peripherals selection.

Enums

enum quasar_debug_io_peripheral

Quasar BSP debug IO peripherals selection.

Values:

enumerator QUASAR_DEBUG_IO_1

Expansion port IO 0 (PA4).

enumerator QUASAR_DEBUG_IO_2

Expansion port IO 1 (PA5).

enumerator QUASAR_DEBUG_IO_3

Expansion port IO 2 (PC3).

enumerator QUASAR_DEBUG_IO_4

Expansion port IO 3 (PC5).

enumerator QUASAR_DEBUG_IO_5

Expansion port IO 4 (PB1).

Functions

void quasar_debug_init(void)

Initialize the debug UART (ST-Link) and debug IO peripherals.

void quasar_debug_deinit(void)

Deinitialize debug IO peripherals.

void quasar_debug_io_set(quasar_debug_io_peripheral_t quasar_debug_io_peripheral)

Set debug IO peripheral.

Parameters:

quasar_debug_io_peripheral[in] Selected debug io peripheral.

void quasar_debug_io_clear(quasar_debug_io_peripheral_t quasar_debug_io_peripheral)

Clear debug IO peripheral.

Parameters:

quasar_debug_io_peripheral[in] Selected debug io peripheral.

void quasar_debug_io_toggle(quasar_debug_io_peripheral_t quasar_debug_io_peripheral)

Toggle debug IO peripheral.

Parameters:

quasar_debug_io_peripheral[in] Selected debug io peripheral.

void quasar_debug_io_pulse(quasar_debug_io_peripheral_t quasar_debug_io_peripheral)

Pulse debug IO peripheral.

Parameters:

quasar_debug_io_peripheral[in] Selected debug io peripheral.

void quasar_debug_uart_transmit_blocking(uint8_t *data, uint16_t size, uint32_t timeout_ms, quasar_bsp_status_t *err)

Transmit over debug UART using blocking method.

Note

The UART protocol is set to 115200 baud, 8 data bits, no parity, and 1 stop bit (115200 8N1).

Parameters:
  • data[in] Data to be transmitted.

  • size[in] Size of the data array to be transmitted.

  • timeout_ms[in] The amount of milliseconds before timeout.

  • err[out] Pointer to store error status.