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

From eLinux.org
Jump to: navigation, search
m
(Milestones strike through for Media IP Streaming)
(22 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Copying the 2019 projects page for now ...
 
 
 
 
[[Category:GSoC]]
 
[[Category:GSoC]]
 
[[Category:BeagleBoard]]
 
[[Category:BeagleBoard]]
  
 
==Links==
 
==Links==
 +
* BeagleBoard.org GSoC page: http://bbb.io/gsoc
 
* Status reports: http://bbb.io/gsocml
 
* Status reports: http://bbb.io/gsocml
 
* Live chat: http://bbb.io/gsocchat
 
* Live chat: http://bbb.io/gsocchat
Line 25: Line 23:
 
! Project !! Student !! Mentors !! Videos !! Reports !! Code !! Documentation !!
 
! Project !! Student !! Mentors !! Videos !! Reports !! Code !! Documentation !!
 
|-
 
|-
| [[BeagleBoard/GSoC/2020 Projects/Cape Compatibility|Cape Compatibility]] || [[User:Lorforlinux|Deepak Khatri]] (lorforlinux) || [[User:jkridner|Jason Kridner]] (jkridner), Kumar Abishek, Hunyue Yau, Drew Fustini || [https://www.youtube.com/watch?v=jP9fwOxp4Bc intro] [https://youtu.be/TBD final] || [https://groups.google.com/forum/#!topic/beagleboard-gsoc/zE7ILWQGke4 weekly] || TBD || [https://lorforlinux.github.io/GSoC2020_BeagleBoard.org/ blog] || [https://github.com/beagleboard/linux/pull/236 warm up task]
+
| [[BeagleBoard/GSoC/2020 Projects/Cape Compatibility|Cape Compatibility]] || [[User:Lorforlinux|Deepak Khatri]] (lorforlinux) || [[User:jkridner|Jason Kridner]] (jkridner), Kumar Abishek, Hunyue Yau, Drew Fustini || [https://www.youtube.com/watch?v=jP9fwOxp4Bc intro] [https://youtu.be/TBD final] || [https://groups.google.com/forum/#!topic/beagleboard-gsoc/zE7ILWQGke4 weekly] || TBD || [https://lorforlinux.github.io/GSoC2020_BeagleBoard.org/ blog] || [https://github.com/beagleboard/linux/pull/236 warm up task]  [[#Cape Compatibility|more]]
 
|-
 
|-
| [[BeagleBoard/GSoC/2020 Projects/PRU Bi-dir bus|PRU Bi-dir bus]] || [[User:Deebot|Deepankar Maithani]] || Saketh, rma, Hunyue Yau, Drew Fustini, Jason Kridner || [https://youtu.be/TBD intro] [https://youtu.be/TBD final] || [https://groups.google.com/d/msg/beagleboard-gsoc/TBD weekly] || [https://github.com/deebot/Beaglebone-BidirectionBus code] || [https://deebot.github.io/blogs.html blog ] || [[#PRU Bi-dir bus|more]]
+
| [[BeagleBoard/GSoC/2020 Projects/PRU Bi-dir bus|PRU Bi-dir bus]] || [[User:Deebot|Deepankar Maithani]] (deepankarmaithani) || Saketh, rma, Hunyue Yau, Drew Fustini, Jason Kridner || [https://www.youtube.com/watch?v=cKxx8r4FRqY intro] [https://youtu.be/TBD final] || [https://groups.google.com/forum/#!topic/beagleboard-gsoc/cjJrXAPbY7M weekly] || [https://github.com/deebot/Beaglebone-BidirectionBus code] || [https://deebot.github.io/blogs.html blog ] || [[#PRU Bi-dir bus|more]]
 
|-
 
|-
 
| [[BeagleBoard/GSoC/2020 Projects/PRU Improvements|PRU Improvements]] || [[User:vedant16|Vedant Paranjape]] (vedant16) ||  Kumar Abhishek, Pratim Ugale, Andrew Henderson || [https://youtu.be/AXacKDdxSdY intro] [https://youtu.be/TBD final] || [https://groups.google.com/d/msg/beagleboard-gsoc/ejF6F3EdE48/Gq650YqjAQAJ weekly] || [https://github.com/VedantParanjape/simpPRU Code] || [https://ve0x10.me/gsoc2020/ blog] || [[#PRU Improvements|more]]
 
| [[BeagleBoard/GSoC/2020 Projects/PRU Improvements|PRU Improvements]] || [[User:vedant16|Vedant Paranjape]] (vedant16) ||  Kumar Abhishek, Pratim Ugale, Andrew Henderson || [https://youtu.be/AXacKDdxSdY intro] [https://youtu.be/TBD final] || [https://groups.google.com/d/msg/beagleboard-gsoc/ejF6F3EdE48/Gq650YqjAQAJ weekly] || [https://github.com/VedantParanjape/simpPRU Code] || [https://ve0x10.me/gsoc2020/ blog] || [[#PRU Improvements|more]]
Line 34: Line 32:
 
|}
 
|}
  
==Cape Compatibility==
+
===Cape Compatibility===
 
The idea of this project is to make  
 
The idea of this project is to make  
 
#The same userspace code work with both BeagleBone Black and BeagleBone AI, using the same references to drivers for peripherals assigned to the same header pins between BBB and BBAI.  
 
#The same userspace code work with both BeagleBone Black and BeagleBone AI, using the same references to drivers for peripherals assigned to the same header pins between BBB and BBAI.  
 
#The same DT overlay work for both BBB and BBAI. For capes, uBoot Cape manager will also be updated to support BBAI so that DT overlays will be automatically loaded during boot.
 
#The same DT overlay work for both BBB and BBAI. For capes, uBoot Cape manager will also be updated to support BBAI so that DT overlays will be automatically loaded during boot.
  
===Milestones===
+
====Milestones====
 
# <s>Introductory YouTube video</s>.
 
# <s>Introductory YouTube video</s>.
# Testing Capes on BBB (Comms, Servo, Load, Realy, Motor, and LCD4).
+
# <s> Capes are working on BBB (Comms, Servo, Load, Realy, Motor, and LCD4</s>).
 
# Cleaning up code in [https://github.com/jadonk/beagle-tester beagle-tester] and creating new examples.  
 
# Cleaning up code in [https://github.com/jadonk/beagle-tester beagle-tester] and creating new examples.  
 
# Creating new userspace examples for BBB.
 
# Creating new userspace examples for BBB.
 
# Testing new beagle-tester code on BBB.
 
# Testing new beagle-tester code on BBB.
 
# Finalizing [https://github.com/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti/src/arm/am5729-beagleboneai.dts BeagleBoard-DeviceTrees/src/arm/am5729-beagleboneai.dts].
 
# Finalizing [https://github.com/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti/src/arm/am5729-beagleboneai.dts BeagleBoard-DeviceTrees/src/arm/am5729-beagleboneai.dts].
# Testing the BBAI pin control using libgpiod.
+
# <s>BBAI pin control working using libgpiod.</s>
 
# Testing user space examples with BeagleBone AI.
 
# Testing user space examples with BeagleBone AI.
# Testing comms cape on BBAI.
+
# <s>comms cape working on BBAI</s>.
# Testing Servo cape on BBAI.
+
# <s>Servo cape working on BBAI</s>.
# Testing Motor cape on BBAI.
+
# <s>Motor cape working on BBAI</s>.
# Testing Load cape on BBAI.
+
# <s>Load cape working on BBAI </s>.
# Testing Relay cape on BBAI.
+
# <s>Relay cape working on BBAI </s>.
 
# Testing LCD4 cape on BBAI.
 
# Testing LCD4 cape on BBAI.
# Creating buses DT overlay for BBAI.
+
# Creating buses DT overlay for BBAI (<s>UART, I2C, SPI,CAN, ADC, PWM</s>, PRU).
 
# Testing BBAI u-boot peripheral support.
 
# Testing BBAI u-boot peripheral support.
 
# BBAI u-boot SPL cape manager compatibility.
 
# BBAI u-boot SPL cape manager compatibility.
 
# Final YouTube video.
 
# Final YouTube video.
  
==PRU Bi-dir bus==
+
===PRU Bi-dir bus===
 
TBD
 
TBD
  
===Milestones===
+
====Milestones====
1. Introductory Video</br>
+
1. <s>Introductory Video</s></br>
 
2. Setting up BeagleLogic to analyse communication between PRU and Shift Register</br>
 
2. Setting up BeagleLogic to analyse communication between PRU and Shift Register</br>
 
3. Configuring the system to use remoteproc and run sample codes on PRU</br>
 
3. Configuring the system to use remoteproc and run sample codes on PRU</br>
Line 77: Line 75:
 
12. Final Video </br>
 
12. Final Video </br>
  
==PRU Improvements==
+
===PRU Improvements===
 
Idea of this project is to implement a compiled language which will compile down to PRU assembly. PRU programming is a uphill task and quite tough for beginners, this language intends to simplify this, by providing a high level language with simple syntax. This will make it easy to get beginners onboard with PRU
 
Idea of this project is to implement a compiled language which will compile down to PRU assembly. PRU programming is a uphill task and quite tough for beginners, this language intends to simplify this, by providing a high level language with simple syntax. This will make it easy to get beginners onboard with PRU
  
===Milestones===
+
====Milestones====
 
# <s>Introductory YouTube video</s>
 
# <s>Introductory YouTube video</s>
# Setting up BeagleBone Black Wireless i.e flashing up to date Linux image and Testing user-led blink code :D
+
# <s>Setting up BeagleBone Black Wireless i.e flashing up to date Linux image and Testing user-led blink code :D</s>
# Running existing example codes from this repository
+
# <s>Running existing example codes from this repository</s>
# Implementing int, bool data types
+
# <s>Implementing int, bool data types</s>
# Implementing Arithmetic operators
+
# <s>Implementing Arithmetic operators</s>
# Implementing Relational operators
+
# <s>Implementing Relational operators</s>
# Implementing Bitwise operators
+
# <s>Implementing Bitwise operators</s>
# Implementing Logical operators
+
# <s>Implementing Logical operators</s>
# Implementing Arithmetic operations
+
# <s>Implementing Arithmetic operations</s>
# Implementing Variable assignment
+
# <s>Implementing Variable assignment</s>
# Implementing if else elif
+
# <s>Implementing if else elif</s>
# Implementing for loop
+
# <s>Implementing for loop</s>
# Implementing functions
+
# <s>Implementing functions</s>
# Implementing Register access
+
# <s>Implementing Register access</s>
# Writing documentation for same
+
# <s>Writing documentation for same</s>
# Implementing Language backend
+
# <s>Implementing Language backend</s>
# Implementing Utility functions
+
# <s>Implementing Utility functions</s>
# Testing the language, and implementing example codes.
+
# <s>Testing the language, and implementing example codes.</s>
 
# Finalizing and documenting everything done till now, submitting second report for evaluation
 
# Finalizing and documenting everything done till now, submitting second report for evaluation
 
# Solving github issues
 
# Solving github issues
Line 105: Line 103:
 
# Packaging the compiler for distribution, like packaging into debian package.
 
# Packaging the compiler for distribution, like packaging into debian package.
  
==Media IP Streaming==
+
===Media IP Streaming===
 
This project aims in porting the existing drivers for the [https://www.creative-technologies.de/linux-based-low-latency-multichannel-audio-system-2/ CTAG Face audiocard] to the 4.19-rt kernel for Beaglebone AI. Furthermore, the AVB protocol, implementented during a [https://elinux.org/BeagleBoard/GSoC/BeagleBoneAVB former GSoC Project], should also be ported and optimised to 4.19-rt kernel. More information about the project can be found [https://elinux.org/BeagleBoard/GSoC/2020_Projects/Media_IP_Streaming here].
 
This project aims in porting the existing drivers for the [https://www.creative-technologies.de/linux-based-low-latency-multichannel-audio-system-2/ CTAG Face audiocard] to the 4.19-rt kernel for Beaglebone AI. Furthermore, the AVB protocol, implementented during a [https://elinux.org/BeagleBoard/GSoC/BeagleBoneAVB former GSoC Project], should also be ported and optimised to 4.19-rt kernel. More information about the project can be found [https://elinux.org/BeagleBoard/GSoC/2020_Projects/Media_IP_Streaming here].
  
===Milestones===
+
====Milestones====
 
{| class="wikitable"
 
{| class="wikitable"
 
| June 8 || <s>Introductory YouTube video, review of existing drivers for ctag face audio interface, identifying challenges for porting drivers to Beagle AI and selection of appropriate kernel</s>
 
| June 8 || <s>Introductory YouTube video, review of existing drivers for ctag face audio interface, identifying challenges for porting drivers to Beagle AI and selection of appropriate kernel</s>
 
|-
 
|-
| June 15 || Implementation / porting of ALSA audio drivers for ctag face to Beagle AI --> toolchain setup, driver adoptions, coding
+
| June 15 || <s>Implementation / porting of ALSA audio drivers for ctag face to Beagle AI --> toolchain setup, driver adoptions, coding</s>
 
|-
 
|-
| June 22 || Port of sound card drivers, testing, performance check
+
| June 22 || <s>Port of sound card drivers, testing, performance check</s>
 
|-
 
|-
| July 3 || Finalzing port of ctag face audio card driver to Beagle AI and getting pull request to Beagleboard Mainline
+
| July 3 || <s>Finalzing port of ctag face audio card driver to Beagle AI and getting pull request to Beagleboard Mainline</s>
 
|-
 
|-
| July 10 || Review of existing AVB network driver architecture for real-time audio streaming, basis is https://elinux.org/BeagleBoard/GSoC/2017_Projects#Project:_BeagleBone_AVB_Stack , identifying challenges for porting to Beagle AI
+
| July 10 || <s>Review of existing AVB network driver architecture for real-time audio streaming, basis is https://elinux.org/BeagleBoard/GSoC/2017_Projects#Project:_BeagleBone_AVB_Stack , identifying challenges for porting to Beagle AI</s>
 
|-
 
|-
| July 17 || Implementation / porting of ALSA AVB network drivers to Beagle AI --> toolchain setup, driver adoptions
+
| July 17 || <s>Implementation / porting of ALSA AVB network drivers to Beagle AI --> toolchain setup, driver adoptions</s>
 
|-
 
|-
| July 24 || AVB ALSA drivers implementation for Beagle AI
+
| July 24 ||<s>AVB ALSA drivers implementation for Beagle AI</s>
 
|-
 
|-
| July 31 || Getting ALSA AVB network drivers finished and document everything till now  
+
| July 31 || <s>Getting ALSA AVB network drivers finished and document everything till now </s>
 
|-
 
|-
 
| August 3 || Joining AVB ALSA drivers with ctag face audio card drivers
 
| August 3 || Joining AVB ALSA drivers with ctag face audio card drivers

Revision as of 02:15, 3 August 2020


Links

Weekly reports

  1. 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).
  2. They must be sent on Monday to allow for mentors to respond ahead of Wednesdays IRC meeting where all blockers will be discussed live.
  3. 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
Cape Compatibility Deepak Khatri (lorforlinux) Jason Kridner (jkridner), Kumar Abishek, Hunyue Yau, Drew Fustini intro final weekly TBD blog warm up task more
PRU Bi-dir bus Deepankar Maithani (deepankarmaithani) Saketh, rma, Hunyue Yau, Drew Fustini, Jason Kridner intro final weekly code blog more
PRU Improvements Vedant Paranjape (vedant16) Kumar Abhishek, Pratim Ugale, Andrew Henderson intro final weekly Code blog more
Media IP Streaming Niklas Wantrupp (nwan) Robert Manzke, Henrik Langer, Drew Fustini, Indumathi Duraipandian intro final weekly code documentation more

Cape Compatibility

The idea of this project is to make

  1. The same userspace code work with both BeagleBone Black and BeagleBone AI, using the same references to drivers for peripherals assigned to the same header pins between BBB and BBAI.
  2. The same DT overlay work for both BBB and BBAI. For capes, uBoot Cape manager will also be updated to support BBAI so that DT overlays will be automatically loaded during boot.

Milestones

  1. Introductory YouTube video.
  2. Capes are working on BBB (Comms, Servo, Load, Realy, Motor, and LCD4).
  3. Cleaning up code in beagle-tester and creating new examples.
  4. Creating new userspace examples for BBB.
  5. Testing new beagle-tester code on BBB.
  6. Finalizing BeagleBoard-DeviceTrees/src/arm/am5729-beagleboneai.dts.
  7. BBAI pin control working using libgpiod.
  8. Testing user space examples with BeagleBone AI.
  9. comms cape working on BBAI.
  10. Servo cape working on BBAI.
  11. Motor cape working on BBAI.
  12. Load cape working on BBAI .
  13. Relay cape working on BBAI .
  14. Testing LCD4 cape on BBAI.
  15. Creating buses DT overlay for BBAI (UART, I2C, SPI,CAN, ADC, PWM, PRU).
  16. Testing BBAI u-boot peripheral support.
  17. BBAI u-boot SPL cape manager compatibility.
  18. Final YouTube video.

PRU Bi-dir bus

TBD

Milestones

1. Introductory Video
2. Setting up BeagleLogic to analyse communication between PRU and Shift Register
3. Configuring the system to use remoteproc and run sample codes on PRU
4. Understanding Writing a character driver
5. Understanding and writing GPIO chip driver
6. Wrtiting code to send simple data to 74hc595.
7 Integrating GPIO chip driver with the code
8. Writing a simple code for 74hc299
9. Integrating GPIO chip driver with the code
10. Supporting SIP0 and PISO configurations on 74hc299
10. Device tree configurations
11. Final enhancements and documentation
12. Final Video

PRU Improvements

Idea of this project is to implement a compiled language which will compile down to PRU assembly. PRU programming is a uphill task and quite tough for beginners, this language intends to simplify this, by providing a high level language with simple syntax. This will make it easy to get beginners onboard with PRU

Milestones

  1. Introductory YouTube video
  2. Setting up BeagleBone Black Wireless i.e flashing up to date Linux image and Testing user-led blink code :D
  3. Running existing example codes from this repository
  4. Implementing int, bool data types
  5. Implementing Arithmetic operators
  6. Implementing Relational operators
  7. Implementing Bitwise operators
  8. Implementing Logical operators
  9. Implementing Arithmetic operations
  10. Implementing Variable assignment
  11. Implementing if else elif
  12. Implementing for loop
  13. Implementing functions
  14. Implementing Register access
  15. Writing documentation for same
  16. Implementing Language backend
  17. Implementing Utility functions
  18. Testing the language, and implementing example codes.
  19. Finalizing and documenting everything done till now, submitting second report for evaluation
  20. Solving github issues
  21. getting PRUSpeaks to work on the new kernel
  22. Writing documentation
  23. Packaging the compiler for distribution, like packaging into debian package.

Media IP Streaming

This project aims in porting the existing drivers for the CTAG Face audiocard to the 4.19-rt kernel for Beaglebone AI. Furthermore, the AVB protocol, implementented during a former GSoC Project, should also be ported and optimised to 4.19-rt kernel. More information about the project can be found here.

Milestones

June 8 Introductory YouTube video, review of existing drivers for ctag face audio interface, identifying challenges for porting drivers to Beagle AI and selection of appropriate kernel
June 15 Implementation / porting of ALSA audio drivers for ctag face to Beagle AI --> toolchain setup, driver adoptions, coding
June 22 Port of sound card drivers, testing, performance check
July 3 Finalzing port of ctag face audio card driver to Beagle AI and getting pull request to Beagleboard Mainline
July 10 Review of existing AVB network driver architecture for real-time audio streaming, basis is https://elinux.org/BeagleBoard/GSoC/2017_Projects#Project:_BeagleBone_AVB_Stack , identifying challenges for porting to Beagle AI
July 17 Implementation / porting of ALSA AVB network drivers to Beagle AI --> toolchain setup, driver adoptions
July 24 AVB ALSA drivers implementation for Beagle AI
July 31 Getting ALSA AVB network drivers finished and document everything till now
August 3 Joining AVB ALSA drivers with ctag face audio card drivers
August 10 Performance and integration testing of driver ports
August 17 Completion YouTube video, pull request of driver architecture for mainline