Skip to content

Instantly share code, notes, and snippets.

View 3Nigma's full-sized avatar
Sprinting

Victor ADĂSCĂLIȚEI 3Nigma

Sprinting
View GitHub Profile
@3Nigma
3Nigma / gist:5216576
Last active December 15, 2015 06:29
[eAh-AVR1934] Script de extragere a modelului matematic pentru termistorul plăcuței ATXMEGAA3BU-XPLD
(*Autor : Victor ADĂSCĂLIȚEI [2013], Scris pentru Mathematica v8;
Descriere :
Secvența de cod a fost folosită pentru construirea de
modele matematice liniare [polinoame de gradul 1] în
vederea extinderii capacității plăcuței Atmel XMEGA-A3BU
Xplained de a citi temperatura ambientală.
Principiul poate fi folosit pentru calcularea polinoamelor
de aproximare si pentru alte familii de termistori pentru
care exista informatii extinse precum foi de catalog din
care să poată fi calculat parametrii modelului
@3Nigma
3Nigma / gist:5217218
Created March 21, 2013 22:04
[eAh-AVR1934] Implementare originală a funcției de citire a temperaturii pentru aplicația demo a plăcuței XMEGA-A3BU (versiunea defectă și incompletă)
/**
* \brief Read the actual temperature from the NTC
*
* This function returns the temperature in Celsius by piecewise linearisation
* of the complex transfer function between NTC resistance and ADC codes. The
* accuracy of the temperature is somewhat limited.
*
* \note The result is inaccurate for temperatures outside 5-45 degrees.
*
* \retval the temperature in Celsius
@3Nigma
3Nigma / gist:5217294
Last active December 15, 2015 06:38
[eAh-AVR1934] Funcția de citire a temperaturii plăcuței XMEGA-A3BU (reparată și completată)
/**
* \brief Citește temperatura reală a termistorului
*
* Funcția returnează temperatura în grade Celsius pe tot domeniul de
* referință a termistorului [-40 - 125] folosit de plăcuța XMEGA-A3BU.
* Eroare de calculare a valorii se va considera ca fiind aproximativ 1°C.
*
* \retval temperatura exprimată în grade Celsius [°C]
*/
int8_t ntc_get_full_temperature(uint16_t adcVal) {
@3Nigma
3Nigma / ps2mouse.c
Last active December 16, 2015 05:28
Antetul (.h) și codul suport (.c) al librăriei avrps2m responsabilă de comunicațiile între un dispozitiv AVR și un mouse PS/2.
/*
* Modul de comunicatii AVR-PS/2 Mouse
* Copyright (c) 2013, Victor ADASCALITEI, admin@tuscale.ro
*
* Eliberez aceste surse sub licenta CC de tip BY-NC-SA 3.0 . Pentru mai multe informatii, va invit sa accesati
* urmatoarea adresa : http://creativecommons.org/licenses/by-nc-sa/3.0/ro/ .
*/
#include <avr/interrupt.h>
#define F_CPU 9600000UL
@3Nigma
3Nigma / gist:5430254
Last active December 16, 2015 11:49
Codul-lipici complet ce testează modulul PS/2-Mouse (ps2m) prezentat în numărul 2 al revistei "Electronica Azi Hobby" (eAh) / Aprilie '13
/*
* Aplicatie test pentru Modulul de comunicatii AVR-PS/2 Mouse
* Copyright (c) 2013, Victor ADASCALITEI, admin@tuscale.ro
*
* Eliberez aceste surse sub licenta CC de tip BY-NC-SA 3.0 . Pentru mai multe informatii, va invit sa accesati
* urmatoarea adresa : http://creativecommons.org/licenses/by-nc-sa/3.0/ro/ .
*/
#include <avr/io.h>
#include "FastPWM.h"
FastPWM::FastPWM(PinName pin) : PWMObject(pin){
//Set clock source
LPC_SC->PCLKSEL0|=1<<12;
_duty=0;
_period=0.02;
if (pin==p26||pin==LED1) {
PWMUnit=1;
@3Nigma
3Nigma / gist:5962035
Created July 9, 2013 22:52
Tri-state VHDL principle
tri_st_data : process (mem_write_data, data, cur_memc_st)
begin
if (cur_memc_st = ctrl_wait_for_write) then
data <= mem_write_data;
else
data <= (others => 'Z');
end if;
mem_read_data <= data;
end process tri_st_data;
@3Nigma
3Nigma / gist:5962112
Created July 9, 2013 23:03
G+ VHDL SDRAM reading problem
addr : out std_logic_vector (SDR_ADDR_WIDTH - 1 downto 0);
data : in std_logic_vector (SDR_DATA_WIDTH - 1 downto 0);
...
addr(addr'length - 1 downto 0) <= data(addr'length - 1 downto 0);
@3Nigma
3Nigma / gist:8964249
Last active August 29, 2015 13:56
Octave/Matlab action-value method applied to the n-bandit problem and solved through a normal epsilon-greedy approach
function totalRewards = simulate_epsg_n_bandit(n, eps, gamecnt, rollcnt)
# make room for the estimated value - action [Q_t(a)]
totalRewards = zeros(1, rollcnt);
for k = 1:gamecnt
# generate the true value - action [q_*(a)] from a normal distribution of mean 0 and variance 1
q = randn(1, n);
# reset some game related, auxiliary variables
Qavg = zeros(1, n);
@3Nigma
3Nigma / gist:8964454
Created February 12, 2014 21:03
Octave/Matlab action-value method applied to the n-bandit problem and solved through an incremented epsilon-greedy approach
# the optimization consists in the elimination of the 'Qsum' variable from the normal case and modifying
# 'Qavg' directly using a simple mathematica observation as Rich Sutton elegantly demonstrates
# in section 2.4
function totalRewards = simulate_epsg_n_bandit(n, eps, gamecnt, rollcnt)
# make room for the estimated value - action [Q_t(a)]
totalRewards = zeros(1, rollcnt);
for k = 1:gamecnt
# generate the true value - action [q_*(a)] from a normal distribution of mean 0 and variance 1