<img src="https://i.imgur.com/GajniTa.png" align="center" width="100%"/>
<p float="left">
  <img src="https://hub-cdn.osc.dial.community/original/2X/2/21dca7f324357a7b0514b5a803582ab46cad93e7.jpeg" width="425" />
  <img src="https://hub-cdn.osc.dial.community/original/2X/1/1a04a44d85f6116ce50eaa30e908c501d93cfc1b.png" width="450" align="right"/>
</p>

  # Introduction 
- **Organisation**: [Digital Impact Alliance (DIAL) at UN Foundation](https://digitalimpactalliance.org/)
- **DIAL Sub-Org**: [Pocket Science Lab](https://pslab.io/)
- **Student**: Kartikay Sharma
- **Getting in touch**: Feel free to reach out to discuss the project or just for a casual conversation. I would love to have a chat with you! <br />My Social handles :- 
    [Email](sharma.kartik2107@gmail.com),
    [GitHub](https://github.com/kartikaysharma01), 
    [LinkedIn](https://www.linkedin.com/in/kartikaysharma01/), 
    [Twitter](https://twitter.com/kartikaysharma0), 
    [Instagram](https://www.instagram.com/kartikaysharma01/)
- **Project**: [Create common backend for PSLab Desktop and Android app](https://summerofcode.withgoogle.com/projects/#6486537153282048)

## Project Description
PSLab is an open source organization with an aim to make scientific instruments accessible for everyone. PSLab device supports numerous instruments like oscilloscope, multimeter, logic analyzer, Wave Generator, etc. Our desktop and mobile apllications have their respective backends. With the changes in hardware and development of the project, the desktop and mobile backends started to differ. To counter this problem and make future integration of new features easier, the team decided to move the backend to [libSigrok](https://github.com/sigrokproject/libsigrokdecode). The sigrok project is a signal analysis software suite which supports various measurement devices. Using the Sigrok project would also allow us to use the [libsigrokdecode](https://github.com/sigrokproject/libsigrokdecode) library to integrate protocol decoders with our logic analyzer.

## Project Status
- Partially Complete<br />

**Work Done**<br />
During the GSoC Period I have added support for the Oscilloscope and the PWM generator instruments to the FOSSASIA fork of the libsigrok library.<br />

**Work in Progress**<br />
Support to the Logic Analyzer instrument is in final stages. <br />

**Work to be done**<br />
Adding support for the Multimeter, Wave generator and Power Supply would be the next step. We also plan to explore the protocol decoders provided by the libsigrokdecode library. The final steps would be to use the pysigrok and sigrok-java API for the PSLab Desktop and Android application respectively.

## My Work
I mainly contributed to the [FOSSASIA fork of libsigrok](https://github.com/fossasia/libsigrok) during the GSoC period. All my contributions are listed below:

### 1. Device Scan:
Wrote the scan function in libsigrok to recognise the PSLab dev board
- [Issue opened](https://github.com/fossasia/libsigrok/issues/3) 
- [Merged Pull Request](https://github.com/fossasia/libsigrok/pull/4)

### 2. Device Version received:
Sent version commands to the device through libsigrok
- [Issue opened](https://github.com/fossasia/libsigrok/issues/6) 
- [Merged Pull Request](https://github.com/fossasia/libsigrok/pull/7)


### 3. Oscilloscope:
I successfully added support of the Oscilloscope instrument to libsigrok. 
- [Issue opened](https://github.com/fossasia/libsigrok/issues/5) 
- [Merged Pull Request](https://github.com/fossasia/libsigrok/pull/8)
- [Unmerged Pull Request to the Sigrok head](https://github.com/sigrokproject/libsigrok/pull/150)


### 4. PWM Generator:
I successfully added support of the PWM generator to libsigrok. 

- [Issue opened](https://github.com/fossasia/libsigrok/issues/9) 
- [Merged Pull Request](https://github.com/fossasia/libsigrok/pull/10)


### 5. Logic Analyzer:
Support of the PWM generator to libsigrok is work in progress

- [Issue opened](https://github.com/fossasia/libsigrok/issues/11) 
- [Unmerged Pull Request](https://github.com/fossasia/libsigrok/pull/12)


## Blog Posts

Weekly Standup Blogs posted on DIAL Community Hub can be found under the topic [PSLab: Add support to Sigrok](https://hub.osc.dial.community/t/pslab-add-support-to-sigrok/2554)

## Scrums

All the scrums updates during the GSoC period can be found [here](https://groups.google.com/g/pslab-fossasia/search?q=Kartikay%20Sharma).

## Sigrok Mailing list

Mails sent to the sigrok mailiing list discussing the PSLab project can be found [here](https://sourceforge.net/p/sigrok/mailman/search/?q=kartikay+sharma)

**Thank you DIAL and Pocket Science Lab for this amazing experience.**