Difference between revisions of "BeagleBoard/GSoC/2019 Projects"

From eLinux.org
Jump to: navigation, search
(project update)
m
(24 intermediate revisions by 5 users not shown)
Line 3: Line 3:
 
* Live chat: http://bbb.io/gsocchat
 
* Live chat: http://bbb.io/gsocchat
 
* Google GSoC site: https://summerofcode.withgoogle.com/
 
* Google GSoC site: https://summerofcode.withgoogle.com/
* Meeting minutes: http://elinux.org/BeagleBoard/GSoC/Meetings
 
 
* YouTube Playlist BeagleBoard.org GSoC 2019: TBD
 
* YouTube Playlist BeagleBoard.org GSoC 2019: TBD
  
==Project: [[ProjectPage]] ==
+
===Weekly reports===
Description
+
All weekly reports will be sent to the mailing list (as that is our primary support venue outside of live chat) on a single thread (to avoid e-mail thrash).
  
* Student: Your name
+
They must be sent on Monday to allow for mentors to respond ahead of Wednesdays IRC meeting where all blockers will be discussed live.
* Mentors: Mentor names
 
* Code: Your github page for the project
 
* Upstream: Where your code will end up when submitted
 
* Wiki: Full project link
 
* GSoC site: Link to project on https://summerofcode.withgoogle.com
 
* Intro video: YouTube video link
 
<div style="clear:both;"></div>
 
  
==Project: [https://summerofcode.withgoogle.com/projects/#5996499987595264 Clickboard Support Under Greybus] ==
+
They must include the following sections:
 +
* Accomplishments
 +
* Resolutions to blockers
 +
* On-going blockers
 +
* Plans for the next week
 +
 
 +
 
 +
==Projects==
 +
{| class="wikitable"
 +
|-
 +
! Project !! Student !! Mentors !! Videos !! Reports !! Code !! Documentation !!
 +
|-
 +
| [https://summerofcode.withgoogle.com/projects/#5996499987595264 Clickboard Support Under Greybus] || Vaishnav M.A. (vaishnav98_) || Jason Kridner (jkridner), Ravi Kumar Prasad (ravikp7) || [https://youtu.be/QtzHhAFE0SE intro] || [https://groups.google.com/d/msg/beagleboard-gsoc/G2j5KlvcHso/UuRhAKsqBAAJ weekly] || [https://github.com/vaishnav98/gbsim gbsim] [https://github.com/vaishnav98/manifesto manifesto] || [https://elinux.org/BeagleBoard/GSoC/2019Proposal/clickboard-support-under-greybus proposal] [https://github.com/vaishnav98/gbsim/wiki wiki] [https://vaishnav98.github.io/GSoC19/ blog] || [[#Greybus|more]]
 +
|-
 +
| [https://summerofcode.withgoogle.com/projects/#5163407328673792 PRU User Space API] || Pratim Ugale (pragimugale) || Kumar Abhishek, Patryk Mężydło, ZeekHuge || [https://www.youtube.com/watch?v=3Z2PxDIoCpE&t intro] || [https://groups.google.com/d/msg/beagleboard-gsoc/711XmP7jFMc/pIxUE1dDCAAJ weekly] || [https://github.com/pratimugale/pruss-api code] || [https://elinux.org/BeagleBoard/GSoC/2019Proposal/PRUUserSpaceAPI-PratimUgale proposal] [https://pratimugale.github.io/ blog] || [[#PRU API|more]]
 +
|-
 +
| [https://summerofcode.withgoogle.com/projects/#5046198510026752 Xen on BeagleBoard-X15] || Denis Obrezkov (embden) || Julien Grall, Iain Hunter, Hunyue Yau, Stefano Stabellini || [https://www.youtube.com/watch?v=mXhW5nATkMY intro] || [https://groups.google.com/d/msg/beagleboard-gsoc/e1hah1UWKI4/6fjjFMdWCAAJ weekly] || Example || [https://elinux.org/BeagleBoard/GSoC/2019Proposal/Xen_on_BeagleBoard-x15 proposal] || [[#Xen|more]]
 +
|-
 +
| [https://summerofcode.withgoogle.com/projects/#4528261021827072 Reference Design For A GPIO-based Parallel Bi-Directional Bus] || Pranav Kumar (pranav_kumar) || Andrew Henderson, Hunyue Yau, Kumar Abhishek || [https://www.youtube.com/watch?v=ZZDT6jNslqw intro] || [https://groups.google.com/forum/#!topic/beagleboard-gsoc/TnMInDz8n2A weekly] || [https://github.com/pranav083/pocket_beagle-work code] || [https://elinux.org/BeagleBoard/GSoC/2019Proposal/GPIOParallelBidirComm proposal] || [[#PRU Bus|more]]
 +
|}
 +
 
 +
==Greybus==
  
 
Click boards are a flagship hardware product line of MikroElektronika with over 600 add-on boards ranging from wireless connectivity clicks to Human Machine Interface clicks for interfacing with peripheral sensors or transceivers. Most of the Click boards use the common protocols like SPI,I2C or UART to communicate with the Beaglebone and thus the support for them now is accomplished via device tree overlays via the bb.org-overlays repository. This requires /boot/uEnv.txt to be modified to load the drivers at boot, requiring at least one reboot to enable the support in a potentially error-prone way.
 
Click boards are a flagship hardware product line of MikroElektronika with over 600 add-on boards ranging from wireless connectivity clicks to Human Machine Interface clicks for interfacing with peripheral sensors or transceivers. Most of the Click boards use the common protocols like SPI,I2C or UART to communicate with the Beaglebone and thus the support for them now is accomplished via device tree overlays via the bb.org-overlays repository. This requires /boot/uEnv.txt to be modified to load the drivers at boot, requiring at least one reboot to enable the support in a potentially error-prone way.
  
The Greybus Simulator is a tool which simulates an AP Bridge, SVC, and an arbitrary set of modules plugged into Greybus. Greybus already provides most of the interfaces used on click boards and utilizes manifest files to enumerate hardware at run-time. This project aims to enable Click Board Support via Greybus Simulator by writing suitable Manifests according to the Click board Specifications and by simply copying the manifest to a hotplug-directory a click board can be loaded, which would make the interfacing a lot easier. Detailed Proposal at https://elinux.org/BeagleBoard/GSoC/2019Proposal/clickboard-support-under-greybus
+
The Greybus Simulator is a tool which simulates an AP Bridge, SVC, and an arbitrary set of modules plugged into Greybus. Greybus already provides most of the interfaces used on click boards and utilizes manifest files to enumerate hardware at run-time. This project aims to enable Click Board Support via Greybus Simulator by writing suitable Manifests according to the Click board Specifications and by simply copying the manifest to a hotplug-directory a click board can be loaded, which would make the interfacing a lot easier.
  
* Student: Vaishnav M.A.
+
===Milestones===
* Mentors: Jason Kridner, Ravi Kumar Prasad
+
# <s>Working gbsim</s> and <s>OLEDC Click</s>
* Code: https://github.com/vaishnav98/gbsim
+
# Working 9DOF Click, documentation for I2C manifests
* Upstream: TBD
+
# <s>Working Weather Click</s>, video demonstration of all functionality
* Wiki: https://github.com/vaishnav98/gbsim/wiki
+
# Documentation for SPI manifests, working <s>OLEDB</s> and microSD Clicks
* GSoC site: https://summerofcode.withgoogle.com/projects/#5996499987595264
+
# Update milestones based on community feedback, working ETH and ETH Wiz Clicks
* Intro video : https://youtu.be/QtzHhAFE0SE
+
# Working <s>RTC</s> and RTC5 Clicks
 +
# Working Temp/Humidity and Waveform Generator Clicks
 +
# New video demonstration of all functionality, update milestones based on community feedback
 +
# Working GNSS4, GNSS5 and Ultrasonic2 Clicks
 +
# Working insclick(<s>partially implemented</s>)/rmclick utilities, <s>[https://vaishnav98.github.io/GSoC19/ on-line documentation for supported Clicks]</s>, video demonstration of utilities, OS image integration
 +
# Documentation and final video demonstration
  
==Project: [https://summerofcode.withgoogle.com/projects/#5163407328673792 PRU User Space API] ==
+
==PRU API==
  
 
This project aims to provide an API for different programming languages to load/unload firmware and communicate with the PRUs from User Space. A GUI application that runs on the terminal will also be provided for debugging the PRUs step by step.
 
This project aims to provide an API for different programming languages to load/unload firmware and communicate with the PRUs from User Space. A GUI application that runs on the terminal will also be provided for debugging the PRUs step by step.
 +
===Milestones===
 +
* Added bindings to communicate with the python daemon service using C.
 +
* Functions added in 'prussd.py' to read and write to the PRU SRAM, DRAM0, DRAM1 through the '/dev/mem' character device file.
 +
* Documented the process of using RPMsg according to the latest kernel, using SWIG for generating language bindings (according to the functions written in cpp), and about the PRU memory.
 +
* Added a simple PWM example to demonstrate usage of the API.
  
* Student: Pratim Ugale
+
==Xen==
* Mentors: Kumar Abhishek, Patryk Mężydło, ZeekHuge
 
* Code: TBD
 
* Upstream: TBD
 
* Wiki: https://elinux.org/BeagleBoard/GSoC/2019Proposal/PRUUserSpaceAPI-PratimUgale
 
* GSoC site: https://summerofcode.withgoogle.com/projects/#5163407328673792
 
* Intro video : https://www.youtube.com/watch?v=3Z2PxDIoCpE&t=5s
 
 
 
 
 
==Project: [https://summerofcode.withgoogle.com/projects/#5046198510026752 Xen on BeagleBoard-x15] ==
 
  
 
The idea behind the project is to make Xen hypervisor available and easy to use on beagleboard-x15. This implementation will allow users to experiment on embedded virtualization and in related fields like automotive, critical systems prototyping and processor's resources sharing. It might also provide very interesting possibilities for heterogeneous resources' utilization. The most interesting outcome is the availability of open-source virtualization on top of the open-source hardware.
 
The idea behind the project is to make Xen hypervisor available and easy to use on beagleboard-x15. This implementation will allow users to experiment on embedded virtualization and in related fields like automotive, critical systems prototyping and processor's resources sharing. It might also provide very interesting possibilities for heterogeneous resources' utilization. The most interesting outcome is the availability of open-source virtualization on top of the open-source hardware.
  
* Student: Denis Obrezkov
 
* Mentors: Julien Grall, Iain Hunter, Hunyue Yau, Stefano Stabellini
 
* Code: TBD
 
* Upstream: TBD
 
* Wiki: https://elinux.org/BeagleBoard/GSoC/2019Proposal/Xen_on_BeagleBoard-x15
 
* GSoC site: https://summerofcode.withgoogle.com/projects/#5046198510026752
 
* Intro video: https://www.youtube.com/watch?v=mXhW5nATkMY
 
  
== Project: [https://summerofcode.withgoogle.com/projects/#4528261021827072 Reference Design For A GPIO-based Parallel Bi-Directional Bus] ==
+
==PRU Bus==
  
 
The idea behind this project is to create a hardware/software design incorporated with shift registers to allow BB.org hardware to communicate with hardware via a parallel, bidirectional bus.To create a software design that incorporates both a kernel driver to communicate with the parallel bus and a user space application/library using ioctl() calls to communicate with this kernel driver.
 
The idea behind this project is to create a hardware/software design incorporated with shift registers to allow BB.org hardware to communicate with hardware via a parallel, bidirectional bus.To create a software design that incorporates both a kernel driver to communicate with the parallel bus and a user space application/library using ioctl() calls to communicate with this kernel driver.
  
It will benefits to those people who want multiple inputs or output capability in their projects or those who want to interface different memory device with the beaglebone.org hardware. it also opens new capability by open an entire world of a new project that can get incorporated with the help of pocket beagle for ex. making a scientific calculator with the help of it, etc.  
+
It will benefits to those people who want multiple inputs or output capability in their projects or those who want to interface different memory device with the beaglebone.org hardware. it also opens new capability by open an entire world of a new project that can get incorporated with the help of pocket beagle for ex. making a scientific calculator with the help of it, etc.
 
 
* Student: Pranav Kumar
 
* Mentors: Andrew Henderson, Hunyue Yau, Kumar Abhishek
 
* Code: TBD
 
* Upstream: TBD
 
* Wiki: https://elinux.org/BeagleBoard/GSoC/2019Proposal/GPIOParallelBidirComm
 
* GSoC site: https://summerofcode.withgoogle.com/projects/#4528261021827072
 
* Intro video: https://www.youtube.com/watch?v=ZZDT6jNslqw
 

Revision as of 03:18, 7 July 2019

Links

Weekly reports

All weekly reports will be sent to the mailing list (as that is our primary support venue outside of live chat) on a single thread (to avoid e-mail thrash).

They must be sent on Monday to allow for mentors to respond ahead of Wednesdays IRC meeting where all blockers will be discussed live.

They must include the following sections:

  • Accomplishments
  • Resolutions to blockers
  • On-going blockers
  • Plans for the next week


Projects

Project Student Mentors Videos Reports Code Documentation
Clickboard Support Under Greybus Vaishnav M.A. (vaishnav98_) Jason Kridner (jkridner), Ravi Kumar Prasad (ravikp7) intro weekly gbsim manifesto proposal wiki blog more
PRU User Space API Pratim Ugale (pragimugale) Kumar Abhishek, Patryk Mężydło, ZeekHuge intro weekly code proposal blog more
Xen on BeagleBoard-X15 Denis Obrezkov (embden) Julien Grall, Iain Hunter, Hunyue Yau, Stefano Stabellini intro weekly Example proposal more
Reference Design For A GPIO-based Parallel Bi-Directional Bus Pranav Kumar (pranav_kumar) Andrew Henderson, Hunyue Yau, Kumar Abhishek intro weekly code proposal more

Greybus

Click boards are a flagship hardware product line of MikroElektronika with over 600 add-on boards ranging from wireless connectivity clicks to Human Machine Interface clicks for interfacing with peripheral sensors or transceivers. Most of the Click boards use the common protocols like SPI,I2C or UART to communicate with the Beaglebone and thus the support for them now is accomplished via device tree overlays via the bb.org-overlays repository. This requires /boot/uEnv.txt to be modified to load the drivers at boot, requiring at least one reboot to enable the support in a potentially error-prone way.

The Greybus Simulator is a tool which simulates an AP Bridge, SVC, and an arbitrary set of modules plugged into Greybus. Greybus already provides most of the interfaces used on click boards and utilizes manifest files to enumerate hardware at run-time. This project aims to enable Click Board Support via Greybus Simulator by writing suitable Manifests according to the Click board Specifications and by simply copying the manifest to a hotplug-directory a click board can be loaded, which would make the interfacing a lot easier.

Milestones

  1. Working gbsim and OLEDC Click
  2. Working 9DOF Click, documentation for I2C manifests
  3. Working Weather Click, video demonstration of all functionality
  4. Documentation for SPI manifests, working OLEDB and microSD Clicks
  5. Update milestones based on community feedback, working ETH and ETH Wiz Clicks
  6. Working RTC and RTC5 Clicks
  7. Working Temp/Humidity and Waveform Generator Clicks
  8. New video demonstration of all functionality, update milestones based on community feedback
  9. Working GNSS4, GNSS5 and Ultrasonic2 Clicks
  10. Working insclick(partially implemented)/rmclick utilities, on-line documentation for supported Clicks, video demonstration of utilities, OS image integration
  11. Documentation and final video demonstration

PRU API

This project aims to provide an API for different programming languages to load/unload firmware and communicate with the PRUs from User Space. A GUI application that runs on the terminal will also be provided for debugging the PRUs step by step.

Milestones

  • Added bindings to communicate with the python daemon service using C.
  • Functions added in 'prussd.py' to read and write to the PRU SRAM, DRAM0, DRAM1 through the '/dev/mem' character device file.
  • Documented the process of using RPMsg according to the latest kernel, using SWIG for generating language bindings (according to the functions written in cpp), and about the PRU memory.
  • Added a simple PWM example to demonstrate usage of the API.

Xen

The idea behind the project is to make Xen hypervisor available and easy to use on beagleboard-x15. This implementation will allow users to experiment on embedded virtualization and in related fields like automotive, critical systems prototyping and processor's resources sharing. It might also provide very interesting possibilities for heterogeneous resources' utilization. The most interesting outcome is the availability of open-source virtualization on top of the open-source hardware.


PRU Bus

The idea behind this project is to create a hardware/software design incorporated with shift registers to allow BB.org hardware to communicate with hardware via a parallel, bidirectional bus.To create a software design that incorporates both a kernel driver to communicate with the parallel bus and a user space application/library using ioctl() calls to communicate with this kernel driver.

It will benefits to those people who want multiple inputs or output capability in their projects or those who want to interface different memory device with the beaglebone.org hardware. it also opens new capability by open an entire world of a new project that can get incorporated with the help of pocket beagle for ex. making a scientific calculator with the help of it, etc.