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

🔨 (cmake): FirmwareKit - depend on os_version file #1231

Merged
merged 3 commits into from
Jan 13, 2023

Conversation

ladislas
Copy link
Member

This commit make FirmwareKit (and directory) depend on os_version config
file

This means that when the version is updated, cmake configure is run
again and the os_version.h file is regenerated with the new version

This should make development as build number could be added in the
future as well

@ladislas ladislas self-assigned this Dec 22, 2022
@ladislas ladislas added the 01 - type: task Something to do label Dec 22, 2022
@ladislas ladislas added this to the v1.4.0 milestone Dec 22, 2022
@codecov
Copy link

codecov bot commented Dec 22, 2022

Codecov Report

Merging #1231 (26a4fcf) into develop (42410ff) will not change coverage.
The diff coverage is n/a.

❗ Current head 26a4fcf differs from pull request most recent head 7f77528. Consider uploading reports for the commit 7f77528 to get more accurate results

@@           Coverage Diff            @@
##           develop    #1231   +/-   ##
========================================
  Coverage    96.16%   96.16%           
========================================
  Files          146      146           
  Lines         3594     3594           
========================================
  Hits          3456     3456           
  Misses         138      138           

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@github-actions
Copy link

github-actions bot commented Dec 22, 2022

File comparision analysis report

🔖 Info

Target Flash Used (base/head) Fash Used Δ Flash Available (base/head) Static RAM (base/head) Static RAM Δ
bootloader 182804 (69%) ø 79340 (30%)
79340 (30%)
41648 (7%) ø
os 479572 (30%) ø 1085100 (69%)
1085100 (69%)
93584 (17%) ø
Click to show memory sections
| -          |      Hex |     Bytes |  KiB |
|------------|---------:|----------:|-----:|
| Flash      | 0x200000 | 2 097 152 | 2048 |
| SRAM       |  0x80000 |   524 288 |  512 |
| Bootloader |  0x40000 |   262 144 |  256 |
| Header     |   0x1000 |     4 096 |    4 |
| OS         | 0x17E000 | 1 564 672 | 1528 |
| Tail       |   0x1000 |     4 096 |    4 |
| Scratch    |  0x40000 |   262 144 |  256 |

📝 Summary

Click to show summary
  • ✔️ - existing target
  • ✨ - new target
  • ⚰️ - deleted target
  • ✅ - files are the same
  • ❌ - files are different
Target Status .bin .map Total Flash (base/head) Total Flash Δ Static RAM (base/head) Static RAM Δ
LekaOS ✔️ 479572 (22%) ø 93584 (17%) ø
bootloader ✔️ 182804 (8%) ø 41648 (7%) ø
functional_ut_boost_ut ✔️ 409212 (19%) ø 30608 (5%) ø
functional_ut_core_imu ✔️ 389196 (18%) ø 30584 (5%) ø
functional_ut_deep_sleep_core_buffered_serial ✔️ 368140 (17%) ø 30560 (5%) ø
functional_ut_deep_sleep_core_motor ✔️ 376076 (17%) ø 30632 (5%) ø
functional_ut_deep_sleep_core_pwm ✔️ 378292 (18%) ø 30632 (5%) ø
functional_ut_deep_sleep_log_kit ✔️ 365204 (17%) ø 30976 (5%) ø
functional_ut_deep_sleep_mbed_hal ✔️ 366648 (17%) ø 30560 (5%) ø
functional_ut_file_manager ✔️ 386684 (18%) ø 30856 (5%) ø
functional_ut_firmware_kit - - 378068 (18%) - 30840 (5%) -
functional_ut_imu_kit ✔️ 391388 (18%) ø 30576 (5%) ø
functional_ut_io_expander ✔️ 370896 (17%) ø 30576 (5%) ø
functional_ut_qdac ✔️ 372064 (17%) ø 30576 (5%) ø
spike_lk_accel_gyro ✔️ 94048 (4%) ø 22568 (4%) ø
spike_lk_audio ✔️ 137044 (6%) ø 25176 (4%) ø
spike_lk_behavior_kit ✔️ 197564 (9%) ø 58656 (11%) ø
spike_lk_ble ✔️ 237772 (11%) ø 39416 (7%) ø
spike_lk_bluetooth ✔️ 92364 (4%) ø 22224 (4%) ø
spike_lk_cg_animations ✔️ 153608 (7%) ø 57224 (10%) ø
spike_lk_color_kit ✔️ 88480 (4%) ø 24376 (4%) ø
spike_lk_command_kit ✔️ 219508 (10%) ø 63120 (12%) ø
spike_lk_config_kit ✔️ 139244 (6%) ø 25136 (4%) ø
spike_lk_coreled ✔️ 88044 (4%) ø 24264 (4%) ø
spike_lk_core_touch_sensor ✔️ 92884 (4%) ø 22832 (4%) ø
spike_lk_event_queue ✔️ 84152 (4%) ø 22904 (4%) ø
spike_lk_file_manager_kit ✔️ 154368 (7%) ø 25520 (4%) ø
spike_lk_file_reception ✔️ 339748 (16%) ø 38448 (7%) ø
spike_lk_flash_memory ✔️ 86776 (4%) ø 22216 (4%) ø
spike_lk_fs ✔️ 174440 (8%) ø 47992 (9%) ø
spike_lk_imu_kit ✔️ 97920 (4%) ø 22896 (4%) ø
spike_lk_lcd ✔️ 172652 (8%) ø 57496 (10%) ø
spike_lk_led_kit ✔️ 115140 (5%) ø 25104 (4%) ø
spike_lk_log_kit ✔️ 84776 (4%) ø 23408 (4%) ø
spike_lk_motion_kit ✔️ 106736 (5%) ø 24840 (4%) ø
spike_lk_motors ✔️ 86336 (4%) ø 22248 (4%) ø
spike_lk_qdac ✔️ 91572 (4%) ø 22776 (4%) ø
spike_lk_reinforcer ✔️ 215044 (10%) ø 59800 (11%) ø
spike_lk_rfid ✔️ 84088 (4%) ø 22184 (4%) ø
spike_lk_sensors_battery ✔️ 87184 (4%) ø 23280 (4%) ø
spike_lk_sensors_light ✔️ 84072 (4%) ø 22216 (4%) ø
spike_lk_sensors_microphone ✔️ 84824 (4%) ø 22216 (4%) ø
spike_lk_sensors_temperature_humidity ✔️ 90400 (4%) ø 22192 (4%) ø
spike_lk_sensors_touch ✔️ 91672 (4%) ø 22456 (4%) ø
spike_lk_serial_number ✔️ 144900 (6%) ø 25256 (4%) ø
spike_lk_ticker_timeout ✔️ 82712 (3%) ø 22232 (4%) ø
spike_lk_update_process_app_base ✔️ 156876 (7%) ø 26288 (5%) ø
spike_lk_update_process_app_update ✔️ 100456 (4%) ø 23240 (4%) ø
spike_lk_watchdog_isr ✔️ 87392 (4%) ø 24120 (4%) ø
spike_lk_wifi ✔️ 130832 (6%) ø 25528 (4%) ø
spike_mbed_blinky ✔️ 57616 (2%) ø 11496 (2%) ø
spike_mbed_watchdog_ticker_vs_thread ✔️ 84176 (4%) ø 23080 (4%) ø
spike_stl_cxxsupport ✔️ 83488 (3%) ø 22304 (4%) ø

🗺️ Map files diff output

Click to show diff list
functional_ut_firmware_kit (click to expand)

Flash used: 378068 (18%) / total: 2097152
SRAM used: 30840 (5%) / total: 524288

@github-actions
Copy link

github-actions bot commented Dec 22, 2022

File comparision analysis report

🔖 Info

Target Flash Used (base/head) Fash Used Δ Flash Available (base/head) Static RAM (base/head) Static RAM Δ
bootloader 170348 (64%) ø 91796 (35%)
91796 (35%)
30952 (5%) ø
os 428088 (27%) ø 1136584 (72%)
1136584 (72%)
82368 (15%) ø
Click to show memory sections
| -          |      Hex |     Bytes |  KiB |
|------------|---------:|----------:|-----:|
| Flash      | 0x200000 | 2 097 152 | 2048 |
| SRAM       |  0x80000 |   524 288 |  512 |
| Bootloader |  0x40000 |   262 144 |  256 |
| Header     |   0x1000 |     4 096 |    4 |
| OS         | 0x17E000 | 1 564 672 | 1528 |
| Tail       |   0x1000 |     4 096 |    4 |
| Scratch    |  0x40000 |   262 144 |  256 |

📝 Summary

Click to show summary
  • ✔️ - existing target
  • ✨ - new target
  • ⚰️ - deleted target
  • ✅ - files are the same
  • ❌ - files are different
Target Status .bin .map Total Flash (base/head) Total Flash Δ Static RAM (base/head) Static RAM Δ
LekaOS ✔️ 428088 (20%) ø 82368 (15%) ø
bootloader ✔️ 170348 (8%) ø 30952 (5%) ø
functional_ut_boost_ut ✔️ 394076 (18%) ø 20456 (3%) ø
functional_ut_core_imu ✔️ 377068 (17%) ø 20432 (3%) ø
functional_ut_deep_sleep_core_buffered_serial ✔️ 360236 (17%) ø 20440 (3%) ø
functional_ut_deep_sleep_core_motor ✔️ 364476 (17%) ø 20480 (3%) ø
functional_ut_deep_sleep_core_pwm ✔️ 366612 (17%) ø 20480 (3%) ø
functional_ut_deep_sleep_log_kit ✔️ 352504 (16%) ø 20408 (3%) ø
functional_ut_deep_sleep_mbed_hal ✔️ 354216 (16%) ø 20408 (3%) ø
functional_ut_file_manager ✔️ 374864 (17%) ø 20696 (3%) ø
functional_ut_firmware_kit - - 366540 (17%) - 20688 (3%) -
functional_ut_imu_kit ✔️ 382560 (18%) ø 20424 (3%) ø
functional_ut_io_expander ✔️ 359232 (17%) ø 20424 (3%) ø
functional_ut_qdac ✔️ 360400 (17%) ø 20424 (3%) ø
spike_lk_accel_gyro ✔️ 71184 (3%) ø 11808 (2%) ø
spike_lk_audio ✔️ 126924 (6%) ø 14600 (2%) ø
spike_lk_behavior_kit ✔️ 189000 (9%) ø 48080 (9%) ø
spike_lk_ble ✔️ 229600 (10%) ø 28472 (5%) ø
spike_lk_bluetooth ✔️ 82948 (3%) ø 11544 (2%) ø
spike_lk_cg_animations ✔️ 145848 (6%) ø 46528 (8%) ø
spike_lk_color_kit ✔️ 65776 (3%) ø 13744 (2%) ø
spike_lk_command_kit ✔️ 209184 (9%) ø 52032 (9%) ø
spike_lk_config_kit ✔️ 127268 (6%) ø 14312 (2%) ø
spike_lk_coreled ✔️ 76164 (3%) ø 13688 (2%) ø
spike_lk_core_touch_sensor ✔️ 80228 (3%) ø 12256 (2%) ø
spike_lk_event_queue ✔️ 74800 (3%) ø 12072 (2%) ø
spike_lk_file_manager_kit ✔️ 139336 (6%) ø 14440 (2%) ø
spike_lk_file_reception ✔️ 335792 (16%) ø 27792 (5%) ø
spike_lk_flash_memory ✔️ 63880 (3%) ø 11448 (2%) ø
spike_lk_fs ✔️ 175144 (8%) ø 47904 (9%) ø
spike_lk_imu_kit ✔️ 87700 (4%) ø 12176 (2%) ø
spike_lk_lcd ✔️ 162732 (7%) ø 46664 (8%) ø
spike_lk_led_kit ✔️ 103360 (4%) ø 14528 (2%) ø
spike_lk_log_kit ✔️ 63288 (3%) ø 12256 (2%) ø
spike_lk_motion_kit ✔️ 101764 (4%) ø 14288 (2%) ø
spike_lk_motors ✔️ 62864 (2%) ø 11488 (2%) ø
spike_lk_qdac ✔️ 78628 (3%) ø 11816 (2%) ø
spike_lk_reinforcer ✔️ 206416 (9%) ø 49224 (9%) ø
spike_lk_rfid ✔️ 78956 (3%) ø 11504 (2%) ø
spike_lk_sensors_battery ✔️ 78196 (3%) ø 12568 (2%) ø
spike_lk_sensors_light ✔️ 60056 (2%) ø 11440 (2%) ø
spike_lk_sensors_microphone ✔️ 72496 (3%) ø 11504 (2%) ø
spike_lk_sensors_temperature_humidity ✔️ 67048 (3%) ø 11424 (2%) ø
spike_lk_sensors_touch ✔️ 68600 (3%) ø 11432 (2%) ø
spike_lk_serial_number ✔️ 133020 (6%) ø 14304 (2%) ø
spike_lk_ticker_timeout ✔️ 69052 (3%) ø 11632 (2%) ø
spike_lk_update_process_app_base ✔️ 145100 (6%) ø 15584 (2%) ø
spike_lk_update_process_app_update ✔️ 77632 (3%) ø 12352 (2%) ø
spike_lk_watchdog_isr ✔️ 80068 (3%) ø 13272 (2%) ø
spike_lk_wifi ✔️ 116392 (5%) ø 14808 (2%) ø
spike_mbed_blinky ✔️ 58032 (2%) ø 11400 (2%) ø
spike_mbed_watchdog_ticker_vs_thread ✔️ 63208 (3%) ø 12448 (2%) ø
spike_stl_cxxsupport ✔️ 58456 (2%) ø 11400 (2%) ø

🗺️ Map files diff output

Click to show diff list
functional_ut_firmware_kit (click to expand)

Flash used: 366540 (17%) / total: 2097152
SRAM used: 20688 (3%) / total: 524288

@ladislas ladislas force-pushed the ladislas/feature/cmake-depend-os_version branch 2 times, most recently from 3c4afb2 to 2b9f7b1 Compare January 3, 2023 16:40
Copy link
Member

@YannLocatelli YannLocatelli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Decide if the project depend or not on semver

Comment on lines +30 to +34
Version current_version = Version {
semver::version {OS_VERSION}.major,
semver::version {OS_VERSION}.minor,
semver::version {OS_VERSION}.patch,
};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes and no -- the idea of removing semver was to remove complicated code just to get the version number.

semver is using constexpr almost everywhere, which means that the actual work is done at compile time and not run time, so the final binary should only have the actual major, minor and patch values.

this must be further investigated to be confirmed.

on the other hand, removing semver will mean finding another way to parse the OS_VERSION, either by using lines for each values or different files. A bit more complicated to handle cleanly in cmake.

also, semver is already being used in embedded code, so using it in unit tests is normal and cleans up things while we investigate further and decide to keep it or remove it for something else.

tests/functional/tests/firmware_kit/suite_firmware_kit.cpp Outdated Show resolved Hide resolved
@ladislas ladislas force-pushed the ladislas/feature/cmake-depend-os_version branch from 2b9f7b1 to 26a4fcf Compare January 12, 2023 16:27
This commit make FirmwareKit (and directory) depend on os_version config
file

This means that when the version is updated, cmake configure is run
again and the os_version.h file is regenerated with the new version

This should make development as build number could be added in the
future as well
@ladislas ladislas force-pushed the ladislas/feature/cmake-depend-os_version branch from 26a4fcf to d873d33 Compare January 13, 2023 09:35
@ladislas ladislas force-pushed the ladislas/feature/cmake-depend-os_version branch from d873d33 to 7f77528 Compare January 13, 2023 09:53
@ladislas ladislas merged commit e8b73fa into develop Jan 13, 2023
@ladislas ladislas deleted the ladislas/feature/cmake-depend-os_version branch January 13, 2023 09:55
@sonarcloud
Copy link

sonarcloud bot commented Jan 13, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
01 - type: task Something to do
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants