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

♻️ (rc): Re-enter Working state at Command Received event #850

Conversation

YannLocatelli
Copy link
Member

@YannLocatelli YannLocatelli commented Jun 7, 2022

Motivation

Turn on screen again when reinforcer is run after an emergency stop. Doing it by using start working behaviour that turn on screen automatically.

Inconvenient

Image of start working behaviour is displayed each time and shift the video animation from motors and leds, and stopped any other animation on any command received.

Setting hardware from robot State is harder than setting a robot State from hardware.

Solution

2 solutions are possible

  • Check if previous state before receiving command is working. If it was, do not display screen again, but turn on screen. If it wasn't, then simply start working behaviour.
  • Add an Emergency Stop State and turn on again screen at exit.

@YannLocatelli YannLocatelli added this to the v1.0.0 milestone Jun 7, 2022
@YannLocatelli YannLocatelli self-assigned this Jun 7, 2022
@codecov
Copy link

codecov bot commented Jun 7, 2022

Codecov Report

Merging #850 (51d2ed4) into develop (5c28646) will increase coverage by 0.06%.
The diff coverage is 100.00%.

❗ Current head 51d2ed4 differs from pull request most recent head 9082736. Consider uploading reports for the commit 9082736 to get more accurate results

@@             Coverage Diff             @@
##           develop     #850      +/-   ##
===========================================
+ Coverage    95.36%   95.43%   +0.06%     
===========================================
  Files          115      115              
  Lines         2544     2539       -5     
===========================================
- Hits          2426     2423       -3     
+ Misses         118      116       -2     
Impacted Files Coverage Δ
libs/RobotKit/include/RobotController.h 95.51% <ø> (+1.13%) ⬆️
libs/RobotKit/include/StateMachine.h 100.00% <100.00%> (ø)
libs/BehaviorKit/source/BehaviorKit.cpp 100.00% <0.00%> (ø)

📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

@github-actions
Copy link

github-actions bot commented Jun 7, 2022

File comparision analysis report

🔖 Info

Target Flash Used (%) Flash Available (%) Static RAM (%)
bootloader 168372 (64%) 93772 (35%) 30760 (5%)
os 359432 (22%) 1205240 (77%) 73224 (13%)
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 ✔️ 359208 (17%)
359432 (17%)
📈
224 (0%)
73224 (13%) ø
bootloader ✔️ 168372 (8%) ø 30760 (5%) ø
certs_emc_ble_bt_lcd_led_motors ✔️ 250704 (11%) ø 29240 (5%) ø
certs_emc_ble_led_motors ✔️ 174584 (8%) ø 24952 (4%) ø
certs_emc_bt_lcd_qspi_rfid_touch_wifi ✔️ 148840 (7%) ø 22528 (4%) ø
certs_emc_lcd_led_motors ✔️ 92008 (4%) ø 16168 (3%) ø
hardware_motors_test_reduction_and_wheels ✔️ 177976 (8%) ø 24360 (4%) ø
spike_lk_behavior_kit ✔️ 187536 (8%) ø 48112 (9%) ø
spike_lk_ble ✔️ 225792 (10%) ø 28056 (5%) ø
spike_lk_bluetooth ✔️ 73256 (3%) ø 11448 (2%) ø
spike_lk_cg_animations ✔️ 144632 (6%) ø 46528 (8%) ø
spike_lk_color_kit ✔️ 65712 (3%) ø 13744 (2%) ø
spike_lk_command_kit ✔️ 189760 (9%) ø 50928 (9%) ø
spike_lk_config_kit ✔️ 124204 (5%) ø 14312 (2%) ø
spike_lk_coreled ✔️ 76164 (3%) ø 13688 (2%) ø
spike_lk_event_queue ✔️ 74736 (3%) ø 12072 (2%) ø
spike_lk_file_manager_kit ✔️ 128680 (6%) ø 14384 (2%) ø
spike_lk_file_reception ✔️ 326984 (15%) ø 27576 (5%) ø
spike_lk_flash_memory ✔️ 63880 (3%) ø 11448 (2%) ø
spike_lk_lcd ✔️ 167468 (7%) ø 47320 (9%) ø
spike_lk_led ✔️ 65744 (3%) ø 13392 (2%) ø
spike_lk_led_kit ✔️ 103992 (4%) ø 14608 (2%) ø
spike_lk_log_kit ✔️ 63736 (3%) ø 12256 (2%) ø
spike_lk_motors ✔️ 62600 (2%) ø 11488 (2%) ø
spike_lk_reinforcer ✔️ 103480 (4%) ø 14608 (2%) ø
spike_lk_rfid ✔️ 78644 (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 ✔️ 58904 (2%) ø 11464 (2%) ø
spike_lk_ticker_timeout ✔️ 69052 (3%) ø 11632 (2%) ø
spike_lk_update_process_app_base ✔️ 122788 (5%) ø 15288 (2%) ø
spike_lk_update_process_app_update ✔️ 77632 (3%) ø 12352 (2%) ø
spike_lk_watchdog_isr ✔️ 79964 (3%) ø 13296 (2%) ø
spike_lk_wifi ✔️ 116392 (5%) ø 14808 (2%) ø
spike_mbed_blinky ✔️ 57968 (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
LekaOS (click to expand)
--- build_artifacts/base_ref-build-enable_log_debug-OFF/LekaOS-map.txt	2022-06-07 17:01:31.222795164 +0000
+++ build_artifacts/head_ref-build-enable_log_debug-OFF/LekaOS-map.txt	2022-06-07 17:01:31.670813039 +0000
@@ -1,46 +1,46 @@
 | Module                     |           .text |       .data |          .bss |
 |----------------------------|-----------------|-------------|---------------|
-| [fill]                     |       544(+544) |     22(+22) |     186(+186) |
+| [fill]                     |       570(+570) |     22(+22) |     186(+186) |
 | [lib]/BLEKit.a             |     1292(+1292) |       0(+0) |         0(+0) |
 | [lib]/BatteryKit.a         |       324(+324) |       0(+0) |         0(+0) |
 | [lib]/BehaviorKit.a        |     2294(+2294) |       0(+0) |         0(+0) |
 | [lib]/ColorKit.a           |       864(+864) |       0(+0) |         0(+0) |
 | [lib]/CommandKit.a         |     1120(+1120) |       0(+0) |         0(+0) |
 | [lib]/CoreBattery.a        |       472(+472) |       0(+0) |         0(+0) |
 | [lib]/CoreBufferedSerial.a |         62(+62) |       0(+0) |         0(+0) |
 | [lib]/CoreEventFlags.a     |         94(+94) |       0(+0) |         0(+0) |
 | [lib]/CoreEventQueue.a     |       116(+116) |       0(+0) |         0(+0) |
 | [lib]/CoreFlashMemory.a    |       546(+546) |       0(+0) |         0(+0) |
 | [lib]/CoreMCU.a            |         16(+16) |       0(+0) |         0(+0) |
 | [lib]/CoreMotor.a          |       130(+130) |       0(+0) |         0(+0) |
 | [lib]/CoreMutex.a          |           8(+8) |       0(+0) |         0(+0) |
 | [lib]/CorePwm.a            |         12(+12) |       0(+0) |         0(+0) |
 | [lib]/CoreQSPI.a           |       160(+160) |       0(+0) |         0(+0) |
 | [lib]/CoreRFIDReader.a     |       724(+724) |       0(+0) |         0(+0) |
 | [lib]/CoreSPI.a            |         28(+28) |       0(+0) |         0(+0) |
 | [lib]/CoreSTM32Hal.a       |       930(+930) |       0(+0) |         0(+0) |
 | [lib]/CoreTimeout.a        |       204(+204) |       0(+0) |         0(+0) |
 | [lib]/CoreVideo.a          |     7920(+7920) |       1(+1) | 30800(+30800) |
 | [lib]/CriticalSection.a    |           8(+8) |       0(+0) |         0(+0) |
 | [lib]/EventLoopKit.a       |       348(+348) |       0(+0) |         0(+0) |
 | [lib]/FileManagerKit.a     |     1308(+1308) |       0(+0) |         0(+0) |
 | [lib]/FirmwareKit.a        |       172(+172) |       0(+0) |         0(+0) |
 | [lib]/HelloWorld.a         |         94(+94) |       0(+0) |         0(+0) |
 | [lib]/LedKit.a             |   19410(+19410) |       0(+0) |       10(+10) |
 | [lib]/RFIDKit.a            |       886(+886) |       0(+0) |         8(+8) |
 | [lib]/SerialNumberKit.a    |       160(+160) |       0(+0) |         0(+0) |
 | [lib]/Utils.a              |         34(+34) |       0(+0) |         0(+0) |
 | [lib]/VideoKit.a           |       638(+638) |       0(+0) |       36(+36) |
 | [lib]/bootutil.a           |     1362(+1362) |     12(+12) |     132(+132) |
 | [lib]/c.a                  |   43396(+43396) | 2572(+2572) |       97(+97) |
 | [lib]/gcc.a                |     7148(+7148) |       0(+0) |         0(+0) |
 | [lib]/m.a                  |       204(+204) |       0(+0) |         0(+0) |
 | [lib]/mbed-os-static.a     | 170856(+170856) |   769(+769) | 19647(+19647) |
 | [lib]/misc                 |       188(+188) |       4(+4) |       28(+28) |
 | [lib]/nosys.a              |         32(+32) |       0(+0) |         0(+0) |
 | [lib]/stdc++.a             |   10312(+10312) |     16(+16) |     204(+204) |
-| main.cpp.obj               |   46232(+46232) |   548(+548) | 17804(+17804) |
-| Subtotals                  | 320648(+320648) | 3944(+3944) | 68952(+68952) |
+| main.cpp.obj               |   46398(+46398) |   548(+548) | 17804(+17804) |
+| Subtotals                  | 320840(+320840) | 3944(+3944) | 68952(+68952) |
 Total Static RAM memory (data + bss): 72896(+72896) bytes
-Total Flash memory (text + data): 324592(+324592) bytes
+Total Flash memory (text + data): 324784(+324784) bytes
 
Flash used: 359432&nbsp;(17%) / total: 2097152
SRAM used: 73224&nbsp;(13%) / total: 524288

@github-actions
Copy link

github-actions bot commented Jun 7, 2022

File comparision analysis report

🔖 Info

Target Flash Used (%) Flash Available (%) Static RAM (%)
bootloader 167668 (63%) 94476 (36%) 30856 (5%)
os 387868 (24%) 1176804 (75%) 80272 (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 ✔️ 387500 (18%)
387868 (18%)
📈
368 (0%)
80272 (15%) ø
bootloader ✔️ 167668 (7%) ø 30856 (5%) ø
certs_emc_ble_bt_lcd_led_motors ✔️ 257608 (12%) ø 35872 (6%) ø
certs_emc_ble_led_motors ✔️ 190960 (9%) ø 31512 (6%) ø
certs_emc_bt_lcd_qspi_rfid_touch_wifi ✔️ 164608 (7%) ø 29344 (5%) ø
certs_emc_lcd_led_motors ✔️ 91304 (4%) ø 16264 (3%) ø
hardware_motors_test_reduction_and_wheels ✔️ 193408 (9%) ø 30920 (5%) ø
spike_lk_behavior_kit ✔️ 196036 (9%) ø 54528 (10%) ø
spike_lk_ble ✔️ 233676 (11%) ø 34712 (6%) ø
spike_lk_bluetooth ✔️ 90616 (4%) ø 18016 (3%) ø
spike_lk_cg_animations ✔️ 152200 (7%) ø 53064 (10%) ø
spike_lk_color_kit ✔️ 88352 (4%) ø 20216 (3%) ø
spike_lk_command_kit ✔️ 199956 (9%) ø 57856 (11%) ø
spike_lk_config_kit ✔️ 136100 (6%) ø 20976 (4%) ø
spike_lk_coreled ✔️ 87916 (4%) ø 20104 (3%) ø
spike_lk_event_queue ✔️ 84088 (4%) ø 18744 (3%) ø
spike_lk_file_manager_kit ✔️ 143648 (6%) ø 21304 (4%) ø
spike_lk_file_reception ✔️ 331052 (15%) ø 34072 (6%) ø
spike_lk_flash_memory ✔️ 86712 (4%) ø 18056 (3%) ø
spike_lk_lcd ✔️ 177100 (8%) ø 53992 (10%) ø
spike_lk_led ✔️ 88168 (4%) ø 19872 (3%) ø
spike_lk_led_kit ✔️ 115708 (5%) ø 21024 (4%) ø
spike_lk_log_kit ✔️ 84440 (4%) ø 19248 (3%) ø
spike_lk_motors ✔️ 86008 (4%) ø 18088 (3%) ø
spike_lk_reinforcer ✔️ 112188 (5%) ø 21024 (4%) ø
spike_lk_rfid ✔️ 84512 (4%) ø 18032 (3%) ø
spike_lk_sensors_battery ✔️ 86960 (4%) ø 19120 (3%) ø
spike_lk_sensors_light ✔️ 83944 (4%) ø 18056 (3%) ø
spike_lk_sensors_microphone ✔️ 84696 (4%) ø 18056 (3%) ø
spike_lk_sensors_temperature_humidity ✔️ 90336 (4%) ø 18032 (3%) ø
spike_lk_sensors_touch ✔️ 91608 (4%) ø 18296 (3%) ø
spike_lk_serial_number ✔️ 82176 (3%) ø 18320 (3%) ø
spike_lk_ticker_timeout ✔️ 82584 (3%) ø 18072 (3%) ø
spike_lk_update_process_app_base ✔️ 144644 (6%) ø 21896 (4%) ø
spike_lk_update_process_app_update ✔️ 100328 (4%) ø 19080 (3%) ø
spike_lk_watchdog_isr ✔️ 88152 (4%) ø 20120 (3%) ø
spike_lk_wifi ✔️ 130640 (6%) ø 21368 (4%) ø
spike_mbed_blinky ✔️ 57616 (2%) ø 11496 (2%) ø
spike_mbed_watchdog_ticker_vs_thread ✔️ 84112 (4%) ø 18920 (3%) ø
spike_stl_cxxsupport ✔️ 83424 (3%) ø 18144 (3%) ø

🗺️ Map files diff output

Click to show diff list
LekaOS (click to expand)
--- build_artifacts/base_ref-build-enable_log_debug-ON/LekaOS-map.txt	2022-06-07 17:00:49.511755706 +0000
+++ build_artifacts/head_ref-build-enable_log_debug-ON/LekaOS-map.txt	2022-06-07 17:00:49.935758105 +0000
@@ -1,46 +1,46 @@
 | Module                     |           .text |       .data |          .bss |
 |----------------------------|-----------------|-------------|---------------|
-| [fill]                     |       514(+514) |     22(+22) |     199(+199) |
+| [fill]                     |       532(+532) |     22(+22) |     199(+199) |
 | [lib]/BLEKit.a             |     1292(+1292) |       0(+0) |         0(+0) |
 | [lib]/BatteryKit.a         |       324(+324) |       0(+0) |         0(+0) |
 | [lib]/BehaviorKit.a        |     2294(+2294) |       0(+0) |         0(+0) |
 | [lib]/ColorKit.a           |       864(+864) |       0(+0) |         0(+0) |
 | [lib]/CommandKit.a         |     1120(+1120) |       0(+0) |         0(+0) |
 | [lib]/CoreBattery.a        |       472(+472) |       0(+0) |         0(+0) |
 | [lib]/CoreBufferedSerial.a |         62(+62) |       0(+0) |         0(+0) |
 | [lib]/CoreEventFlags.a     |         94(+94) |       0(+0) |         0(+0) |
 | [lib]/CoreEventQueue.a     |       116(+116) |       0(+0) |         0(+0) |
 | [lib]/CoreFlashMemory.a    |       546(+546) |       0(+0) |         0(+0) |
 | [lib]/CoreMCU.a            |         16(+16) |       0(+0) |         0(+0) |
 | [lib]/CoreMotor.a          |       130(+130) |       0(+0) |         0(+0) |
 | [lib]/CoreMutex.a          |           8(+8) |       0(+0) |         0(+0) |
 | [lib]/CorePwm.a            |         12(+12) |       0(+0) |         0(+0) |
 | [lib]/CoreQSPI.a           |       160(+160) |       0(+0) |         0(+0) |
 | [lib]/CoreRFIDReader.a     |       724(+724) |       0(+0) |         0(+0) |
 | [lib]/CoreSPI.a            |         28(+28) |       0(+0) |         0(+0) |
 | [lib]/CoreSTM32Hal.a       |       930(+930) |       0(+0) |         0(+0) |
 | [lib]/CoreTimeout.a        |       204(+204) |       0(+0) |         0(+0) |
 | [lib]/CoreVideo.a          |     7920(+7920) |       1(+1) | 30800(+30800) |
 | [lib]/CriticalSection.a    |           8(+8) |       0(+0) |         0(+0) |
 | [lib]/EventLoopKit.a       |       348(+348) |       0(+0) |         0(+0) |
 | [lib]/FileManagerKit.a     |     1308(+1308) |       0(+0) |         0(+0) |
 | [lib]/FirmwareKit.a        |       172(+172) |       0(+0) |         0(+0) |
 | [lib]/HelloWorld.a         |         94(+94) |       0(+0) |         0(+0) |
 | [lib]/LedKit.a             |   19410(+19410) |       0(+0) |       10(+10) |
 | [lib]/RFIDKit.a            |     1826(+1826) |       0(+0) |     136(+136) |
 | [lib]/SerialNumberKit.a    |       160(+160) |       0(+0) |         0(+0) |
 | [lib]/Utils.a              |         34(+34) |       0(+0) |         0(+0) |
 | [lib]/VideoKit.a           |       638(+638) |       0(+0) |       36(+36) |
 | [lib]/bootutil.a           |     1362(+1362) |     12(+12) |     132(+132) |
 | [lib]/c.a                  |   42180(+42180) | 2572(+2572) |       97(+97) |
 | [lib]/gcc.a                |     7148(+7148) |       0(+0) |         0(+0) |
 | [lib]/m.a                  |       564(+564) |       0(+0) |         0(+0) |
 | [lib]/mbed-os-static.a     | 172108(+172108) |   769(+769) | 19735(+19735) |
 | [lib]/misc                 |       188(+188) |       4(+4) |       28(+28) |
 | [lib]/nosys.a              |         32(+32) |       0(+0) |         0(+0) |
 | [lib]/stdc++.a             |   10732(+10732) |     16(+16) |     204(+204) |
-| main.cpp.obj               |   71210(+71210) |   548(+548) | 24623(+24623) |
-| Subtotals                  | 347352(+347352) | 3944(+3944) | 76000(+76000) |
+| main.cpp.obj               |   71512(+71512) |   548(+548) | 24623(+24623) |
+| Subtotals                  | 347672(+347672) | 3944(+3944) | 76000(+76000) |
 Total Static RAM memory (data + bss): 79944(+79944) bytes
-Total Flash memory (text + data): 351296(+351296) bytes
+Total Flash memory (text + data): 351616(+351616) bytes
 
Flash used: 387868&nbsp;(18%) / total: 2097152
SRAM used: 80272&nbsp;(15%) / total: 524288

@sonarcloud
Copy link

sonarcloud bot commented Jun 7, 2022

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

100.0% 100.0% Coverage
0.0% 0.0% Duplication

@YannLocatelli YannLocatelli marked this pull request as draft June 7, 2022 15:08
@ladislas ladislas added the 01 - type: task Something to do label Jun 7, 2022
Add a new transition in SM to stop and start timeout instead of doing them in callback. Fix issue to turn on screen after emergency stop
@YannLocatelli
Copy link
Member Author

See #853

@YannLocatelli YannLocatelli removed this from the v1.0.0 milestone Jun 8, 2022
@YannLocatelli YannLocatelli deleted the yann/refactor/rc/re-enter-working-state-at-command-received branch June 10, 2022 15:31
@ladislas ladislas added this to the v1.0.0 milestone Jun 15, 2022
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