Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/fix storagemanager layout size #10391

Closed
wants to merge 4 commits into from
Closed

Feature/fix storagemanager layout size #10391

wants to merge 4 commits into from

Conversation

khancyr
Copy link
Contributor

@khancyr khancyr commented Feb 1, 2019

fix #10389
use compile time option to define storage layout. It solve the issue and reduce the build size.
I also remove the memset as direct initialisation to zero is faster in this case and gain some size.
I move the define to the cpp to reduce scope

@peterbarker
Copy link
Contributor

Isn't this going to stuff people's existing storage? You're effectively modifying the layout.

@WickedShell was musing recently we should revisit the way we do storage generally.

@khancyr
Copy link
Contributor Author

khancyr commented Mar 8, 2019

it there a way to check how the layout is ? normally the layout is unchanged, it just correct the storage size reporting that is only calculated on instantiation and then before swtiching to copter layout. It make no sens to instantiate init with one layout and directly change it with another layout... it is better to directly instantiate on the right layout.

@peterbarker
Copy link
Contributor

OK, now I've actually gone back and had a thorough read I think I like this.

I haven't tested it yet.

@khancyr
Copy link
Contributor Author

khancyr commented Mar 10, 2019

rebase and add static_assert

@lvale
Copy link
Member

lvale commented Mar 11, 2019

How does this relate to #4172 ?

@tridge tridge self-requested a review March 11, 2019 23:56
@tridge
Copy link
Contributor

tridge commented Mar 11, 2019

pending testing on a board with OSD param storage

@khancyr
Copy link
Contributor Author

khancyr commented Jul 11, 2019

@tridge hello, I don't have Osb board. But we should be able to test on SITL, right ? what do you want to test exactly ?

@khancyr
Copy link
Contributor Author

khancyr commented Jul 12, 2019

WITH FIX :
On SITL with OSD , copter :

i: 0, offset: 0, length: 1536
i: 1, offset: 1536, length: 2422
i: 2, offset: 3958, length: 90
i: 3, offset: 4048, length: 48
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 3, total size 10782, total area 14
i: 0, offset: 0, length: 1536
i: 1, offset: 1536, length: 2422
i: 2, offset: 3958, length: 90
i: 3, offset: 4048, length: 48
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 0, total size 4096, total area 14
i: 0, offset: 0, length: 1536
i: 1, offset: 1536, length: 2422
i: 2, offset: 3958, length: 90
i: 3, offset: 4048, length: 48
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 2, total size 690, total area 14
i: 0, offset: 0, length: 1536
i: 1, offset: 1536, length: 2422
i: 2, offset: 3958, length: 90
i: 3, offset: 4048, length: 48
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 4, total size 64, total area 14
i: 0, offset: 0, length: 1536
i: 1, offset: 1536, length: 2422
i: 2, offset: 3958, length: 90
i: 3, offset: 4048, length: 48
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 1, total size 560, total area 14

On rover

i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 3, total size 10866, total area 14
i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 0, total size 3840, total area 14
i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 2, total size 750, total area 14
i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 4, total size 64, total area 14
i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 1, total size 672, total area 14

On master
copter :

i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 3, total size 10866, total area 14
i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 0, total size 3840, total area 14
i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 2, total size 750, total area 14
i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 4, total size 64, total area 14
i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 1, total size 672, total area 14

Rover :

i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 3, total size 10866, total area 14
i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 0, total size 3840, total area 14
i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 2, total size 750, total area 14
i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 4, total size 64, total area 14
i: 0, offset: 0, length: 1280
i: 1, offset: 1280, length: 2506
i: 2, offset: 3786, length: 150
i: 3, offset: 3936, length: 160
i: 4, offset: 4096, length: 1280
i: 5, offset: 5376, length: 300
i: 6, offset: 5676, length: 256
i: 7, offset: 5932, length: 2132
i: 8, offset: 8064, length: 64
i: 9, offset: 8128, length: 56
i: 10, offset: 8192, length: 1280
i: 11, offset: 9472, length: 300
i: 12, offset: 9772, length: 256
i: 13, offset: 10028, length: 6228
type: 1, total size 672, total area 14

@khancyr
Copy link
Contributor Author

khancyr commented Jul 25, 2019

@tridge ping on this one !

@khancyr
Copy link
Contributor Author

khancyr commented Jan 28, 2020

Closed by #13299

@khancyr khancyr closed this Jan 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

StorageAccess initialization
6 participants