#include #include "track_core/memory_strip.hpp" int main() { track_core::TrackConfig config{ .draw_kind = track_core::TrackDrawKind::circular, .line_length_m = 10.0F, .active_line_length_m = 4.0F, .head_offset_m = 0.0F, .line_leds_num = 20, }; track_core::TrackInfo info{ .kind = track_core::SchemeKind::speed_input_time_segmented_mileage_free, .color = track_core::Color::green(), .id = 1, .is_running = true, .num_segments = 1, }; track_core::TrackReport report{ .id = 1, .state = track_core::TrackState::run, .mileage_m = 8.5F, .speed_m_s = 1.0F, .time_elapsed_ms = 0, }; track_core::MemoryStrip strip(config.line_leds_num); const auto plan = track_core::make_track_render_plan(config, info, report); static_cast(track_core::apply_render_plan(strip, plan)); static_cast(strip.show()); std::cout << "frame=" << strip.frame_sequence() << " leds=" << strip.leds_count() << "\n"; for (std::size_t i = 0; i < plan.span_count; ++i) { const auto &span = plan.spans[i]; std::cout << "span start=" << span.start_led << " count=" << span.led_count << " color=" << span.color.hex() << "\n"; } }