Seeking

A "new fashioned" televisor, using an Arduino to drive the motor and display.

Moderators: Dave Moll, Andrew Davie, Steve Anderson

Seeking

Postby Andrew Davie » Mon May 22, 2017 1:22 am

I *finally* got the 'seeking' working. When the video is playing back, the seek bar at the bottom of the control page shows the current position in the video. I thought I'd also use this as a draggable control to let me position to anywhere in the video. Well, that turned out to be much more convoluted than it should have been, because of the tricky interaction between the playback interrupt and the 'buffer stuffer' interrupt. It finally boiled down to a calculation that was screwing up, but it took me ages to find.

Note that there is a bit of a delay between when you seek to a new position, and when the data becomes available to play - during which the disc is slowing a bit, so the system needs to resynchronise after each seek, so the frame "wobbles" for a few seconds while that's happening. I'm quite happy leaving that as it is.

You can also see yet another title screen - I seem to tire of whatever is there after a few days.

I think I've now fixed most of the bugs I know about. I really need to move on to the hardware consolidation, and then some sort of enclosure/cabinet/stand.


youtu.be/Ox3V3sJd9D4
User avatar
Andrew Davie
"Gomez!", "Oh Morticia."
 
Posts: 1590
Joined: Wed Jan 24, 2007 4:42 pm
Location: Queensland, Australia

Re: Seeking

Postby Andrew Davie » Fri May 26, 2017 12:11 am

I've spent a lot of time with the disk rotation and synchronisation code to allow the "seek" function to work without requiring a lengthy and annoying "resynchrnoisation". Here's a bit of a test showing me selecting various parts of the video file by changing the seek scrollbar position. The goal is to have the frame "lock" into correct position as quickly as possible - there's a brief black flash, and a sort of frame-roll and then it's done. A half-second or so. I plan to get rid of that brief roll and make it even quicker. Occasionally it runs away into an uncontrollable high-speed disaster - but for the most part it's pretty reliable, as shown here. I still have a bit of work to do, but it's doing most of what I want. Been an interesting journey, as the code is quite complex, involving synchronisation of two interrupts, the main loop and of course the disk rotation.


youtu.be/XE1ypQRSHOY
User avatar
Andrew Davie
"Gomez!", "Oh Morticia."
 
Posts: 1590
Joined: Wed Jan 24, 2007 4:42 pm
Location: Queensland, Australia


Return to Andrew Davie's Arduino Televisor

Who is online

Users browsing this forum: No registered users and 1 guest