Also, whenever an end user implementing my firmware for a specific board wants to call one of these functions they have to make a complicated call like this:
...and know ahead of time (somehow) how many layers their end users will have configured (they'll know how many rows/columns since that'll be specific to their hardware). It's super unergonomic and rather inflexible.
This change has been a nightmare for me so I'm curious what benefit it provides? My code used to be able to take simple arguments like:
Now I have to change all my functions that deal with layout to be like this:
Also, whenever an end user implementing my firmware for a specific board wants to call one of these functions they have to make a complicated call like this:
...and know ahead of time (somehow) how many layers their end users will have configured (they'll know how many rows/columns since that'll be specific to their hardware). It's super unergonomic and rather inflexible.