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

From eLinux.org
Jump to: navigation, search
(Add BeagleBoot)
 
(17 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
 +
[[Category:GSoC]]
 +
[[Category:BeagleBoard]]
 +
 
==Links==
 
==Links==
* Status reports: https://groups.google.com/forum/#!tags/beagleboard-gsoc/status
+
* Status reports: https://groups.google.com/forum/#!forum/beagleboard-gsoc
 
* Live chat: http://webchat.freenode.net/?channels=beagle-gsoc
 
* Live chat: http://webchat.freenode.net/?channels=beagle-gsoc
 
* GSoc site: https://summerofcode.withgoogle.com/
 
* GSoc site: https://summerofcode.withgoogle.com/
 
* Meeting minutes: http://elinux.org/BeagleBoard/GSoC/Meetings
 
* Meeting minutes: http://elinux.org/BeagleBoard/GSoC/Meetings
 +
*YouTube Playlist BeagleBoard.org GSoC 2018: https://www.youtube.com/playlist?list=PLzq-XagGEZreWjg2TLQDiUBdKGRy9TFVF
 +
 +
==Project: [[BeagleBoot]] ==
 +
{{#ev:youtube|/rlj-k4zyPN0||right|Intro Video: BeagleBoot - Google Summer of Code 2018 under BeagleBoard.org}}
 +
Integrate node-beagle-boot to Etcher and add features like U-boot console on boot up, TCT/IP proxy server, grab latest images from beagleboard.org to BeagleBoot (electron app), developed last year during GSoC.
  
==Project: [[Template Project, please copy first and then edit]] ==
+
* Student: Ravi Kumar Prasad
{{#ev:youtube|fL_XMieanSc||right|Video Title}}
+
* Mentors: Kumar Abhishek, Jason Kridner
“Project Name”. add your project description here.
+
* Code: User mode daemon: https://github.com/induarun9086/gPTPd  (need to update)
* Student: Joe Template
+
* Code: Kernel: https://github.com/induarun9086/beagleboard-linux/   (need to update)
* Mentors: Shirley Temple
+
* Wiki: http://elinux.org/BeagleBoard/GSoC/BeagleBoneAVB    (need to update)
* Code: https://github.com/...
+
* GSoC site: https://summerofcode.withgoogle.com/dashboard/project/5934527680086016/overview/
* Wiki: https://github.com/.../wiki
 
* Blog: http://<url_here>/ (not mandatory)
 
* GSoC site: https://summerofcode.withgoogle.com/<your_project_here
 
 
<div style="clear:both;"></div>
 
<div style="clear:both;"></div>
  
 +
<iframe width="560" height="315" src="https://www.youtube.com/embed/rlj-k4zyPN0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
  
==Project: [[BeagleBoot]] ==
+
==Project: [[Fixing Bugs in BoneScript and Improve BeagleBone UI]] ==
{{#ev:youtube|rlj-k4zyPN0||right|Intro Video: GSoC 2018 - BeagleBoot}}
+
{{#ev:youtube|ZKOccMBiL5s||right|Fixing Bugs in BoneScript and Improve BeagleBone UI GSoC 2018 Intro Video}}
===Description===
+
BoneScript is an existing Node.js library specifically optimized for the Beagle family and featuring familiar Arduino function calls, exported to the browser.The BoneScript library provides several functions for easy interaction with hardware which otherwise would have required the users to manipulate the SysFs files directly(assuming use of no other libraries),which is obviously confusing for a beginner-level user.
Integrate node-beagle-boot to Etcher and add features like U-boot console on boot up, TCT/IP proxy server, grab latest images from beagleboard.org to BeagleBoot (electron app), developed last year during GSoC.<br>
+
BoneScript library even though being widely used by BeagleBone users has compatibility issues across boards, some bugs and unfinished features.The primary aim of my project is to solve most of the open issues reported and add some more features which will be of benefit to the users.
 +
A secondary objective of my project is to add Improvements to the BeagleBone User Interface to provide a similar interface for PocketBeagle that can also support the BaconBits cape examples, so as to provide PocketBeagle beginners a Graphical User Interface from which they can try out the example codes easily(similar to BBUI).  Detailed Proposal at :https://elinux.org/BeagleBoard/GSoC/fix-bugs-bonescript
 +
 
 +
* Student: Vaishnav M.A.
 +
* Mentors: Michael Welling(m_w), Anuj Deshpande, Jason Kridner
 +
* Code: https://github.com/jadonk/bonescript
 +
https://github.com/jadonk/bone101
 +
* Wiki: https://github.com/vaishnav98/bone101/wiki/BeagleBoard-GSoC'18:-Fixing-Bugs-in-BoneScript-and-Improving-BeagleBone-User-Interface
 +
* GSoC site: https://summerofcode.withgoogle.com/dashboard/project/6558422816784384/overview/
 +
<div style="clear:both;"></div>
 +
* Final video : https://youtu.be/94XxXs0rb7E
  
The BeagleBoot (electron app) developed last year, needs some improvements and feature additions.
 
===Features to be added:===
 
1. Grab latest images from beagleboard.org for flashing.<br>
 
2. Provide U-boot console in the app after booting. The U-boot console will be accessed via USB connection with Net console through node-beagle-boot server. Illustrated by Jason Kridner [https://www.youtube.com/watch?v=9CxfKfjykz4 here]. <br>
 
3. For U-boot console UI, I'll be using [https://github.com/nitin42/terminal-in-react this React Component] in the app. As, I don't want to re-invent the wheel, this component seems a good fit for our requirement.<br>
 
  
===Proxy Server in node-beagle-boot===
+
<iframe width="560" height="315" src="https://www.youtube.com/embed/ZKOccMBiL5s" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
* A proxy server that gets all requests (targeted at addresses other than app's virtual IP) from BeagleBone and routes them to the host IP stack using Node sockets, so that it reaches the internet and also feeds the response (received on app's port) back to the BeagleBone.
 
* All requests will be received and served to-from BeagleBone over node-usb (RNDIS).
 
* This would help to circumvent all the host specific configs to enable networking in BeagleBone.
 
* This way the cloud9 server hosted on BeagleBone can also be exposed only to the BeagleBoot app, not the entire host network.
 
  
===Improvements in node-beagle-boot:===
+
==Project: [[Modern Speak and Spell using PocketBeagle]] ==
* Use [https://github.com/resin-io-modules/winusb-driver-generator this module] to load WinUSB drivers on Windows.
+
{{#ev:youtube|N7utUIQZjM0I||right|Modern Speak and Spell using PocketBeagle GSoC 2018 Intro Video }}
 +
This project is basically to re-brain the previous Speak and Spell by Texas Instruments, and generate open source code for it . This is a Linux application which can be reproduced. The added features include offline speech recognition...using CMU Sphinx...to provide more robust features. Here I am working to reproduce the games with added features to appeal to the present day children... specifically the preschoolers. This almost totally a software project...only to be deployed in a PocketBeagle...with some wiring to be done...and display to be enhanced. My future goal is to extend this project to other languages...so that this wonderful device can be used more extensively.
  
===Integration of node-beagle-boot in etcher===
 
* Provide a pull request to [https://github.com/resin-io/etcher etcher] that fits [https://github.com/resin-io/etcher/tree/master/lib/sdk/adapters their framework for usb boot].
 
  
 +
* Student: Anirban Banik
 +
* Mentors: Erik Welsh, Hunyue Yau, Anuj Deshpande, Andrew Henderson
 +
* Code: https://github.com/AnirbanBanik1998/Modern_Speak_and_Spell
 +
* Wiki: https://github.com/AnirbanBanik1998/Modern_Speak_and_Spell/wiki
 +
* GSoC site: https://summerofcode.withgoogle.com/dashboard/project/5684045455818752/overview/
 +
<div style="clear:both;"></div>
  
* Student: Ravi Kumar Prasad (ravikp7)
+
==Project: [[Update to PyPRUSS - Python API for the PRUs]] ==
* Mentors: Jason Kridner, Kumar Abhishek
+
{{#ev:youtube|vHxpa6JwqqI||right|Intro Video - Update to PyPRUSS - GSoC 2018 project under BeagleBoard.org}}
* Code: (Server) https://github.com/ravikp7/node-beagle-boot , (Tool) https://github.com/ravikp7/BeagleBoot  
+
The PyPRUSS is a python binding/API for controlling the PRUs . It provides an easy to use python-based interface for loading firmware, controlling execution and interrupts/memory management for the PRUs, therefore shortening the learning curve for users new to PRU programming. Currently, the PyPRUSS uses PASM for its examples and communicates using the older Userspace IO (UIO) Driver. The goal of this project is to update the API to use the remoteproc/rpsmg interfaces for interacting with the PRUs, port the existing examples to gnupru since PASM is no longer supported by TI) and add DMA Support to the API, since it will enable the users to program both the PRUs for their application, instead of reserving one for ARM-PRU communication(as needed in case of rpmsg).
* Wiki: TBD
+
 
* GSoC site: https://summerofcode.withgoogle.com/projects/#5934527680086016
+
* Student: Mohammed Muneeb
 +
* Mentors: Kumar Abhishek, Patryk Mężydło, ZeekHuge, S. Lockwood-Childs
 +
* Code: (Server) https://github.com/ravikp7/node-beagle-boot , (Tool) https://github.com/ravikp7/BeagleBoot (to be updated)
 +
* Wiki: TBD (to be updated)
 +
* GSoC site: https://summerofcode.withgoogle.com/dashboard/project/6673723025784832/overview/
 
<div style="clear:both;"></div>
 
<div style="clear:both;"></div>
 +
 +
 +
<iframe width="560" height="315" src="https://www.youtube.com/embed/vHxpa6JwqqI" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

Latest revision as of 14:59, 23 March 2020


Links

Project: BeagleBoot

{{#ev:youtube|/rlj-k4zyPN0||right|Intro Video: BeagleBoot - Google Summer of Code 2018 under BeagleBoard.org}} Integrate node-beagle-boot to Etcher and add features like U-boot console on boot up, TCT/IP proxy server, grab latest images from beagleboard.org to BeagleBoot (electron app), developed last year during GSoC.

<iframe width="560" height="315" src="https://www.youtube.com/embed/rlj-k4zyPN0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

Project: Fixing Bugs in BoneScript and Improve BeagleBone UI

{{#ev:youtube|ZKOccMBiL5s||right|Fixing Bugs in BoneScript and Improve BeagleBone UI GSoC 2018 Intro Video}} BoneScript is an existing Node.js library specifically optimized for the Beagle family and featuring familiar Arduino function calls, exported to the browser.The BoneScript library provides several functions for easy interaction with hardware which otherwise would have required the users to manipulate the SysFs files directly(assuming use of no other libraries),which is obviously confusing for a beginner-level user. BoneScript library even though being widely used by BeagleBone users has compatibility issues across boards, some bugs and unfinished features.The primary aim of my project is to solve most of the open issues reported and add some more features which will be of benefit to the users. A secondary objective of my project is to add Improvements to the BeagleBone User Interface to provide a similar interface for PocketBeagle that can also support the BaconBits cape examples, so as to provide PocketBeagle beginners a Graphical User Interface from which they can try out the example codes easily(similar to BBUI). Detailed Proposal at :https://elinux.org/BeagleBoard/GSoC/fix-bugs-bonescript

https://github.com/jadonk/bone101


<iframe width="560" height="315" src="https://www.youtube.com/embed/ZKOccMBiL5s" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

Project: Modern Speak and Spell using PocketBeagle

{{#ev:youtube|N7utUIQZjM0I||right|Modern Speak and Spell using PocketBeagle GSoC 2018 Intro Video }} This project is basically to re-brain the previous Speak and Spell by Texas Instruments, and generate open source code for it . This is a Linux application which can be reproduced. The added features include offline speech recognition...using CMU Sphinx...to provide more robust features. Here I am working to reproduce the games with added features to appeal to the present day children... specifically the preschoolers. This almost totally a software project...only to be deployed in a PocketBeagle...with some wiring to be done...and display to be enhanced. My future goal is to extend this project to other languages...so that this wonderful device can be used more extensively.


Project: Update to PyPRUSS - Python API for the PRUs

{{#ev:youtube|vHxpa6JwqqI||right|Intro Video - Update to PyPRUSS - GSoC 2018 project under BeagleBoard.org}} The PyPRUSS is a python binding/API for controlling the PRUs . It provides an easy to use python-based interface for loading firmware, controlling execution and interrupts/memory management for the PRUs, therefore shortening the learning curve for users new to PRU programming. Currently, the PyPRUSS uses PASM for its examples and communicates using the older Userspace IO (UIO) Driver. The goal of this project is to update the API to use the remoteproc/rpsmg interfaces for interacting with the PRUs, port the existing examples to gnupru since PASM is no longer supported by TI) and add DMA Support to the API, since it will enable the users to program both the PRUs for their application, instead of reserving one for ARM-PRU communication(as needed in case of rpmsg).


<iframe width="560" height="315" src="https://www.youtube.com/embed/vHxpa6JwqqI" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>