mirror of
https://github.com/arduino/Arduino.git
synced 2024-11-30 11:24:12 +01:00
55 lines
1.4 KiB
C++
55 lines
1.4 KiB
C++
/* Copyright 2009-2011 Oleg Mazurov, Circuits At Home, http://www.circuitsathome.com */
|
|
/* MAX3421E functions */
|
|
#ifndef _MAX3421E_H_
|
|
#define _MAX3421E_H_
|
|
|
|
|
|
//#include <Spi.h>
|
|
//#include <WProgram.h>
|
|
#include "Arduino.h"
|
|
#include "Max3421e_constants.h"
|
|
|
|
class MAX3421E /* : public SPI */ {
|
|
// byte vbusState;
|
|
public:
|
|
MAX3421E( void );
|
|
byte getVbusState( void );
|
|
// void toggle( byte pin );
|
|
static void regWr( byte, byte );
|
|
char * bytesWr( byte, byte, char * );
|
|
static void gpioWr( byte );
|
|
byte regRd( byte );
|
|
char * bytesRd( byte, byte, char * );
|
|
byte gpioRd( void );
|
|
boolean reset();
|
|
boolean vbusPwr ( boolean );
|
|
void busprobe( void );
|
|
void powerOn();
|
|
byte IntHandler();
|
|
byte GpxHandler();
|
|
byte Task();
|
|
private:
|
|
static void spi_init() {
|
|
uint8_t tmp;
|
|
// initialize SPI pins
|
|
pinMode(SCK_PIN, OUTPUT);
|
|
pinMode(MOSI_PIN, OUTPUT);
|
|
pinMode(MISO_PIN, INPUT);
|
|
pinMode(SS_PIN, OUTPUT);
|
|
digitalWrite( SS_PIN, HIGH );
|
|
/* mode 00 (CPOL=0, CPHA=0) master, fclk/2. Mode 11 (CPOL=11, CPHA=11) is also supported by MAX3421E */
|
|
SPCR = 0x50;
|
|
SPSR = 0x01;
|
|
/**/
|
|
tmp = SPSR;
|
|
tmp = SPDR;
|
|
}
|
|
// void init();
|
|
friend class Max_LCD;
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif //_MAX3421E_H_
|