OttoDIY / OttoDIYLib

Latest and official Libraries for Arduino Otto DIY robots
http://www..ottodiy.com/
GNU General Public License v3.0
111 stars 73 forks source link

Not A Issue: Announcing New (2024) Development #45

Open sfranzyshen opened 2 months ago

sfranzyshen commented 2 months ago

This isn't a issue but rather a notice ... New development branch has been started to bring things up to date. We will maintain the current master branch and will be using the devel branch for current code development ... so please reference the devel branch with any code updates ...

https://github.com/OttoDIY/OttoDIYLib/tree/devel-13.1.0/ and/or https://discord.com/channels/691410809586450483/1228242677963685918/

sfranzyshen commented 1 month ago

our first full baby step has been completed ... otto sound is now fully abstracted and supports a non-blocking background operation all while maintaining a full backwards compatibility with existing ottodiy examples and otto blockly ... here is a diff https://github.com/sfranzyshen/OttoDIYArduinoLib/compare/devel-13.1.0...sfranzyshen:OttoDIYArduinoLib:sound-freertos#files_bucket

cparrapa commented 1 month ago

Hi @sfranzyshen I wanted to start to help cleaning up code but I am not sure with all the previous commits without details at what point are we now?

sfranzyshen commented 1 month ago

Hi @sfranzyshen I wanted to start to help cleaning up code but I am not sure with all the previous commits without details at what point are we now?

Hi @cparrapa ! I will be posting code to the OttoDIY/OttoDIYLib/tree/devel-13.1.0/ branch soon (still only working in my personal fork for right now) ... I need to test it first ... once the code has been committed to the OttoDIY devel branch repo ... I think we should (for right now) not change the main ... I am also working on a branch (13.0.1) that I am updating with some changes but mainly only making changes to support other platforms ... I want to clean up all the examples first ... then we can look to move the 13.0.1 changes to (update) main ... and keep the new devel repo as the devel branch for now ... and we maintain main and devel separate ...

~ peace

sfranzyshen commented 1 month ago

latest patch can be viewed here https://github.com/sfranzyshen/OttoDIYArduinoLib/compare/gestures-abstract...sfranzyshen:OttoDIYArduinoLib:init-abstract?expand=1

sfranzyshen commented 1 month ago

Copied from Discord

Once we reach the 13.1.1 milestone ... to complicate things ... I will be performing parallel development. I will be working simultaneously on three versions of the code.

13.0.x - This version of the code is the current "main" branch of the OttoDIYLib repo and contains only changes to expand for additional supported platforms. No additions or core changes will be made to this branch. (feature frozen) (101% compatibility)

13.1.x - This version maintains full compatibility to version 13.0.x. This version of the code is the current "devel" branch of the OttoDIYLib repo and contains changes to expand for additional platforms and adds the new non-blocking coding paradigm. This version of the code will have additions and core changes to add hardware options and unify the separate models (biped, wheels, and ninja) into one library. (99.9% compatibility)

14.1.x - This version of the code is the same code as the 13.1.x branch of the OttoDIYLib repo but this version supports a non-blocking coding paradigm (by default) and drops support for 13.x.x compatibility. (0% compatibility)

Over time, when 13.1.x becomes mature (well tested) enough ... it will be branched to 13.2.1 and will replace 13.0.x as the "main" branch ... at this same time 13.1.x will also be branched to 13.3.1 to start a new devel cycle ... when 14.1.x matures ... it will become 14.2.1 & 14.3.1 ... but they will remain "devel" branches ... at some point in the far far future ... I can see dropping support for 13 all together ... and then 14 will take over as the "main" branch ...

sfranzyshen commented 1 month ago

lastest patch is here https://github.com/sfranzyshen/OttoDIYArduinoLib/compare/init-abstract...sfranzyshen:OttoDIYArduinoLib:wrap-up-mouth

it has also been pushed to the current devel-13.1.0 branch

sfranzyshen commented 3 weeks ago

we hit a resource wall for the atmega328 platform ... Development has HALTED until we decide how to proceed ...

Option 1) rewrite everything to be handled by a single task instead of multiple task (even if we do this ... it still might not fit🤔)

Option 2) continue development for the rest of the platforms (esp32, rp2040, and Atmega480x) and split development ... creating separate code at some point to support the atmega328 platform ...

I am right now leaning toward trying option 1 ...