Lab_interaccio/2013/bhoreal_v0_3/Bhoreal.h
2025-02-25 21:29:42 +01:00

58 lines
1.4 KiB
C++

/*
* Esta libreria esta basada en varias librerias, estas son:
* Las librerias para el modulo wifi, Arduino-wifly de furius-luke y WIFLYHQ de harlequin-tech
* La libreria para el sensor DHT22 de Ben Adams
* La libreria para el RTC basadas en el codigo de JeeLabs
* La libreria para el timer1 de arduino
* Busca la ultima version en https://github.com/fablabbcn/Smart-Citizen-Kit
*/
#include <Arduino.h>
#include <Wire.h>
#include <avr/pgmspace.h>
#define MINI 16 //Tamaño de la matriz
#define SLIM 64 //Tamaño de la matriz
#define TOOFULL 100
class Bhoreal {
public:
void begin(uint16_t DEVICE, uint32_t BAUD);
void checkButtons();
void makemagic();
void startup();
private:
void on_press(byte r, byte c);
void on_release(byte r, byte c);
char spi_transfer(volatile byte data);
void setGreysR();
void setGreysG();
void setGreysB();
void pulseGSCLK();
void feedPorts();
void checkADC();
void timerIsr();
};
#define RESOLUTION 65536 // Timer1 is 16 bit
class TimerOne
{
public:
/*Timer 1*/
void initialize(long microseconds=1000000);
void start();
void stop();
void resume();
void setPeriod(long microseconds);
unsigned int pwmPeriod;
unsigned char clockSelectBits;
char oldSREG; // To hold Status Register while ints disabled
};
extern TimerOne Timer1;