Skip to content

Latest changes broke controller mode on Windows #19

@jameshartig

Description

@jameshartig

After the latest changes I see:

WalkingPadCurStatus(dist=0.0, time=0, steps=0, speed=0.0, state=4, mode=2, app_speed=0.23333333333333334, button=2, rest=0000)
2024-11-26 12:01:40 JAMES-FRAMEWORK ph4_walkingpad.pad[112588] DEBUG Status: WalkingPadCurStatus(dist=0.0, time=0, steps=0, speed=0.0, state=4, mode=2, app_speed=0.23333333333333334, button=2, rest=0000)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
    WalkingPad controller

----------------------------------------------------------------------------------------------------------------------------------------------------------------
2024-11-26 12:01:41 JAMES-FRAMEWORK asyncio[112588] DEBUG Using proactor: IocpProactor
2024-11-26 12:01:41 JAMES-FRAMEWORK ph4acmd2[112588] DEBUG Starting new ProactorEventLoop

No prompt ever comes up.

If I remove the ProactorEventLoop creation from ph4-acmd2 then things seem to work correctly again:

-            if self.is_win:
-                self.loop = asyncio.ProactorEventLoop()
-                asyncio.set_event_loop(self.loop)
-                logger.debug("Starting new ProactorEventLoop")
-            else:
                self.loop = asyncio.get_event_loop()
                logger.debug("Starting new event loop")

ProactorEventLoop is the default now on Windows, I believe. I wonder if it should be checking to see if an event loop already exists before creating a new one on Windows since I think the problem is that an event loop already exists but on Windows it would make a new one.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions