You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to make the code easier for students to write and simplify the executor logic on our end, we've decided to try to change the way student code works to simply have one function that runs once in autonomous and another function that runs once in teleop. The student API functionality should be unchanged.
Notice the lack of a setup function and the requirement of a while True loop around the entire teleop function. This will hopefully make more intuitive sense to the students and make it easier for us to write executor (we don't need to be calling Python functions from a C program continuously.
Additionally, it would be useful to look into whether we can remove Cython as a dependency completely from Runtime. Since Cython is such a massive library / tool, it will be really difficult for new Runtime members to pick it up and make meaningful changes to executor in the future if it is kept in Runtime (no one has learned in the three years since Ashwin wrote it in summer 2020). So, if it is at all possible, we should try to remove Cython as a dependency of Runtime.
The text was updated successfully, but these errors were encountered:
Hey it's been a while and was perusing my Github notifications.
I still think Cython is relatively simple to learn when compared to the Python C interface (https://docs.python.org/3/extending/extending.html#). But I guess it does eliminate one library since executor.c is already using this interface regardless. It will just be pretty complex to rewrite studentapi.pyx, and you'll need to be wary about Python reference counting + figuring out threads for actions.
In order to make the code easier for students to write and simplify the executor logic on our end, we've decided to try to change the way student code works to simply have one function that runs once in autonomous and another function that runs once in teleop. The student API functionality should be unchanged.
Essentially, sample student code will be like:
Notice the lack of a setup function and the requirement of a
while True
loop around the entireteleop
function. This will hopefully make more intuitive sense to the students and make it easier for us to write executor (we don't need to be calling Python functions from a C program continuously.Additionally, it would be useful to look into whether we can remove Cython as a dependency completely from Runtime. Since Cython is such a massive library / tool, it will be really difficult for new Runtime members to pick it up and make meaningful changes to executor in the future if it is kept in Runtime (no one has learned in the three years since Ashwin wrote it in summer 2020). So, if it is at all possible, we should try to remove Cython as a dependency of Runtime.
The text was updated successfully, but these errors were encountered: