--- nono/hd64180/hd647180dev.cpp 2026/04/29 17:05:18 1.1.1.1 +++ nono/hd64180/hd647180dev.cpp 2026/04/29 17:05:51 1.1.1.2 @@ -9,6 +9,7 @@ // #include "mpu64180.h" +#include "event.h" #include "hd647180.h" #include "scheduler.h" @@ -39,7 +40,7 @@ MPU64180Device::EnableTimer() uint64 tick = now / (clock_nsec * 20); uint64 next = (tick + 1) * (clock_nsec * 20); - timer_event.time = next - now; + timer_event->time = next - now; scheduler->StartEvent(timer_event); } @@ -61,7 +62,7 @@ MPU64180Device::ChangeTimerInterrupt() // タイマーイベント void -MPU64180Device::TimerCallback(Event& ev) +MPU64180Device::TimerCallback(Event *ev) { // アクティブがなければ停止 if (active_timer.empty()) { @@ -88,7 +89,7 @@ MPU64180Device::TimerCallback(Event& ev) // 厳密には 162.7604… * 20 = 3.255… [nsec] だが、 // ここでは clock_nsec * 20 = 3.260 [nsec] とする。 // この代入は本当は1回目だけでいいのだが。 - timer_event.time = clock_nsec * 20; + timer_event->time = clock_nsec * 20; scheduler->RestartEvent(ev); }