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

Yet Another Protocol (YAP) #2

Merged
merged 171 commits into from
Apr 18, 2023
Merged

Yet Another Protocol (YAP) #2

merged 171 commits into from
Apr 18, 2023

Conversation

gabryelreyes
Copy link
Collaborator

Implementation and Testing of the Yet Another Protocol (YAP) protocol.

Note:
The following files are shown as complete replacements; however these have not been modified. This is due a problem in the Line Encoding, which has since been resolved. Sorry for the inconvinience.

  • .github/workflows/main.yml
  • LICENSE
  • RadonAlcer.code-workspace
  • doc/doxygen/Doxyfile
  • lib/LineFollower/ReadyState.cpp
  • lib/Service/Logging.cpp
  • lib/Service/Logging.h
  • webots/LineFollower_track.wbt

@BlueAndi
Copy link
Owner

General question: How do we differ between YAP and LOG information?

lib/ArduinoNative/Arduino.h Outdated Show resolved Hide resolved
lib/ArduinoNative/SocketServer.cpp Outdated Show resolved Hide resolved
lib/ArduinoNative/SocketServer.h Outdated Show resolved Hide resolved
lib/LineFollower/App.cpp Outdated Show resolved Hide resolved
lib/Service/YAPCommon.hpp Show resolved Hide resolved
lib/Service/YAPServer.hpp Show resolved Hide resolved
lib/Service/YAPServer.hpp Outdated Show resolved Hide resolved
lib/Service/YAPServer.hpp Show resolved Hide resolved
test/common/TestStream.h Outdated Show resolved Hide resolved
@gabryelreyes
Copy link
Collaborator Author

General question: How do we differ between YAP and LOG information?

In the simulation this has been solved by routing the print() methods to the console, and the write() method to the SocketServer; which may not be ideal in the architecture, but allows for nice debugging. In the target this is not possible, as both print and write are routed to the Serial interface.

Ideally the LOG information would be sent on its own YAP Data channel, meaning that the Logging Module should be able to write to the YAP Server somehow (only the App knows the YAP Server Instance, so it is not an ideal solution). And maybe only the INFO level Logs, not the DEBUG logs.

Other solution is turning Logs completely off on the target, and any information to be transmitted must be available for the App to read and re-route.

@BlueAndi
Copy link
Owner

In the target this is not possible, as both print and write are routed to the Serial interface.

Thats why I meant that it should be application depended. Have a look:

image

The definition of Serial will be part of the corresponding application and therefore you can decide there whats the goal.

lib/LineFollower/App.cpp Outdated Show resolved Hide resolved
lib/ArduinoNative/Arduino.cpp Outdated Show resolved Hide resolved
lib/ArduinoNative/Arduino.cpp Outdated Show resolved Hide resolved
lib/ArduinoNative/Arduino.cpp Outdated Show resolved Hide resolved
lib/ArduinoNative/SocketServer.cpp Show resolved Hide resolved
lib/ArduinoNative/Stream.h Outdated Show resolved Hide resolved
lib/ArduinoNative/SocketServer.cpp Outdated Show resolved Hide resolved
lib/ArduinoNative/Terminal.cpp Outdated Show resolved Hide resolved
test/common/TestStream.h Show resolved Hide resolved
test/common/TestStream.h Outdated Show resolved Hide resolved
@BlueAndi BlueAndi merged commit 178d96a into main Apr 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants