Skip to content

Instantly share code, notes, and snippets.

View GiovanniBalestrieri's full-sized avatar
🍣
When there is a shell, there is a way

UserK GiovanniBalestrieri

🍣
When there is a shell, there is a way
View GitHub Profile
@GiovanniBalestrieri
GiovanniBalestrieri / bootmenu output of BPI R3
Created April 25, 2023 21:18
bootmenu output of BPI R3
F0: 102B 0000
FA: 1040 0000
FA: 1040 0000 [0200]
F9: 103F 0000
F3: 1001 0000 [0200]
F3: 1001 0000
F6: 300C 0028
F5: 0000 0000
V0: 0000 0000 [0001]
@GiovanniBalestrieri
GiovanniBalestrieri / encoder_anal.ino
Created May 11, 2019 18:12
Quick code to test encoder circuit
const uint8_t photo_transistor_pin_dx = A0;
const uint8_t photo_transistor_pin_sx = A1;
const int threshold = 700;
uint32_t dx_steps = 0;
uint32_t sx_steps = 0;
boolean dx_state_k = 1;
boolean dx_state_km1 = 1;
boolean sx_state_k = 1;
@GiovanniBalestrieri
GiovanniBalestrieri / addNoise.py
Last active October 26, 2017 13:53
Adding sounds to a recorded wav file in Python
import numpy as np
from scikits.audiolab import wavread, wavwrite
data1, fs1, enc1 = wavread("finevite112.wav")
data2, fs2, enc2 = wavread("machine1.wav")
assert fs1 == fs2
assert enc1 == enc2
data2ok = np.split(data2,[len(data2)//2 - len(data1)//2, len(data2)//2 + len(data1)//2+1])[1]
@GiovanniBalestrieri
GiovanniBalestrieri / uncertainLqgQuadcopter.m
Created March 24, 2017 16:40
LQR +Kalman control of an uncertain linearized quadcopter model
% Test uncertain system
clear all
clc
%%
% Gravity cst
g=9.81;
% Density of air [ kg*m^-3 ]
% From 35°C to - 25°C
rho = ureal('rho',1.2250,'Range',[1.1455 1.4224]);
@GiovanniBalestrieri
GiovanniBalestrieri / ADxl335Calibration.cpp
Created March 14, 2017 22:01
Calibration of the ADXL335 accelerometer
//Analog read pins
const int xPin = 0;
const int yPin = 1;
const int zPin = 2;
int xRead,yRead,zRead;
//to hold the caculated values
double x;
double y;
@GiovanniBalestrieri
GiovanniBalestrieri / adxl345.cpp
Created March 14, 2017 21:58
Accelerometer Basic ADXL345
//Analog read pins
const int xPin = 0;
const int yPin = 1;
const int zPin = 2;
int xRead,yRead,zRead;
void setup()
{
/**
* Consistency Check. Returns true if passed
*/
private static boolean performConsistencyCheckWith(InfModel inf) {
boolean res = false;
ValidityReport validity = inf.validate();
if (validity.isValid()) {
System.out.println("\tConsistency Check:\n Passed\n");
res = true;
@GiovanniBalestrieri
GiovanniBalestrieri / reasoner.java
Last active February 13, 2017 23:31
invoking reasoner on ontology
// Two ways
Reasoner reasoner = ReasonerRegistry.getOWLReasoner();
reasoner = reasoner.bindSchema(tbox);
OntModelSpec ontModelSpec=OntModelSpec.OWL_MEM_MICRO_RULE_INF;
ontModelSpec.setReasoner(reasoner);
InfModel infmodel = ModelFactory.createInfModel(reasoner,abox);
/**
* This is equivalent to an Ontology Model with Reasoner capabilities
* specialized on the ABox.
@GiovanniBalestrieri
GiovanniBalestrieri / loadAboxTBox.java
Created February 13, 2017 23:28
loading an onotlogy into memory
final String JENA_PATH = "/home/PATH/ontologies/";
final String SOURCE = "http://www.semanticweb.org/ontologies/2016/1/";
final String TBOX_FILE = "semantic_mapping_domain_model.owl";
final String ABOX_FILE = "semantic_map1.owl";
/**
* Importing Tbox
*/
OntModel tbox = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM );
<NamedIndividual rdf:about="sm#chair1_coordinates">
<rdf:type rdf:resource="&semantic_mapping_domain_model;Coordinates"/>
<semantic_mapping_domain_model:float_coordinates_z rdf:datatype="&xsd;float">0.0
</semantic_mapping_domain_model:float_coordinates_z>
<semantic_mapping_domain_model:float_coordinates_y rdf:datatype="&xsd;float">0.0
</semantic_mapping_domain_model:float_coordinates_y>
<semantic_mapping_domain_model:float_coordinates_x rdf:datatype="&xsd;float">1.0
</semantic_mapping_domain_model:float_coordinates_x>
</NamedIndividual>