Skip to content

Rewrite examples/Braccio_Learn_and_Repeat using State design pattern #71

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

Merged
merged 20 commits into from
May 9, 2022

Conversation

aentinger
Copy link
Contributor

@Esquirio Can you please test?

@aentinger aentinger self-assigned this Apr 27, 2022
@Esquirio
Copy link
Collaborator

In the first tests with this code, the firmware crashs in the REPLAY mode. Thus, it was necessary to restart the Arduino Board.

@clodpheasant
Copy link
Collaborator

@91volt @umbynos can you also test it out?

I had no issues with the sketch actually

@Esquirio
Copy link
Collaborator

I've tested the example many times and moved all the joints, including the gripper. The code crashed a couple of times, as shown in this video. I am using the example of this commit.

@aentinger
Copy link
Contributor Author

Following up a private conversation with @Esquirio I think there is reason to believe that unprotected, multi-threaded access to LVGL (no Braccio.lvgl_lock/unlock statements) are cause for the spurious crashes.

@Esquirio can you please test the most recent code in this PR? Please ensure to download the whole library, not only the example (i.e. via this link).

@github-actions
Copy link

Memory usage change @ eae9401

Board flash % RAM for global variables %
arduino:mbed_nano:nanorp2040connect 🔺 0 - +196 0.0 - 0.0 🔺 0 - +8004 0.0 - +2.96
Click for full report table
Board examples/Braccio_Learn_and_Repeat
flash
% examples/Braccio_Learn_and_Repeat
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/01_creating_a_button
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/01_creating_a_button
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/02_designing_the_button
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/02_designing_the_button
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/03_creating_a_menu
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/03_creating_a_menu
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/04_testing_it_out
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/04_testing_it_out
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/05_display_challenge
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/05_display_challenge
RAM for global variables
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/01_playing_with_the_Joystick
flash
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/01_playing_with_the_Joystick
RAM for global variables
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/02_handling_events_in_the_menu
flash
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/02_handling_events_in_the_menu
RAM for global variables
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/03_navigate_challenge_I
flash
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/03_navigate_challenge_I
RAM for global variables
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/04_navigate_challenge_II
flash
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/04_navigate_challenge_II
RAM for global variables
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/01_playing_with_the_motors
flash
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/01_playing_with_the_motors
RAM for global variables
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/02_selecting_the_motor_with_the_enter_button
flash
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/02_selecting_the_motor_with_the_enter_button
RAM for global variables
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/03_moving_the_motors_with_the_joystick
flash
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/03_moving_the_motors_with_the_joystick
RAM for global variables
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/04_servo_motors_challenge
flash
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/04_servo_motors_challenge
RAM for global variables
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/01_playing_with_a_joint_angle_gauge
flash
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/01_playing_with_a_joint_angle_gauge
RAM for global variables
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/02_selecting_the_motor_in_the_LCD_menu
flash
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/02_selecting_the_motor_in_the_LCD_menu
RAM for global variables
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/03_learnings_challenge_I
flash
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/03_learnings_challenge_I
RAM for global variables
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/04_learnings_challenge_II
flash
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/04_learnings_challenge_II
RAM for global variables
% examples/Platform_Tutorials/projects/p01-moving-braccio/01_aligning_braccio
flash
% examples/Platform_Tutorials/projects/p01-moving-braccio/01_aligning_braccio
RAM for global variables
% examples/Platform_Tutorials/projects/p01-moving-braccio/02_waving_with_Braccio
flash
% examples/Platform_Tutorials/projects/p01-moving-braccio/02_waving_with_Braccio
RAM for global variables
% examples/Platform_Tutorials/projects/p01-moving-braccio/03_moving_challenge
flash
% examples/Platform_Tutorials/projects/p01-moving-braccio/03_moving_challenge
RAM for global variables
% examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/01_controlling_manually_Braccio
flash
% examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/01_controlling_manually_Braccio
RAM for global variables
% examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/02_manual_control_challenge
flash
% examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/02_manual_control_challenge
RAM for global variables
% examples/Platform_Tutorials/projects/p03-learning-mode/01_Braccio_learning_mode
flash
% examples/Platform_Tutorials/projects/p03-learning-mode/01_Braccio_learning_mode
RAM for global variables
% examples/Platform_Tutorials/projects/p03-learning-mode/02_learning_challenge
flash
% examples/Platform_Tutorials/projects/p03-learning-mode/02_learning_challenge
RAM for global variables
% examples/Tools/Braccio_Basic
flash
% examples/Tools/Braccio_Basic
RAM for global variables
% examples/Tools/Braccio_LearnByDoing
flash
% examples/Tools/Braccio_LearnByDoing
RAM for global variables
% examples/Tools/Factory_Set_ID_Interactive
flash
% examples/Tools/Factory_Set_ID_Interactive
RAM for global variables
% examples/Tools/Factory_Set_Initial_Servo_Position
flash
% examples/Tools/Factory_Set_Initial_Servo_Position
RAM for global variables
% examples/Tools/LCD_Custom_Menu
flash
% examples/Tools/LCD_Custom_Menu
RAM for global variables
% examples/Tools/LCD_Menu_Joystick
flash
% examples/Tools/LCD_Menu_Joystick
RAM for global variables
% examples/Tools/LCD_Motors
flash
% examples/Tools/LCD_Motors
RAM for global variables
% examples/Tools/Test_Inputs
flash
% examples/Tools/Test_Inputs
RAM for global variables
% examples/Tools/Test_Motor_Angular_Control
flash
% examples/Tools/Test_Motor_Angular_Control
RAM for global variables
% examples/Tools/Test_Motor_Communication
flash
% examples/Tools/Test_Motor_Communication
RAM for global variables
%
arduino:mbed_nano:nanorp2040connect 196 0.0 8004 2.96 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 196 0.0 8004 2.96 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
Click for full report CSV
Board,examples/Braccio_Learn_and_Repeat<br>flash,%,examples/Braccio_Learn_and_Repeat<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/01_creating_a_button<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/01_creating_a_button<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/02_designing_the_button<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/02_designing_the_button<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/03_creating_a_menu<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/03_creating_a_menu<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/04_testing_it_out<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/04_testing_it_out<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/05_display_challenge<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/05_display_challenge<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/01_playing_with_the_Joystick<br>flash,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/01_playing_with_the_Joystick<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/02_handling_events_in_the_menu<br>flash,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/02_handling_events_in_the_menu<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/03_navigate_challenge_I<br>flash,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/03_navigate_challenge_I<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/04_navigate_challenge_II<br>flash,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/04_navigate_challenge_II<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/01_playing_with_the_motors<br>flash,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/01_playing_with_the_motors<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/02_selecting_the_motor_with_the_enter_button<br>flash,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/02_selecting_the_motor_with_the_enter_button<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/03_moving_the_motors_with_the_joystick<br>flash,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/03_moving_the_motors_with_the_joystick<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/04_servo_motors_challenge<br>flash,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/04_servo_motors_challenge<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/01_playing_with_a_joint_angle_gauge<br>flash,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/01_playing_with_a_joint_angle_gauge<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/02_selecting_the_motor_in_the_LCD_menu<br>flash,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/02_selecting_the_motor_in_the_LCD_menu<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/03_learnings_challenge_I<br>flash,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/03_learnings_challenge_I<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/04_learnings_challenge_II<br>flash,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/04_learnings_challenge_II<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p01-moving-braccio/01_aligning_braccio<br>flash,%,examples/Platform_Tutorials/projects/p01-moving-braccio/01_aligning_braccio<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p01-moving-braccio/02_waving_with_Braccio<br>flash,%,examples/Platform_Tutorials/projects/p01-moving-braccio/02_waving_with_Braccio<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p01-moving-braccio/03_moving_challenge<br>flash,%,examples/Platform_Tutorials/projects/p01-moving-braccio/03_moving_challenge<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/01_controlling_manually_Braccio<br>flash,%,examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/01_controlling_manually_Braccio<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/02_manual_control_challenge<br>flash,%,examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/02_manual_control_challenge<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p03-learning-mode/01_Braccio_learning_mode<br>flash,%,examples/Platform_Tutorials/projects/p03-learning-mode/01_Braccio_learning_mode<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p03-learning-mode/02_learning_challenge<br>flash,%,examples/Platform_Tutorials/projects/p03-learning-mode/02_learning_challenge<br>RAM for global variables,%,examples/Tools/Braccio_Basic<br>flash,%,examples/Tools/Braccio_Basic<br>RAM for global variables,%,examples/Tools/Braccio_LearnByDoing<br>flash,%,examples/Tools/Braccio_LearnByDoing<br>RAM for global variables,%,examples/Tools/Factory_Set_ID_Interactive<br>flash,%,examples/Tools/Factory_Set_ID_Interactive<br>RAM for global variables,%,examples/Tools/Factory_Set_Initial_Servo_Position<br>flash,%,examples/Tools/Factory_Set_Initial_Servo_Position<br>RAM for global variables,%,examples/Tools/LCD_Custom_Menu<br>flash,%,examples/Tools/LCD_Custom_Menu<br>RAM for global variables,%,examples/Tools/LCD_Menu_Joystick<br>flash,%,examples/Tools/LCD_Menu_Joystick<br>RAM for global variables,%,examples/Tools/LCD_Motors<br>flash,%,examples/Tools/LCD_Motors<br>RAM for global variables,%,examples/Tools/Test_Inputs<br>flash,%,examples/Tools/Test_Inputs<br>RAM for global variables,%,examples/Tools/Test_Motor_Angular_Control<br>flash,%,examples/Tools/Test_Motor_Angular_Control<br>RAM for global variables,%,examples/Tools/Test_Motor_Communication<br>flash,%,examples/Tools/Test_Motor_Communication<br>RAM for global variables,%
arduino:mbed_nano:nanorp2040connect,196,0.0,8004,2.96,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,196,0.0,8004,2.96,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0

@Esquirio
Copy link
Collaborator

I've tested with the newest version of Braccio ++, and it presented the same problem. I am trying to check the code and find any issues

Copy link
Collaborator

@Esquirio Esquirio left a comment

Choose a reason for hiding this comment

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

The issue is in the if statement in lines 35-39. When I removed it, the example didn't crash.

@aentinger aentinger force-pushed the fix-arr-overflow branch 2 times, most recently from 26e6597 to 9d1abd3 Compare April 29, 2022 07:21
@aentinger
Copy link
Contributor Author

Hi @Esquirio ☕ 👋

I've merged #72 and rebased this PR.

Can you give it a test and let me know if this works for you?

Btw, I've noticed that despite #72 claims to use ENTER for "clicking events" clicking the joystick still works just fine CC @91volt .

@github-actions
Copy link

Memory usage change @ d80e3a1

Board flash % RAM for global variables %
arduino:mbed_nano:nanorp2040connect 🔺 0 - +184 0.0 - 0.0 🔺 0 - +8004 0.0 - +2.96
Click for full report table
Board examples/Braccio_Learn_and_Repeat
flash
% examples/Braccio_Learn_and_Repeat
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/01_creating_a_button
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/01_creating_a_button
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/02_designing_the_button
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/02_designing_the_button
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/03_creating_a_menu
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/03_creating_a_menu
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/04_testing_it_out
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/04_testing_it_out
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/05_display_challenge
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/05_display_challenge
RAM for global variables
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/01_playing_with_the_Joystick
flash
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/01_playing_with_the_Joystick
RAM for global variables
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/02_handling_events_in_the_menu
flash
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/02_handling_events_in_the_menu
RAM for global variables
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/03_navigate_challenge_I
flash
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/03_navigate_challenge_I
RAM for global variables
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/04_navigate_challenge_II
flash
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/04_navigate_challenge_II
RAM for global variables
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/01_playing_with_the_motors
flash
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/01_playing_with_the_motors
RAM for global variables
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/02_selecting_the_motor_with_the_enter_button
flash
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/02_selecting_the_motor_with_the_enter_button
RAM for global variables
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/03_moving_the_motors_with_the_joystick
flash
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/03_moving_the_motors_with_the_joystick
RAM for global variables
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/04_servo_motors_challenge
flash
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/04_servo_motors_challenge
RAM for global variables
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/01_playing_with_a_joint_angle_gauge
flash
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/01_playing_with_a_joint_angle_gauge
RAM for global variables
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/02_selecting_the_motor_in_the_LCD_menu
flash
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/02_selecting_the_motor_in_the_LCD_menu
RAM for global variables
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/03_learnings_challenge_I
flash
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/03_learnings_challenge_I
RAM for global variables
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/04_learnings_challenge_II
flash
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/04_learnings_challenge_II
RAM for global variables
% examples/Platform_Tutorials/projects/p01-moving-braccio/01_aligning_braccio
flash
% examples/Platform_Tutorials/projects/p01-moving-braccio/01_aligning_braccio
RAM for global variables
% examples/Platform_Tutorials/projects/p01-moving-braccio/02_waving_with_Braccio
flash
% examples/Platform_Tutorials/projects/p01-moving-braccio/02_waving_with_Braccio
RAM for global variables
% examples/Platform_Tutorials/projects/p01-moving-braccio/03_moving_challenge
flash
% examples/Platform_Tutorials/projects/p01-moving-braccio/03_moving_challenge
RAM for global variables
% examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/01_controlling_manually_Braccio
flash
% examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/01_controlling_manually_Braccio
RAM for global variables
% examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/02_manual_control_challenge
flash
% examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/02_manual_control_challenge
RAM for global variables
% examples/Platform_Tutorials/projects/p03-learning-mode/01_Braccio_learning_mode
flash
% examples/Platform_Tutorials/projects/p03-learning-mode/01_Braccio_learning_mode
RAM for global variables
% examples/Platform_Tutorials/projects/p03-learning-mode/02_learning_challenge
flash
% examples/Platform_Tutorials/projects/p03-learning-mode/02_learning_challenge
RAM for global variables
% examples/Tools/Braccio_Basic
flash
% examples/Tools/Braccio_Basic
RAM for global variables
% examples/Tools/Braccio_LearnByDoing
flash
% examples/Tools/Braccio_LearnByDoing
RAM for global variables
% examples/Tools/Factory_Set_ID_Interactive
flash
% examples/Tools/Factory_Set_ID_Interactive
RAM for global variables
% examples/Tools/Factory_Set_Initial_Servo_Position
flash
% examples/Tools/Factory_Set_Initial_Servo_Position
RAM for global variables
% examples/Tools/LCD_Custom_Menu
flash
% examples/Tools/LCD_Custom_Menu
RAM for global variables
% examples/Tools/LCD_Menu_Joystick
flash
% examples/Tools/LCD_Menu_Joystick
RAM for global variables
% examples/Tools/LCD_Motors
flash
% examples/Tools/LCD_Motors
RAM for global variables
% examples/Tools/Test_Inputs
flash
% examples/Tools/Test_Inputs
RAM for global variables
% examples/Tools/Test_Motor_Angular_Control
flash
% examples/Tools/Test_Motor_Angular_Control
RAM for global variables
% examples/Tools/Test_Motor_Communication
flash
% examples/Tools/Test_Motor_Communication
RAM for global variables
%
arduino:mbed_nano:nanorp2040connect 184 0.0 8004 2.96 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 184 0.0 8004 2.96 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
Click for full report CSV
Board,examples/Braccio_Learn_and_Repeat<br>flash,%,examples/Braccio_Learn_and_Repeat<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/01_creating_a_button<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/01_creating_a_button<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/02_designing_the_button<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/02_designing_the_button<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/03_creating_a_menu<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/03_creating_a_menu<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/04_testing_it_out<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/04_testing_it_out<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/05_display_challenge<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/05_display_challenge<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/01_playing_with_the_Joystick<br>flash,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/01_playing_with_the_Joystick<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/02_handling_events_in_the_menu<br>flash,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/02_handling_events_in_the_menu<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/03_navigate_challenge_I<br>flash,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/03_navigate_challenge_I<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/04_navigate_challenge_II<br>flash,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/04_navigate_challenge_II<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/01_playing_with_the_motors<br>flash,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/01_playing_with_the_motors<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/02_selecting_the_motor_with_the_enter_button<br>flash,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/02_selecting_the_motor_with_the_enter_button<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/03_moving_the_motors_with_the_joystick<br>flash,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/03_moving_the_motors_with_the_joystick<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/04_servo_motors_challenge<br>flash,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/04_servo_motors_challenge<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/01_playing_with_a_joint_angle_gauge<br>flash,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/01_playing_with_a_joint_angle_gauge<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/02_selecting_the_motor_in_the_LCD_menu<br>flash,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/02_selecting_the_motor_in_the_LCD_menu<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/03_learnings_challenge_I<br>flash,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/03_learnings_challenge_I<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/04_learnings_challenge_II<br>flash,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/04_learnings_challenge_II<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p01-moving-braccio/01_aligning_braccio<br>flash,%,examples/Platform_Tutorials/projects/p01-moving-braccio/01_aligning_braccio<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p01-moving-braccio/02_waving_with_Braccio<br>flash,%,examples/Platform_Tutorials/projects/p01-moving-braccio/02_waving_with_Braccio<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p01-moving-braccio/03_moving_challenge<br>flash,%,examples/Platform_Tutorials/projects/p01-moving-braccio/03_moving_challenge<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/01_controlling_manually_Braccio<br>flash,%,examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/01_controlling_manually_Braccio<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/02_manual_control_challenge<br>flash,%,examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/02_manual_control_challenge<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p03-learning-mode/01_Braccio_learning_mode<br>flash,%,examples/Platform_Tutorials/projects/p03-learning-mode/01_Braccio_learning_mode<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p03-learning-mode/02_learning_challenge<br>flash,%,examples/Platform_Tutorials/projects/p03-learning-mode/02_learning_challenge<br>RAM for global variables,%,examples/Tools/Braccio_Basic<br>flash,%,examples/Tools/Braccio_Basic<br>RAM for global variables,%,examples/Tools/Braccio_LearnByDoing<br>flash,%,examples/Tools/Braccio_LearnByDoing<br>RAM for global variables,%,examples/Tools/Factory_Set_ID_Interactive<br>flash,%,examples/Tools/Factory_Set_ID_Interactive<br>RAM for global variables,%,examples/Tools/Factory_Set_Initial_Servo_Position<br>flash,%,examples/Tools/Factory_Set_Initial_Servo_Position<br>RAM for global variables,%,examples/Tools/LCD_Custom_Menu<br>flash,%,examples/Tools/LCD_Custom_Menu<br>RAM for global variables,%,examples/Tools/LCD_Menu_Joystick<br>flash,%,examples/Tools/LCD_Menu_Joystick<br>RAM for global variables,%,examples/Tools/LCD_Motors<br>flash,%,examples/Tools/LCD_Motors<br>RAM for global variables,%,examples/Tools/Test_Inputs<br>flash,%,examples/Tools/Test_Inputs<br>RAM for global variables,%,examples/Tools/Test_Motor_Angular_Control<br>flash,%,examples/Tools/Test_Motor_Angular_Control<br>RAM for global variables,%,examples/Tools/Test_Motor_Communication<br>flash,%,examples/Tools/Test_Motor_Communication<br>RAM for global variables,%
arduino:mbed_nano:nanorp2040connect,184,0.0,8004,2.96,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,184,0.0,8004,2.96,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0

@91volt
Copy link
Collaborator

91volt commented Apr 29, 2022

Hi @Esquirio ☕ 👋

I've merged #72 and rebased this PR.

Can you give it a test and let me know if this works for you?

Btw, I've noticed that despite #72 claims to use ENTER for "clicking events" clicking the joystick still works just fine CC @91volt .

This was the intended behavior, both joystick click and enter button should allow the user to select an option.

@aentinger
Copy link
Contributor Author

aentinger commented Apr 29, 2022

This was the intended behavior, both joystick click and enter button should allow the user to select an option.

In this case all is fine 👍

@91volt
Copy link
Collaborator

91volt commented Apr 29, 2022

@aentinger We have tested the PR, here me and @umbynos feedbacks:

  • The MAX_SAMPLES lasts significantly more than 20 seconds.
  • If record is stopped due to MAX_SAMPLES being reached, the REPLAY action doesn't work as expected and stops immediately.
  • when max samples is reached, the ZERO_POSITION state is set the braccio doesn't actually go to zero, and remain disengaged. (Probably this happens because no lvgl events are triggered)

For what concerns the leds they work like a charm now.

@Esquirio
Copy link
Collaborator

I've tested the two codes intensively (@91volt code and @aentinger code). Both codes crashed. I will continue to investigate for issues and try to discover the cause of the crashes.

@aentinger aentinger force-pushed the fix-arr-overflow branch from d80e3a1 to f904f95 Compare May 2, 2022 06:29
@aentinger aentinger force-pushed the fix-arr-overflow branch from f904f95 to 1813c99 Compare May 2, 2022 06:34
@aentinger
Copy link
Contributor Author

The problem with this example is that

a) there are a fair number of state transitions
b) there are sometimes state enter/exit actions and that
c) state and stateful variables are both manipulated in loop and the LVGL event header.

I've tried avoiding it until now, but this whole examples needs a clean rewrite, otherwise it will be always be a trial-and-error programming with the smallest change breaking the whole flow.

@clodpheasant
Copy link
Collaborator

@91volt @Esquirio your 2 cents here?

@Esquirio
Copy link
Collaborator

Esquirio commented May 3, 2022

@aentinger Did you mean the issue is in the state transitions in the display?

I think it is possible to test the example using the Serial Monitor (or buttons and LEDs) instead of the LVGL library (If this test hasn't been done). I can do this test and report my findings.

@per1234 per1234 added topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project topic: documentation Related to documentation for the project and removed topic: code Related to content of the project itself labels May 4, 2022
@aentinger aentinger changed the title Fix overflow of sample array. Rewrite examples/Braccio_Learn_and_Repeat using State design pattern May 4, 2022
@aentinger
Copy link
Contributor Author

Once an application exceeds a certain number of states and state transitions it becomes very hard to keep track of the control flow is variables storing state are manipulated on several different locations in the code. Employing the State programming pattern I've untangled the transitions and make them more visible so that now there should be no more lurking 🐛 .

@Esquirio 🙏 test 🙇

@github-actions
Copy link

github-actions bot commented May 4, 2022

Memory usage change @ b2384df

Board flash % RAM for global variables %
arduino:mbed_nano:nanorp2040connect 🔺 0 - +596 0.0 - 0.0 💚 -30380 - 0 -11.24 - 0.0
Click for full report table
Board examples/Braccio_Learn_and_Repeat
flash
% examples/Braccio_Learn_and_Repeat
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/01_creating_a_button
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/01_creating_a_button
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/02_designing_the_button
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/02_designing_the_button
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/03_creating_a_menu
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/03_creating_a_menu
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/04_testing_it_out
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/04_testing_it_out
RAM for global variables
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/05_display_challenge
flash
% examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/05_display_challenge
RAM for global variables
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/01_playing_with_the_Joystick
flash
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/01_playing_with_the_Joystick
RAM for global variables
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/02_handling_events_in_the_menu
flash
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/02_handling_events_in_the_menu
RAM for global variables
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/03_navigate_challenge_I
flash
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/03_navigate_challenge_I
RAM for global variables
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/04_navigate_challenge_II
flash
% examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/04_navigate_challenge_II
RAM for global variables
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/01_playing_with_the_motors
flash
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/01_playing_with_the_motors
RAM for global variables
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/02_selecting_the_motor_with_the_enter_button
flash
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/02_selecting_the_motor_with_the_enter_button
RAM for global variables
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/03_moving_the_motors_with_the_joystick
flash
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/03_moving_the_motors_with_the_joystick
RAM for global variables
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/04_servo_motors_challenge
flash
% examples/Platform_Tutorials/lessons/03-playing-with-the-motors/04_servo_motors_challenge
RAM for global variables
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/01_playing_with_a_joint_angle_gauge
flash
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/01_playing_with_a_joint_angle_gauge
RAM for global variables
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/02_selecting_the_motor_in_the_LCD_menu
flash
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/02_selecting_the_motor_in_the_LCD_menu
RAM for global variables
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/03_learnings_challenge_I
flash
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/03_learnings_challenge_I
RAM for global variables
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/04_learnings_challenge_II
flash
% examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/04_learnings_challenge_II
RAM for global variables
% examples/Platform_Tutorials/projects/p01-moving-braccio/01_aligning_braccio
flash
% examples/Platform_Tutorials/projects/p01-moving-braccio/01_aligning_braccio
RAM for global variables
% examples/Platform_Tutorials/projects/p01-moving-braccio/02_waving_with_Braccio
flash
% examples/Platform_Tutorials/projects/p01-moving-braccio/02_waving_with_Braccio
RAM for global variables
% examples/Platform_Tutorials/projects/p01-moving-braccio/03_moving_challenge
flash
% examples/Platform_Tutorials/projects/p01-moving-braccio/03_moving_challenge
RAM for global variables
% examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/01_controlling_manually_Braccio
flash
% examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/01_controlling_manually_Braccio
RAM for global variables
% examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/02_manual_control_challenge
flash
% examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/02_manual_control_challenge
RAM for global variables
% examples/Platform_Tutorials/projects/p03-learning-mode/01_Braccio_learning_mode
flash
% examples/Platform_Tutorials/projects/p03-learning-mode/01_Braccio_learning_mode
RAM for global variables
% examples/Platform_Tutorials/projects/p03-learning-mode/02_learning_challenge
flash
% examples/Platform_Tutorials/projects/p03-learning-mode/02_learning_challenge
RAM for global variables
% examples/Tools/Braccio_Basic
flash
% examples/Tools/Braccio_Basic
RAM for global variables
% examples/Tools/Braccio_LearnByDoing
flash
% examples/Tools/Braccio_LearnByDoing
RAM for global variables
% examples/Tools/Factory_Set_ID_Interactive
flash
% examples/Tools/Factory_Set_ID_Interactive
RAM for global variables
% examples/Tools/Factory_Set_Initial_Servo_Position
flash
% examples/Tools/Factory_Set_Initial_Servo_Position
RAM for global variables
% examples/Tools/LCD_Custom_Menu
flash
% examples/Tools/LCD_Custom_Menu
RAM for global variables
% examples/Tools/LCD_Menu_Joystick
flash
% examples/Tools/LCD_Menu_Joystick
RAM for global variables
% examples/Tools/LCD_Motors
flash
% examples/Tools/LCD_Motors
RAM for global variables
% examples/Tools/Test_Inputs
flash
% examples/Tools/Test_Inputs
RAM for global variables
% examples/Tools/Test_Motor_Angular_Control
flash
% examples/Tools/Test_Motor_Angular_Control
RAM for global variables
% examples/Tools/Test_Motor_Communication
flash
% examples/Tools/Test_Motor_Communication
RAM for global variables
%
arduino:mbed_nano:nanorp2040connect 596 0.0 -30380 -11.24 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
Click for full report CSV
Board,examples/Braccio_Learn_and_Repeat<br>flash,%,examples/Braccio_Learn_and_Repeat<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/01_creating_a_button<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/01_creating_a_button<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/02_designing_the_button<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/02_designing_the_button<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/03_creating_a_menu<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/03_creating_a_menu<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/04_testing_it_out<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/04_testing_it_out<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/05_display_challenge<br>flash,%,examples/Platform_Tutorials/lessons/01-programming-the-braccio-display/05_display_challenge<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/01_playing_with_the_Joystick<br>flash,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/01_playing_with_the_Joystick<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/02_handling_events_in_the_menu<br>flash,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/02_handling_events_in_the_menu<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/03_navigate_challenge_I<br>flash,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/03_navigate_challenge_I<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/04_navigate_challenge_II<br>flash,%,examples/Platform_Tutorials/lessons/02-navigatting-the-display-menu/04_navigate_challenge_II<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/01_playing_with_the_motors<br>flash,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/01_playing_with_the_motors<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/02_selecting_the_motor_with_the_enter_button<br>flash,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/02_selecting_the_motor_with_the_enter_button<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/03_moving_the_motors_with_the_joystick<br>flash,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/03_moving_the_motors_with_the_joystick<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/04_servo_motors_challenge<br>flash,%,examples/Platform_Tutorials/lessons/03-playing-with-the-motors/04_servo_motors_challenge<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/01_playing_with_a_joint_angle_gauge<br>flash,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/01_playing_with_a_joint_angle_gauge<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/02_selecting_the_motor_in_the_LCD_menu<br>flash,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/02_selecting_the_motor_in_the_LCD_menu<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/03_learnings_challenge_I<br>flash,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/03_learnings_challenge_I<br>RAM for global variables,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/04_learnings_challenge_II<br>flash,%,examples/Platform_Tutorials/lessons/04-integration-of-previous-learnings/04_learnings_challenge_II<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p01-moving-braccio/01_aligning_braccio<br>flash,%,examples/Platform_Tutorials/projects/p01-moving-braccio/01_aligning_braccio<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p01-moving-braccio/02_waving_with_Braccio<br>flash,%,examples/Platform_Tutorials/projects/p01-moving-braccio/02_waving_with_Braccio<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p01-moving-braccio/03_moving_challenge<br>flash,%,examples/Platform_Tutorials/projects/p01-moving-braccio/03_moving_challenge<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/01_controlling_manually_Braccio<br>flash,%,examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/01_controlling_manually_Braccio<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/02_manual_control_challenge<br>flash,%,examples/Platform_Tutorials/projects/p02-controlling-braccio-manually/02_manual_control_challenge<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p03-learning-mode/01_Braccio_learning_mode<br>flash,%,examples/Platform_Tutorials/projects/p03-learning-mode/01_Braccio_learning_mode<br>RAM for global variables,%,examples/Platform_Tutorials/projects/p03-learning-mode/02_learning_challenge<br>flash,%,examples/Platform_Tutorials/projects/p03-learning-mode/02_learning_challenge<br>RAM for global variables,%,examples/Tools/Braccio_Basic<br>flash,%,examples/Tools/Braccio_Basic<br>RAM for global variables,%,examples/Tools/Braccio_LearnByDoing<br>flash,%,examples/Tools/Braccio_LearnByDoing<br>RAM for global variables,%,examples/Tools/Factory_Set_ID_Interactive<br>flash,%,examples/Tools/Factory_Set_ID_Interactive<br>RAM for global variables,%,examples/Tools/Factory_Set_Initial_Servo_Position<br>flash,%,examples/Tools/Factory_Set_Initial_Servo_Position<br>RAM for global variables,%,examples/Tools/LCD_Custom_Menu<br>flash,%,examples/Tools/LCD_Custom_Menu<br>RAM for global variables,%,examples/Tools/LCD_Menu_Joystick<br>flash,%,examples/Tools/LCD_Menu_Joystick<br>RAM for global variables,%,examples/Tools/LCD_Motors<br>flash,%,examples/Tools/LCD_Motors<br>RAM for global variables,%,examples/Tools/Test_Inputs<br>flash,%,examples/Tools/Test_Inputs<br>RAM for global variables,%,examples/Tools/Test_Motor_Angular_Control<br>flash,%,examples/Tools/Test_Motor_Angular_Control<br>RAM for global variables,%,examples/Tools/Test_Motor_Communication<br>flash,%,examples/Tools/Test_Motor_Communication<br>RAM for global variables,%
arduino:mbed_nano:nanorp2040connect,596,0.0,-30380,-11.24,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0

@arduino-libraries arduino-libraries deleted a comment from github-actions bot May 4, 2022
@arduino-libraries arduino-libraries deleted a comment from github-actions bot May 4, 2022
@arduino-libraries arduino-libraries deleted a comment from github-actions bot May 4, 2022
@aentinger aentinger merged commit dced752 into main May 9, 2022
@aentinger aentinger deleted the fix-arr-overflow branch May 9, 2022 05:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: documentation Related to documentation for the project type: imperfection Perceived defect in any part of project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants