|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
USB HID self-loop console formatters (SCI8 -> J-Link OB CDC). More...
#include <stddef.h>#include <stdint.h>#include "ra8_board_ek_ra8d2.h"#include "ra8_err.h"#include "usb_selftest_hid_steps.h"Go to the source code of this file.
Enumerations | |
| enum | hid_mask_t : uint32_t { k_hid_nibble_mask = 0xFU , k_hid_dec_radix = 10U } |
| Bit-mask constants used by the text formatters. More... | |
Functions | |
| static uint8_t | hid_nibble_to_hex (uint32_t nibble) |
| Format one nibble (0..15) into an uppercase hex character. | |
| static uint32_t | hid_str_len (const char *text) |
| Bounded ASCII string length (cap k_hid_print_cap). | |
| static ra8_err_t | hid_sci_write (const uint8_t *data, uint32_t len) |
| Push a literal block over SCI8 polled. | |
| ra8_err_t | hid_print (const char *text) |
| Print a NUL-terminated ASCII string over the console. | |
| ra8_err_t | hid_print_dec (uint32_t value) |
| Print a uint32_t as ASCII decimal. | |
| ra8_err_t | hid_print_hex (uint32_t value, uint8_t digits) |
| Print a value as fixed-width uppercase hex. | |
| ra8_err_t | hid_print_fail (const char *what, ra8_err_t err) |
| Print "FAIL <what> err=0xNNNNNNNN" on its own line. | |
USB HID self-loop console formatters (SCI8 -> J-Link OB CDC).
The console-formatter cluster split out of the usb_selftest_hid main translation unit: the polled SCI8 text helpers that stream verdicts over the J-Link OB CDC bridge. These are pure formatting routines (bounded decimal / fixed-width hex / one-line FAIL diagnostics) with no USBX or ThreadX dependency; they live behind the off-target guard solely because the application as a whole is hardware-only.
The public entry points (hid_print, hid_print_dec, hid_print_hex, hid_print_fail) are declared in usb_selftest_hid_steps.h and consumed by both main.c and the host cluster.
Definition in file usb_selftest_hid_console.c.
| enum hid_mask_t : uint32_t |
Bit-mask constants used by the text formatters.
| Enumerator | |
|---|---|
| k_hid_nibble_mask | 4-bit nibble mask. |
| k_hid_dec_radix | Base for decimal conversion. |
Definition at line 40 of file usb_selftest_hid_console.c.
|
static |
Format one nibble (0..15) into an uppercase hex character.
Standard '0'-'9' then 'A'-'F' mapping.
| [in] | nibble | 4-bit value. |
| '0' | For a zero nibble. |
Definition at line 63 of file usb_selftest_hid_console.c.
References k_hid_hex_digit_split.
Referenced by hid_print_hex().
|
nodiscard |
Print a NUL-terminated ASCII string over the console.
| [in] | text | String to print (CR/LF included by the caller). |
| k_ra8_ok | All bytes queued. |
text is non-NULL. text is NUL-terminated within k_hid_print_cap bytes. Definition at line 125 of file usb_selftest_hid_console.c.
References hid_sci_write(), hid_sci_write(), hid_str_len(), and hid_str_len().
Referenced by hid_host_pass(), hid_host_pass(), hid_print_enum(), hid_print_enum(), hid_print_fail(), hid_print_pass(), and hid_print_pass().
|
nodiscard |
Print a uint32_t as ASCII decimal.
| [in] | value | Value to print. |
| k_ra8_ok | All bytes queued. |
Definition at line 130 of file usb_selftest_hid_console.c.
References hid_sci_write(), hid_sci_write(), k_hid_dec_chars_u32, and k_hid_dec_radix.
Referenced by hid_print_pass(), and hid_print_pass().
Print "FAIL <what> err=0xNNNNNNNN" on its own line.
| [in] | what | Short description of the failed step. |
| [in] | err | Error code returned by the step. |
| k_ra8_ok | The diagnostic line is queued. |
what is NUL-terminated within the print cap. Definition at line 168 of file usb_selftest_hid_console.c.
References hid_print(), hid_print_hex(), k_hid_hex_chars_u32, and k_ra8_ok.
Referenced by hid_enumerate(), hid_enumerate(), hid_host_pass(), hid_host_pass(), hid_read_round(), and hid_read_round().
|
nodiscard |
Print a value as fixed-width uppercase hex.
| [in] | value | Value to print. |
| [in] | digits | Hex digit count (4 for u16, 8 for u32). |
| k_ra8_ok | All bytes queued. |
digits is at most k_hid_hex_chars_u32. Definition at line 154 of file usb_selftest_hid_console.c.
References hid_nibble_to_hex(), hid_nibble_to_hex(), hid_sci_write(), hid_sci_write(), k_hid_hex_chars_u32, k_hid_nibble_bits, and k_hid_nibble_mask.
Referenced by hid_print_enum(), hid_print_enum(), and hid_print_fail().
|
staticnodiscard |
Push a literal block over SCI8 polled.
Thin wrapper fixing the console channel.
| [in] | data | Buffer to send. |
| [in] | len | Byte count. |
| k_ra8_ok | All bytes queued. |
data is non-NULL; the BSP console init already ran. len excludes any NUL terminator. Definition at line 120 of file usb_selftest_hid_console.c.
References ra8_board_uart_console_write().
Referenced by hid_print(), hid_print_dec(), and hid_print_hex().
|
static |
Bounded ASCII string length (cap k_hid_print_cap).
Linear scan with a hard upper bound.
| [in] | text | NUL-terminated string. |
| 0 | For an empty string. |
text is non-NULL. text points to readable storage of at least the length. Definition at line 89 of file usb_selftest_hid_console.c.
References k_hid_print_cap.
Referenced by hid_print().