forked from viamrobotics/rdk
-
Notifications
You must be signed in to change notification settings - Fork 0
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
RSDK 1845 #1
Closed
Closed
RSDK 1845 #1
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…alls (viamrobotics#1579) Co-authored-by: randhid <rand@viam.com>
…amrobotics#1593) For less trusted environments where an untrusted user may update the config and we cannot trust them to run arbitrary code. Note: This shouldn't be relied upon for completely untrusted environments.
…#1604) Co-authored-by: Ray Bjorkman <raymond@viam.com>
Co-authored-by: Maxim Pertsov <maxim@viam.com>
Tried on a Jetson Orin: both reading and writing both high and low values work great! Also tried on a BeagleBone AI-64: GPIO behavior is unchanged. As Nicolas notes, it sucks to have 3 different implementations of GPIO stuff, and it would be wonderful to get down to a single approach that works everywhere. It's obvious why the pigpio approach doesn't work on a non-rpi board, and we've discussed why the periph.io approach doesn't work on the Orin. It would be neat to use the ioctl approach everywhere eventually, but that doesn't need to happen immediately. I learned great things from https://blog.lxsang.me/post/id/33 about how to use ioctl, and from https://github.com/mkch/gpio for how to do this in Go. I don't like how much duplication there is between `ioctlPin.Set` and `ioctlPin.Get`, but couldn't see an easy way to remove it: abstracting out a helper function to, say, open the device actually makes the code longer because you need to check the return value for errors, and the values to construct a `gpioHandleRequest` object are different enough that a helper function feels contrived to me.
Robot now exposes a PackageManager service that allows other components/services to reference a Package based on their config. The local robot will load and sync all config.Packages before reconfiguring the robot. Note: Today this will block reconfiguring until the packages are loaded or fail to load. This can be problematic if there are very large files that need t be downloaded but a decent compromise for v0. After reconfiguration the local robot will cleanup the package manager. This is done after reconfiguration to ensure no running processes / services / components are referencing the files before removing them.
This is a follow-up to viamrobotics#1810. Data is taken from https://github.com/NVIDIA/jetson-gpio/blob/master/lib/python/Jetson/GPIO/gpio_pin_data.py#L53-L80. I can't test this out because the Jetson Orin NX hardware is not yet on the market (we have the higher-end Orin AGX, whose pin definitions are already in here and are different from the NX). but I'd sure expect that NVidia's github repo contains accurate data regarding NVidia's own hardware.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
untrusted-env
to disable all processes and shell (APP-955 - Flaguntrusted-env
to disable all processes and shell viamrobotics/rdk#1593)pointerup
andpointerleave
events (Bugfix: Control page, stop movement onpointerup
andpointerleave
events viamrobotics/rdk#1649)T.TempDir
to create temporary test directory (test: useT.TempDir
to create temporary test directory viamrobotics/rdk#1686)