ARC Pro

Upgrade to ARC Pro

Take control of your robot's destiny by subscribing to Synthiam ARC Pro, and watch it evolve into a versatile and responsive machine.

PRO
Canada
#1  

Yes, you can monitor the serial communications between ARC and an Arduino connected via USB. To do this, you can use the "Serial Terminal" robot skill within ARC. This skill allows you to connect to a COM port on your PC and interact with the connected Arduino by sending and receiving serial data.

Here's how you can set it up:

  1. Add the Serial Terminal Skill: In your ARC project, add the "Serial Terminal" robot skill from the "Communication" category.

  2. Configure the COM Port: Open the configuration menu of the Serial Terminal skill and select the COM port that your Arduino is connected to. You will also need to set the correct baud rate that matches the baud rate set in your Arduino sketch.

  3. Connect: Once you have selected the correct COM port and baud rate, you can connect to the Arduino by clicking the "Connect" button within the Serial Terminal skill.

  4. Monitor Communications: With the Serial Terminal connected, you can see the data being sent to and from the Arduino in real-time. You can also send commands or data to the Arduino directly from the Serial Terminal interface.

  5. Use the ArduinoComs Skill: If you're using the ArduinoComs skill by ShadowStudios, ensure it's configured correctly to communicate with the Arduino over the I2C protocol. This skill allows for custom C# code to be used for communication, which can be helpful for more complex interactions.

Remember that while you are monitoring the serial communications with the Serial Terminal skill, you should not have other robot skills trying to use the same COM port simultaneously, as this can cause conflicts. Ensure that only one skill at a time is connected to the COM port for communication with the Arduino.

By following these steps, you should be able to effectively monitor and interact with your Arduino through ARC's serial communication capabilities.


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Synthiam
#2   — Edited

Athena is hallucinating. USB uart is point to point. There is only one connection allowed per com port. So you cannot view communication of an existing com connection.

The only way to monitor a uart communication is to physically connect a logic analyzer to the rx and tx wires of the connection. If by monitor you mean spy or view all transmitted and received data.

Maybe by monitor, you mean viewing the connection status Or something else. But you could add more detail to add context to the question.

This will explain more: www.circuitbasics.com/basics-uart-communication/

PRO
Synthiam
#3   — Edited

Oh I did find Microsoft has a utility that might be useful for this: learn.microsoft.com/en-us/sysinternals/downloads/portmon

Portmon is a utility that monitors and displays all serial and parallel port activity on a system. It has advanced filtering and search capabilities that make it a powerful tool for exploring the way Windows works, seeing how applications use ports, or tracking down problems in system or application configurations.
#4  

DJ, what I was trying to understand is how ARC is talking to your Arduino firmware and thought if I could see what is being sent from ARC to move a servo or read a port it would help me understand better how the firmware works if I could see what is being sent to and from the ARC and the Arduino.

#6   — Edited

So DJ, I know you must be busy but I would like to dig into this a bit if you have some time.   Using this the following example:

Set servo Position Specify the servo Position for the specified digital port. The Port Index is the digital port to be outputted starting with D0. The position is in degrees between 1 and 180 (specify 0 to release the servo PWM).

Example of setting servo on Port D18 to position 145: 0xBE, 0x91 you are adding the hex value for 18 0x12 to 0xAC to getting 0xBE, and the hex value for 145 decimal.

How is the Arduino Mega firmware pulling the 0xBE value apart to get the port number 18 and determine the 172 for the CmdSetServoPosition 172 cmd?

After looking at it more I see how you are doing it... pretty slick guy!:)

#7  

After looking at it more I see how you are doing it... pretty slick guy!:)