Skip to content

Instantly share code, notes, and snippets.

View jlblancoc's full-sized avatar

Jose Luis Blanco-Claraco jlblancoc

View GitHub Profile
@jlblancoc
jlblancoc / check_K.m
Created June 7, 2018 10:36
Ayuda a depuración de cálculo matricial de estructuras en C++
% Comprobación en MATLAB de que una matriz 'K.txt' es correcta:
% Dentro de MATLAB, irse al directorio donde esté el fichero K.txt:
K=load('K.txt');
% "K" debe ser simétrica, por lo que K menos su transpuesta debe ser todo ceros.
errores = K - K';
% Inspeccionar la matriz "errores" en el visor de variables, y en caso de haber
% elementos distintos de cero (ignorad los errores numéricos, valores muy pequeños)
@jlblancoc
jlblancoc / capture.m
Created March 7, 2019 10:36
Example: capture analog streams with NationInstrument DAQ from MATLAB
function [] = main()
close all;
% Make sure:
disp('Searching devices...');
devs=daq.getDevices();
if (length(devs.Vendor)~=1),
error('Is the USB DAQ connected?');
end
@jlblancoc
jlblancoc / notes.md
Last active December 6, 2019 08:10
wxWidgets: massive port Connect() to Bind() using regular expressions

Regular expression syntax tested with Visual Studio Code (Dec 2019)

Goal: transform:

Connect(
	ID_BUTTON1, wxEVT_COMMAND_BUTTON_CLICKED,
	(wxObjectEventFunction)&CDlgCalibWizardOnline::OnbtnStartClick);

into:

@jlblancoc
jlblancoc / method.md
Last active July 3, 2020 06:04
Regular expression: replace all C++ member variable names in a project `m_XXX` ==> "XX_" (Google style)

Search for:

([\r\n ,\.\t\[\_\*\>\(\-\!\&\{])m_([a-zA-Z0-9_]*)

Replace with:

$1$2_
This file has been truncated, but you can view the full file.
Delivered-To: jlblanco@ual.es
Received: by 2002:a02:8786:0:0:0:0:0 with SMTP id t6csp1186368jai;
Wed, 22 Jul 2020 22:43:39 -0700 (PDT)
X-Google-Smtp-Source: ABdhPJylm/QLhynKq/SZznR1l+Y5sRRDMulWqyIKPUeIickBG5o/ELk3EloepDByZGlB+RSf/LfF
X-Received: by 2002:a92:5f5a:: with SMTP id t87mr1748507ilb.255.1595483019518;
Wed, 22 Jul 2020 22:43:39 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1595483019; cv=none;
d=google.com; s=arc-20160816;
b=N3tZ5eARWjTJbaqKvySN+mHaSOUPVGHZP4DpOQQeS7j0oHIcDMgcEK/G1PAsMInAtw
3OvsVIDWf0Jn7M/zm/HCoJYwhTifyFOyEk+JHaXixlZOIMzLLkRuNwFdOw85IzVEG+d9
@jlblancoc
jlblancoc / Factor1stOrderOutput.cpp
Created January 20, 2020 09:30
Minimal example: defining new factor and variable types for GTSAM
#include <libfgcontrol/Factor1stOrderOutput.h>
#include <mrpt/core/exceptions.h>
using namespace fgcontrol;
Factor1stOrderOutput::~Factor1stOrderOutput() = default;
gtsam::NonlinearFactor::shared_ptr Factor1stOrderOutput::clone() const
{
return boost::static_pointer_cast<gtsam::NonlinearFactor>(
@jlblancoc
jlblancoc / dibuja_dep.m
Created December 15, 2022 20:09
MATLAB function to draw the power spectral density of a time series
function [] = dibuja_dep(x, Fs)
% Dibuja la densidad espectral de potencia (dep)
% o power spectral density (psd) de una señal "x" muestreada a una
% frecuencia de muestreo "Fs" (Hz)
N = length(x);
X = fft(x);
X = X(1:N/2+1);
psdx = (1/(Fs*N)) * abs(X).^2;
psdx(2:end-1) = 2*psdx(2:end-1);
freq = 0:Fs/length(x):Fs/2;
@jlblancoc
jlblancoc / delete_build_temps.bat
Created November 28, 2013 21:54
Batch (.BAT) script (Windows) to delete all temporary files after compiling a project with Microsoft Visual Studio (Visual C++) or GCC. It finds and removes (recursively in the given directory trees), all files that match any of: *.obj, *.o, *.pch, *.pdb, *.ilk, *.idb, *.gch
REM =======================================================================
REM Batch (.BAT) script (Windows) to delete all temporary files after
REM compiling a project with Microsoft Visual Studio (Visual C++) or GCC.
REM
REM Warning: It also deletes the debug databases, needed to "step into"
REM from a debugger. These files may be really *large*, but if you think
REM you will need them, remove the file for "*.pdb" below.
REM
REM Usage:
REM - Open a terminal (Windows-key + R , type "cmd", press ENTER)
@jlblancoc
jlblancoc / gist:44be9d4d466f0a973b1f3808a8e56782
Last active February 16, 2023 15:45
GCC sanitizer with CMake

For memory leaks

Build in CMake with these params:

CMAKE_CXX_FLAGS:STRING= -fsanitize=address  -fsanitize=leak -g
CMAKE_C_FLAGS:STRING=-fsanitize=address  -fsanitize=leak -g
CMAKE_EXE_LINKER_FLAGS:STRING=-fsanitize=address  -fsanitize=leak
CMAKE_MODULE_LINKER_FLAGS:STRING=-fsanitize=address  -fsanitize=leak

Which can be done with:

@jlblancoc
jlblancoc / Instructions.md
Last active May 31, 2023 12:23
Install ROS 1 (Noetic) on Ubuntu 22.04 (Jammy)

Install ROS 1 (Noetic) on Ubuntu 22.04 (Jammy)

In general, follow these instructions: http://wiki.ros.org/noetic/Installation/Source

You will find these errors, though:

Problem 1

Problem: hddtemp is not found as a rosdep. Solution: