Weekly Progress Report Thread: Improvements to simpPRU

Hello, this is Week 1 and Week 2 report for my GSoC 2021 project Improvements to simpPRU, my mentors are Kumar Abhishek, Pratim Ugale and Andrew Henderson. I will report my weekly progress through this thread from now on.
I also have a GitHub page for tracking my progress: Archisman’s GSoC 2021 Blog

Accomplishments:

  • set up PocketBeagle, BeagleBone Blue and AI - installed Debian, upgraded kernel and scripts, built simpPRU from source
  • read PRU Cookbook
  • added JSON file for BeagleBone Blue pinouts
  • read about testing using CMake, decided to write tests using stubs and mocks for the most part and write some end to end tests for the PRU IO functions later
  • Completed Introductory YouTube video
  • added a -c flag to simpPRU that stops after generating C code and does not call pru-gcc
  • added a -t flag to simpPRU that makes it emit C code with stub functions instead of the PRU IO functions
  • added print() and println() functions in simpPRU that can print strings and int/bool identifiers.
  • added some tests to check C code generation by compiling the generated C code with stub functions with gcc and comparing output with expected output
  • added a Python script to automate the above

Resolution to Blockers:
N/A

On-going blockers:
No real blockers, but tests indicate there are bugs in the parser for for-loop and boolean expressions that I have not fixed yet.

Plans for next week:

  • fix for-loop and boolean expressions
  • add support for modulo and bitshift operators
  • modify the parser so that control statements (break, continue) can only be called inside loops.
1 Like

Hello, this is Week 3 report for my GSoC 2021 project Improvements to simpPRU, my mentors are Kumar Abhishek, Pratim Ugale and Andrew Henderson. I am reporting my weekly progress through this thread.
I also have a GitHub page for tracking my progress: Archisman’s GSoC 2021 Blog

Accomplishments:

  • added support for modulo operators in arithmetic expressions
  • added support for hexadecimal and octal integers
  • made bitwise operators (and, or, not) work in arithmetic expressions instead of boolean expressions
  • added left and right bitshift operators for arithmetic expressions
  • modified the lexer so that control statements (break, continue) can only be called inside loops.

Resolution to Blockers:

  • Vedant Paranjape fixed the bug with the for loop which was preventing the loop variable to be used inside the loop

On-going blockers:
No real blockers this week

Plans for next week:

  • update documentation for everything done till now
  • get pull requests for everything done till now merged
  • update the grammar so that return statements can be called anywhere inside a function
  • start adding support for char data type

Hello, this is Week 4 report for my GSoC 2021 project Improvements to simpPRU, my mentors are Kumar Abhishek, Pratim Ugale and Andrew Henderson. I am reporting my weekly progress through this thread.
I also have a GitHub page for tracking my progress: Archisman’s GSoC 2021 Blog

Accomplishments:

  • wrote documentation for things done till now
  • had a meeting where we went over all the code and applied suggested changes
  • added support for for-loops of the type range_1 : range_2 : range_3, where range_2 can be less than range_1
  • started adding char data type

Resolution to Blockers:
N/A

On-going blockers:
No real blockers this week, I got fever after getting the vaccine and missed two days, will complete adding support for char this week.

Plans for next week:

  • finish adding support for char data type
  • finalize everything before first evaluations
  • start adding support for static arrays

Hello, this is Week 5 report for my GSoC 2021 project Improvements to simpPRU, my mentors are Kumar Abhishek, Pratim Ugale and Andrew Henderson. I am reporting my weekly progress through this thread.
I also have a GitHub page for tracking my progress: Archisman’s GSoC 2021 Blog

Accomplishments:

Resolution to Blockers:
No real blockers this week

Plans for next week:

  • get pull requests for all the things added till now merged
  • post a blog on beagleboard.org/blog about accomplishments during the first half of GSoC
  • add C style static arrays

Hello, this is Week 6 report for my GSoC 2021 project Improvements to simpPRU, my mentors are Kumar Abhishek, Pratim Ugale and Andrew Henderson. I am reporting my weekly progress through this thread.
I also have a GitHub page for tracking my progress: Archisman’s GSoC 2021 Blog

Accomplishments:

  • finished adding C style static arrays!
  • pull request adding test files and another minor pull request was merged
  • wrote a post though it hasn’t been posted to /blog yet
  • passed first evaluations

Resolution to Blockers:
No real blockers this week

Plans for next week:

  • add functions for sending the 6 data types through rpmsg
  • update grammar so that return statement can be called anywhere in a function
  • get pull requests for some previously done things merged along with documentation

Hello, this is Week 7 report for my GSoC 2021 project Improvements to simpPRU , my mentors are Kumar Abhishek, Pratim Ugale and Andrew Henderson. I am reporting my weekly progress through this thread.
I also have a GitHub page for tracking my progress: Archisman’s GSoC 2021 Blog

Accomplishments:

Resolution to Blockers:
N/A

On-going blockers:
I wasn’t able to get as much done since I had tests going on, I will complete everything next week.

Plans for next week:

  • complete functions for sending the 6 data types through rpmsg
  • update grammar so that return statements can be called anywhere in a function
  • get pull requests for char and arrays merged along with documentation

Hello, this is Week 8 report for my GSoC 2021 project Improvements to simpPRU , my mentors are Kumar Abhishek, Pratim Ugale and Andrew Henderson. I am reporting my weekly progress through this thread.
I also have a GitHub page for tracking my progress: Archisman’s GSoC 2021 Blog

Accomplishments:

Resolution to Blockers:
N/A

On-going Blockers:
N/A

Plans for next week:

  • complete functions for sending 6 data types through rpmsg and see if the code for rpmsg functions can be imported from a header file using cmake.
  • get pull requests for arrays and grammar update merged.