This is a small tutorial on how to debug a ROS2 C++ node usign VSCode.
This implementation was done using:
import gi | |
gi.require_version('Gdk', '3.0') | |
gi.require_version('GObject', '2.0') | |
gi.require_version('Gst', '1.0') | |
gi.require_version('GstGL', '1.0') | |
gi.require_version('GstVideo', '1.0') | |
gi.require_version('Gtk', '3.0') | |
from gi.repository import Gdk, GObject, Gst, GstGL, GstVideo, Gtk | |
Gst.init(None) |
If you are like me you find yourself cloning a repo, making some proposed changes and then deciding to later contributing back using the GitHub Flow convention. Below is a set of instructions I've developed for myself on how to deal with this scenario and an explanation of why it matters based on jagregory's gist.
To follow GitHub flow you should really have created a fork initially as a public representation of the forked repository and the clone that instead. My understanding is that the typical setup would have your local repository pointing to your fork as origin and the original forked repository as upstream so that you can use these keywords in other git commands.
Clone some repo (you've probably already done this step).
git clone [email protected]
#include <string.h> | |
#include <gst/gst.h> | |
#include <signal.h> | |
#include <unistd.h> | |
#include <stdlib.h> | |
// v4l2src ! tee name=t t. ! x264enc ! mp4mux ! filesink location=/home/rish/Desktop/okay.264 t. ! videoconvert ! autovideosink | |
static GMainLoop *loop; | |
static GstElement *pipeline, *src, *tee, *encoder, *muxer, *filesink, *videoconvert, *videosink, *queue_record, *queue_display; |
In this article, I will share some of my experience on installing NVIDIA driver and CUDA on Linux OS. Here I mainly use Ubuntu as example. Comments for CentOS/Fedora are also provided as much as I can.
#include <stdio.h> | |
#include <gtk/gtk.h> | |
void hello(GtkWidget* widget, gpointer data) | |
{ | |
printf("Hello World!\n"); | |
} | |
int main(int argc, char* argv[]) | |
{ |