Finally we have the logic for the Scheduler implemented. The basic workflow behind the main scheduling algorithm is based on the priority queue concept. When triggered, the program will begin to evaluate the existing objects or “jobs” and give every single one of them a score. This score mechanic is based on a number of constraints and settings like altitude , angular distance to the moon and starting/finishing time. After the best object was selected, the scheduler proceeds to execute the current job. The execution is based on program states (A clean asynchronous way of handling the code) thus code execution is never blocked.
A new feature that was added is the FITS selection method. Instead of regular object selection, a user could now select a FITS image. The image will then be solved into a set of coordinates (RA/DEC) and the regular object will be constructed.
My work for now on will consist in maintaining and cleaning up the code. I am certain that my experience with KDE will not end with GSoC. Big thanks to Jasem for his assistance and guidance.
Stay tuned for the next update that will include a preview of the GUI which suffered small modifications during this last month :).
This update is a little break from my current GSoC project so i won’t talk about my progress just yet. I will talk about the current observers management dialog that is currently active in KStars. Basically, an observation session requires observer information like first name, last name and contact. Currently, an observer could be added only from the settings menu so i thought that it would be more intuitive if this functionality was placed in a more appropirate place and a proper GUI was to be implemented for a better user experience.
This is how the new observers management dialog looks like:
Now, the user has a heads on display on how many observers are currently in the database and has the possibility of managing that information.
Regarding GSoC, i am now working on the main Scheduler logic. I will come with an update as soon as possible. Stay tuned 😀
As we reached the midway of our journey, i think some updates are in order. All i can say is that i had a really good time this last month. Coding and watching the project grow is just awesome. But enough talking, lets get to the interesting part. During this month, with the assistance of my mentor (big thanks here to Jasem) , I designed a GUI for the Scheduler and i implemented the most simple scenario for an observation schedule (I will explain this in a minute). This was done for the purpose of testing, with the intent of further use, of the DBus calls functionallity. As a possible stand alone program, the Scheduler must be as independent as possible. Here you can see how the GUI turned out:
And now, back to the current scheduler logic. I implemented the functionallity for the “Now” scenario. Basically, after a user selects an object, he can specifiy that the observation should start right now by checking the “Now” checkbox. After the scheduler starts, it begins to make DBus calls through the ekos interface like slewing the telescope, loading the sequence file and starting the sequence. The next order of business will be to figure out an algorithm which can determine which is the best object that should be prioritised. Adding the implementation of the “Specific time” functionallity to this algorithm, will make the basic scheduler logic that needs to be implemented. This is it for now. I will return with further updates. Stay tuned 😀
As of today, the coding period for GSOC has started. I can’t describe into words how excited i am about this summer. During the community bonding period i did not only got to know and interact with some of my fellow gsoc students, but i also used some of this break-time to sudy and get myself acquainted with the rest of KStars codebase.
I won’t talk much about my project in my first post because i will keep you guys informed along the way but all i can say is that it will be a very interesting journey and the fact that i will be able to help and see this project grow is giving me a wonderful feeling.
Basicly, what i have to do is a simple scheduler for Ekos. This will automate the process of astrophotography. The automation of this process will undoubtedly provide better astrophotography sessions and overall, raise the efficiency of the observatory.
I will talk about some of my ideas in the next entries.