cu-ecen-aeld / final-project-acpabst

final-project-acpabst created by GitHub Classroom
0 stars 0 forks source link

MemoryMania aesdchar integration #5

Closed acpabst closed 2 months ago

acpabst commented 2 months ago

Blocked by #3

Once the initial game implantation is in place, it will be time to integrate aesdchar into the game, rather than using an in program buffer. This could eventually allow for the game to be paused a returned to, because the sequence of buttons would be saved in the char device, rather than in the game itself.

This can be tested by running the game, and mid game, accessing the aesdchar buffer seperately via cat. It should print the sequence of characters up to this point.

DoD

Summary The following commits are those associated with this ticket yocto: #fb1a855 app: #b915eea Building an image using these results in a game which uses the aesdchar to store the sequence of characters. I was able to test this implementation before implementing the flush - after the game was played an exited successfully, you could cat the aesdchar device and see the characters used that game. Now, the flushing at the end of the program removes all the characters from the buffer.

acpabst commented 2 months ago

I have integrated the buffer locally, and it works well (except for the flushing, which is broken at the moment) with the keyboard test set up (since I am working on an AWS linux instance, and cannot connect the Xbox controller to it!) I am currently having trouble adding this update to the yocto build. Because there is an ioctl, i need the aesd_ioctl.h file, but adding a git submodule to the bb file is not working yet.

acpabst commented 2 months ago

Turns out my aesdchar is not getting loaded on boot, so there's no device to talk to when playing the game. Seems like I have conflicting inti systems on my raspberry pi (init.d and systemd) and so the aesdchar init script is never getting run. Current theory is that I will need to completely shift the aesdchar init to systemd. Good news is that I played a lot with systemd and services when I was getting the wifi up and running on the pi, so I'm hopeful it won't take me forever to make the switch.

acpabst commented 2 months ago

Aesdchar is now loading automatically! I can now get back to actually integrating it into the game.

acpabst commented 2 months ago

I have finished integrating aesdchar into the game, including using the new ioctl function to flush the buffer when the game is through.