BeagleBoard/GSoC/2020 Projects

Links

 * BeagleBoard.org GSoC page: http://bbb.io/gsoc
 * Status reports: http://bbb.io/gsocml
 * Live chat: http://bbb.io/gsocchat
 * Google GSoC site: https://summerofcode.withgoogle.com/
 * YouTube Playlist BeagleBoard.org GSoC 2020: TBD

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:
 * 4) * Accomplishments
 * 5) * Resolutions to blockers
 * 6) * On-going blockers
 * 7) * Plans for the next week

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) Created Compatibility layer PR with compatible overlays.
 * 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 bone buses Pinmux nodes and DT overlay for BBAI ( UART, I2C, SPI, CAN, ADC, PWM, TIMER_PWM, PRU, ADC, eQEP, LCD, and ECAP).
 * 16) BBAI u-boot SPL automatic cape overlay loading compatibility working.
 * 17) Finalizing cape interface spec page.
 * 18) Setting up config-pin for BBAI.
 * 19) 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.