build: the libavr pin advances over the trait projection
The de-string-2 pass upstream: every peripheral block behind generated instance traits, int-keyed, the string layer gone. The port's share of it is two spellings — the char usart_digit that existed to be pasted into register names becomes the int unit the usart template now takes, and the tsb tiers' one reg<"UBRR0"> is the flat hw::ubrr0 — plus the pbapp harness probing has_usart<0>() instead of instance-name strings. Nine loader codegen families rebuilt green through their full workflows (size matrix and simulator protocol suites included); every image holds its recorded size. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -50,7 +50,7 @@ consteval bool use_hardware()
|
||||
#if defined(PUREBOOT_SOFT_SERIAL)
|
||||
return false;
|
||||
#else
|
||||
return avr::hw::db.has_instance("USART0") || avr::hw::db.has_instance("USART");
|
||||
return avr::uart::has_usart<0>();
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ struct link {
|
||||
#else
|
||||
static constexpr avr::baud_t baud{115200};
|
||||
#endif
|
||||
using tx_t = avr::uart::usart<'0' + PUREBOOT_USART, C, {.baud = baud, .max_baud_error = 2.5_pct}>;
|
||||
using tx_t = avr::uart::usart<PUREBOOT_USART, C, {.baud = baud, .max_baud_error = 2.5_pct}>;
|
||||
static void tx(char c)
|
||||
{
|
||||
tx_t::write(static_cast<std::uint8_t>(c));
|
||||
|
||||
Reference in New Issue
Block a user