BeagleBoard/GSoC/2018 Projects

Links

 * Status reports: https://groups.google.com/forum/#!tags/beagleboard-gsoc/status
 * Live chat: http://webchat.freenode.net/?channels=beagle-gsoc
 * GSoc site: https://summerofcode.withgoogle.com/
 * Meeting minutes: http://elinux.org/BeagleBoard/GSoC/Meetings

Project: Template Project, please copy first and then edit
“Project Name”. add your project description here.
 * Student: Joe Template
 * Mentors: Shirley Temple
 * Code: https://github.com/...
 * Wiki: https://github.com/.../wiki
 * Blog: http:/// (not mandatory)
 * GSoC site: https://summerofcode.withgoogle.com/<your_project_here

Description
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.

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. 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 here. 3. For U-boot console UI, I'll be using 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.

Proxy Server in node-beagle-boot

 * 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:

 * Use this module to load WinUSB drivers on Windows.

Integration of node-beagle-boot in etcher

 * Provide a pull request to etcher that fits their framework for usb boot.


 * Student: Ravi Kumar Prasad (ravikp7)
 * Mentors: Jason Kridner, Kumar Abhishek
 * Code: (Server) https://github.com/ravikp7/node-beagle-boot, (Tool) https://github.com/ravikp7/BeagleBoot
 * Wiki: TBD
 * GSoC site: https://summerofcode.withgoogle.com/projects/#5934527680086016

Project: Update to PyPRUSS
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 and also allowing seamless integration of PRU functionality to a larger python projects. 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 also 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). I also plan to extend PyPRUSS-like bindings to other languages like C, C++ and nodejs as well.


 * Student: Mohammed Muneeb (muneeb17)
 * Mentors: Kumar Abhishek (abhishek_), Zubeen Tolani (zeekhuge), Patryk Mezydlo (pmezydlo), S. Lockwood-Childs (Wormo)
 * Code: https://github.com/MuneebMohammed/pypruss
 * Wiki: TBD
 * GSoC site: https://summerofcode.withgoogle.com/projects/#6673723025784832

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.

BoneScript library even though being widely used by BeagleBone users has compatibility issues across boards,some bugs and unfinished features.The primary aim of this 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 this 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).

Project Info

 * Student: Vaishnav M A (vaishnav98_)
 * Mentors: Jason Kridner, Anuj Deshpande, Michael Welling
 * Code: https://github.com/beagleboard/bonescript (BoneScript) ,https://github.com/jadonk/Beaglebone-UI (BeagleBone UI)
 * Blog: TBD
 * Wiki: TBD
 * GSoC site: https://summerofcode.withgoogle.com/projects/#6558422816784384
 * Introduction Video : https://www.youtube.com/watch?v=ZKOccMBiL5s