The summer of 2018 was very special for me as I got selected for GSoC for the first time and that too in the first attempt. I got an opportunity to work with FOSSASIA organization. My main work was focused on the PSLab project of FOSSASIA organization which is an open Source Android as well as desktop app which helps students, teachers, and researchers in the stream of science to carry out scientific experiments very easily and with a very less number of tools.
The project was targeted to increase the UI of the PSLab app along with implementing all the major instruments and sensors in Android app available in the hardware device so that all the major scientific instruments can be provided at once to the users so that they don't have to use any extra device as a support for PSLab's device.
PSLab device contains all the major scientific instruments and sensors such as 4 channel Oscilloscope, 4 channel Logic Analyzer, Multimeter, Wave Generator, Magnetic Compass, Lux Meter, and many more on just a single PIC MicroController Board. The device also contains an I2C communication channel for communicating with external sensors.
My main tasks were related to the repositories PSLab Android and PSLab Experiments for developing the Android application and making documentations for varoius experiments respectively. The first month of the coding program was mainly focused on understanding the Android repository and making documentations of new experiments and also transfer old experiments from Android to Experiments repo. It was the second month were the intense coding began and in that month, I developed most of the Android app. The third month was given for developing more sensors in the app and also to add new functionalities in the app.
It was a great summer working with my fellow developers to make an app which helps the community to conduct there work much more easily and efficiently. The app was an output of the combined efforts made by all of us during this summer.
Find all the pull requests I made to the following repositories
Find all the individual commits I made to the following repositories
Find all the issues opened by me in the following repositories
Find all the records related to my daily contribution to the project from the daily scrum reports posted in the PSLab google group.
Read all the blog posts written by me on FOSSASIA blogs page related to technologies I've learnt through out the summer by joining the PSLab project.
Find all the meetups that were successfully carried out by me during the GSoC program by inspiring young minds to join Open Source Community.
Currently, almost all the instruments are working except Wave Generator which isn't able to produce PWM waves. Also, some the I2C communication related issues still needed to be looked upon. Other than this, the documentation of experiments weren't accurate and thus they also needed to be modified. Thus, there's still some work left...
I introduced myself to the community and got to know fellow developers. Some of the software tools such as Inkscape were knew to me and so I installed them and used them to be thorough in making the designs and experiments for the app.
Initially, there were problems relating the hardware and the software part and so, I began with making some experiment documentations and schematics. Some basic changes and features were also added by me.
Meanwhile, I also installed PSLab Desktop Apps and PSLab Python repositories to take reference of how the app should be designed.
After a week or two, I felt comfortable in writing complex codes and so I started by adding a feature of Search Bar in PSLab Android app to search any experiment from the list of experiments. Then I started writing docmentations for different instruments like Logic Analyzer, etc.
I received a new PSLab device. So I went on fixing issues related to functionalities in the PSLab Android application. I also tested all the experiments with the device and found and solved some bugs. Meanwhile, I also contributed to PSLab website to increase its performance.
The second month of the GSoC program was the time when really complex and tough coding began. Rigorously tested the PSLab device in the PSLab Desktop App and then made Logic Analyzer for the PSLab Android app. In this week, I also designed the instruments in Inkscape to put them in the Card View.
Continued to work on the Logic Analyzer in this week too. Also, made the app a little stable by transfering the codebase of sensors. In this week, I also designed the layout of multimeter to make it compact for all screens and added multiple functionalities to different instruments.
The last phase of the program was concentrated on adding support for different sensors in PSLab Android app. Thus, I made different sensors with both in-built and external support. Also added some UI to the app by making guides for different instruments.
In the last week of the program, I mainly concentrated on solving bugs rathering than adding new features. Thus, I repeatedly tested all the instruments and found and solved the bugs in them. At last, I added a new functionality of recording, pausing and exporting data from any instrument or sensor.
I will continue working on improving the PSLab Android project.