Why an update messed up Monitor.print()

I had my first simple sketch working then updated with a new patch for the MCU. Now the print formatting using Monitor is all over the place, the delays are just tries to see if I have a timeing problem, makesUse code tags to format code for the forum no difference. I'm sure that the new update screwed up the RTOS. Any ideas what may be the problem. I think update, since the code never changed. Keli

#include <Arduino_Modulino.h>
#include <Arduino_RouterBridge.h>

ModulinoJoystick joystick;

void setup() {
// Get stuff running
Modulino.begin();
joystick.begin();
Monitor.begin();
}

void loop() {
joystick.update();

if(joystick.isPressed()) {
Monitor.println("Pressed ****");
}

Monitor.println();
Monitor.println("JOYSTICK VALUES: ");
Monitor.print("x ");
Monitor.println(joystick.getX());
delay(100);
Monitor.print("y ");
Monitor.println(joystick.getY());
delay(2500);
}

Please in future, put your codes within code tags with 3-space indentation.

#include <Arduino_Modulino.h>
#include <Arduino_RouterBridge.h>

ModulinoJoystick joystick;

void setup() 
{
   // Get stuff running
   Modulino.begin();
   joystick.begin();
   Monitor.begin();
}

void loop() 
{
   joystick.update();

   if(joystick.isPressed()) 
   {
      Monitor.println("Pressed ****");
   }

   Monitor.println();
   Monitor.println("JOYSTICK VALUES: ");
   Monitor.print("x ");
   Monitor.println(joystick.getX());
   delay(100);
   Monitor.print("y ");
   Monitor.println(joystick.getY());
   delay(2500);
}

Thanks for your report @kelid. I submitted a formal bug report to the developers on your behalf:

If you have a GitHub account, you can subscribe to that thread to get notifications of any new developments related to this subject:


The workaround will be to revert back to using version 0.52.0 of the "Arduino UNO Q Board" platform (machine identifier arduino:zephyr). I'll provide instructions you can follow to do that:

  1. Start Arduino App Lab and connect it to your UNO Q board (if using the board in PC hosted mode).
  2. If you are using the board in PC hosted mode, click the >_ ("Connect to the board's shell") icon near the bottom left hand corner of the Arduino App Lab window. Otherwise, open the terminal via the desktop menu.
    A terminal window will open.
  3. Type the following command in the terminal window:
    arduino-cli core install arduino:zephyr@0.52.0
    
  4. Press the Enter key.
    You will see output printed that indicates the progress of installing version 0.52.0 of the arduino:zephyr platform.
  5. Wait until the installation process finishes successfully.
  6. Close the terminal window.
  7. Open your App in Arduino App Lab.
  8. If your App is already running, click the "Stop" button and wait for the App to be stopped.
  9. Click the "Run" button.

You should now find that the Serial Monitor content is as expected.

Arduino App Lab will periodically offer to update the "Arduino UNO Q Board" platform back to the problematic version 0.53.0. If you accept the update offer, the problem with the Serial Monitor output will come back. However, you should keep an eye out for the availability of a new release of the "Arduino UNO Q Board" platform (e.g., 0.54.0). Once that comes out, you should update, as this may have the bug fix and also other important enhancements and bug fixes.

2 Likes

Thanks @kelid and @ptillisch, I meant to create an issue,
Been noticing it for a bit, and mentioned it, like

But forgot to check for an issue

Thanks. I did see that post, but didn't catch the significance of that part.

I added a reference to your report in the GitHub issue (we track the occurrences of unique reports as they can be used as an indicator of the level of impact on the user base, and also to serve as potential sources of more information in the case where the issue doesn't have enough to be actionable).

1 Like

Thanks for the info on how to fix the Monitor.print function. I was blown away when my simple code went crazy after I was ready to move onto what I was really interested about which was passing data back and forth between the main and the sketch in both directions. main > < bridge > < sketch. I have not seen a "simple" example of what I think is a good example how to pass data in both directions. Bricks will come latter. I was really irritated that the normal String.print function didn't work, wasted a couple of days on that. Then after I got Monitor printing right the RTOS got trashed by updating. You shouldn't get toasted by a buggy upgrade. On the documentation of the IDE two red warnings should be on the first page, can't use Print and don't upgrade. Your instuctions on turning off upgrade don't work for me. Thank you for the instructions on reverting back back to an earlier RTOS. It worked. K

I'm not sure I understood correctly what you mean by "don't work". Please provide a more detailed description of what you mean in a reply on this forum topic to help us to understand it.

Make sure to include the following information:

  • What did you do?
  • What were the results you expected from doing that thing?
  • What were the results you observed that did not match your expectations?

If you encountered any errors or warnings, please provide the full and exact text of those messages.

Same issue I’m having here