Skip to content

Instantly share code, notes, and snippets.

View inkwisit's full-sized avatar

Subha Sarkar inkwisit

View GitHub Profile
@inkwisit
inkwisit / adc.c
Last active June 12, 2016 06:51
Microcontroller 8-bit ATmega32A
#include"config.h"
#include<avr/io.h>
#include<util/delay.h>
//auto triggering mode is not used here in this library .. (ADATE in ADCSRA)
//differential input ADC has not been included in this library .. ADMUX (MUX[4:0])
//see in the Internet how the shift register is optimized for the constant variable shifting ..
//whether a constant value is assigned or shifting process is left for the processor ..
@inkwisit
inkwisit / main.c
Created June 14, 2016 19:37
UART2_ARM_CORTEX_M3_LPC17xx
#include "LPC17xx.h"
#include <stdint.h>
#include "uart2.h"
#include <stdlib.h>
int main()
{
SystemInit();
char data;
char temp[15];
@inkwisit
inkwisit / main.cpp
Created June 22, 2016 14:56
Lambertian model simulation using C++ (OPENCV3)
//Author : Subha Sarkar
#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#define RADIUS 150
@inkwisit
inkwisit / harris_corner_detector.m
Created June 24, 2016 19:14
Computer vision basics (Harris Corner detector)
I = imread('check2.jpg');
%it is already in binary format
%I = rgb2gray(I);
I = I.*255;
%default values are 0,1 in binary so to show the image all 1's are
%multipled by 255
gaussian = fspecial('gaussian',3,1);
%derivative in x direction
dx = [1 0 -1;1 0 -1;1 0 -1];
%derivative in y direction
@inkwisit
inkwisit / practise.v
Created June 5, 2017 06:51
Parallel multiplier : demonstration of "parameter" key word and its advantages
module practise #(parameter width = 8)
(
input [width-1:0]multiplier,multiplicand,
output [2*width-1:0]product
);
assign product = multiplier*multiplicand;
endmodule
@inkwisit
inkwisit / main.cpp
Last active June 18, 2017 18:06
STM32_timer_and_interrupt
#include "stm32f10x.h"
//core peripherals of the CPU .. address taken from the data sheet
#define NVIC_ISER0 *((unsigned int*)0xE000E100)
int main()
{
//NVIC_InitTypeDef TIM2_INT;
//Reset and clock control : enabling the clock source for the timer2
RCC->APB1ENR |= RCC_APB1ENR_TIM2EN;
@inkwisit
inkwisit / DDS.v
Last active June 20, 2017 15:19
Cordic Algorithm for Quadrature Carrier Synthesis (Non-pipelined)
`timescale 1ns / 1ps
module DDS(
input mainClock,
output [9:0]cosine,
output [9:0]sine,
output reg [2:0]stateMachineCounter,
output reg angleLatch,
output strobe
);
#include "stm32f10x.h"
void delay(uint32_t);
int main()
{
//Enabling the peripheral for the GPIOC in RCC sector
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;
//the led is connected to PC13 in Mini dev board.
module fpr_add(A,B,C);
input [31:0]A;
input [31:0]B;
output [31:0]C;
reg diff_sign;
wire [8:0]AgB; // exponential for A greater than B
wire [8:0]BgA; // exponential for B greater than A
wire [7:0]exp_diff; // difference of the exponentials