Compare commits
No commits in common. "d9e5a345676b2f2de299e5e843a3806e1487b033" and "7ce4779101b12ba01d5569a3987411de86bb6fba" have entirely different histories.
d9e5a34567
...
7ce4779101
@ -1416,8 +1416,8 @@ void setup() {
|
|||||||
Serial.print(number);
|
Serial.print(number);
|
||||||
Serial.println(F(" of 255"));
|
Serial.println(F(" of 255"));
|
||||||
MAX7456::getCARACFromProgMem(tableOfAllCharacters, i, currentChar); //Because the table is too big for ram memory
|
MAX7456::getCARACFromProgMem(tableOfAllCharacters, i, currentChar); //Because the table is too big for ram memory
|
||||||
MAX7456::printCharacterToSerial(tableOfAllCharacters[i], true);
|
|
||||||
osd->sendCharacter(currentChar, i); //We send currentChar at address i.
|
osd->sendCharacter(currentChar, i & 0xF0, i & 0xF0); //We send currentChar at address i.
|
||||||
}
|
}
|
||||||
Serial.println(F("---------- DONE! ----------"));
|
Serial.println(F("---------- DONE! ----------"));
|
||||||
Serial.println(F("please unplug your arduino."));
|
Serial.println(F("please unplug your arduino."));
|
||||||
|
@ -74,7 +74,7 @@ void setup()
|
|||||||
{
|
{
|
||||||
byte spi_junk;
|
byte spi_junk;
|
||||||
int x;
|
int x;
|
||||||
Serial.begin(115200);
|
Serial.begin(38400);
|
||||||
Serial.flush();
|
Serial.flush();
|
||||||
|
|
||||||
digitalWrite(USBSELECT,HIGH); //disable USB chip
|
digitalWrite(USBSELECT,HIGH); //disable USB chip
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::MAX7456
|
// Implements MAX7456::MAX7456
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -23,6 +24,7 @@ void MAX7456::setBlinkParams(byte blinkBase, byte blinkDC)
|
|||||||
digitalWrite(_pinCS,HIGH);
|
digitalWrite(_pinCS,HIGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::setDisplayOffsets
|
// Implements MAX7456::setDisplayOffsets
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
@ -52,16 +54,22 @@ MAX7456::MAX7456()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::sendCharacter
|
// Implements MAX7456::sendCharacter
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void MAX7456::sendCharacter(const charact chara, char address)
|
void MAX7456::sendCharacter(const charact chara, byte x, byte y)
|
||||||
{
|
{
|
||||||
|
byte charAddress;
|
||||||
|
if(y<0)
|
||||||
|
charAddress = x;
|
||||||
|
else
|
||||||
|
charAddress = x + (y<<4);
|
||||||
activateOSD(false);
|
activateOSD(false);
|
||||||
//datasheet p38
|
//datasheet p38
|
||||||
digitalWrite(_pinCS,LOW);
|
digitalWrite(_pinCS,LOW);
|
||||||
SPI.transfer(CMAH_ADDRESS_WRITE);
|
SPI.transfer(CMAH_ADDRESS_WRITE);
|
||||||
SPI.transfer(address);
|
SPI.transfer(charAddress);
|
||||||
|
|
||||||
for(byte i = 0 ; i < 54 ; i++)
|
for(byte i = 0 ; i < 54 ; i++)
|
||||||
{
|
{
|
||||||
@ -82,9 +90,11 @@ void MAX7456::sendCharacter(const charact chara, char address)
|
|||||||
_regStat.whole = SPI.transfer(0x00);
|
_regStat.whole = SPI.transfer(0x00);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
digitalWrite(_pinCS,HIGH);
|
digitalWrite(_pinCS,HIGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::getCharacter
|
// Implements MAX7456::getCharacter
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -92,6 +102,7 @@ void MAX7456::getCharacter(charact chara, byte x, byte y)
|
|||||||
{
|
{
|
||||||
byte charAddress;
|
byte charAddress;
|
||||||
|
|
||||||
|
|
||||||
if(y<=0)
|
if(y<=0)
|
||||||
charAddress = x;
|
charAddress = x;
|
||||||
else
|
else
|
||||||
@ -101,6 +112,7 @@ void MAX7456::getCharacter(charact chara, byte x, byte y)
|
|||||||
//datasheet p38
|
//datasheet p38
|
||||||
digitalWrite(_pinCS,LOW);
|
digitalWrite(_pinCS,LOW);
|
||||||
|
|
||||||
|
|
||||||
SPI.transfer(CMAH_ADDRESS_WRITE);
|
SPI.transfer(CMAH_ADDRESS_WRITE);
|
||||||
SPI.transfer(charAddress);
|
SPI.transfer(charAddress);
|
||||||
|
|
||||||
@ -108,6 +120,7 @@ void MAX7456::getCharacter(charact chara, byte x, byte y)
|
|||||||
SPI.transfer(CMM_ADDRESS_WRITE);
|
SPI.transfer(CMM_ADDRESS_WRITE);
|
||||||
SPI.transfer(_regCmm);
|
SPI.transfer(_regCmm);
|
||||||
|
|
||||||
|
|
||||||
for(byte i = 0 ; i < 54 ; i++)
|
for(byte i = 0 ; i < 54 ; i++)
|
||||||
{
|
{
|
||||||
SPI.transfer(CMAL_ADDRESS_WRITE);
|
SPI.transfer(CMAL_ADDRESS_WRITE);
|
||||||
@ -118,12 +131,14 @@ void MAX7456::getCharacter(charact chara, byte x, byte y)
|
|||||||
}
|
}
|
||||||
|
|
||||||
digitalWrite(_pinCS,HIGH);
|
digitalWrite(_pinCS,HIGH);
|
||||||
|
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements Max7456::printCharacterToSerial
|
// Implements Max7456::printCharacterToSerial
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void MAX7456::printCharacterToSerial(const charact array, bool img)
|
void MAX7456::printCharacterToSerial(const charact array, bool img)
|
||||||
{
|
{
|
||||||
|
|
||||||
if(img)
|
if(img)
|
||||||
{
|
{
|
||||||
CARACT car ;
|
CARACT car ;
|
||||||
@ -176,6 +191,7 @@ void MAX7456::printPixel(byte value)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::print
|
// Implements MAX7456::print
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -185,8 +201,7 @@ void MAX7456::print(const char string[], byte x, byte y, byte blink, byte inv)
|
|||||||
byte size;
|
byte size;
|
||||||
byte *chars = NULL;
|
byte *chars = NULL;
|
||||||
|
|
||||||
if (!string)
|
if(!string) return;
|
||||||
return;
|
|
||||||
|
|
||||||
size = 0;
|
size = 0;
|
||||||
currentChar = string[0];
|
currentChar = string[0];
|
||||||
@ -207,6 +222,7 @@ void MAX7456::print(const char string[], byte x, byte y, byte blink, byte inv)
|
|||||||
free(chars);
|
free(chars);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MAX7456::printMAX7456Char(const byte address, byte x, byte y, byte blink, byte inv)
|
void MAX7456::printMAX7456Char(const byte address, byte x, byte y, byte blink, byte inv)
|
||||||
{
|
{
|
||||||
byte ad = address;
|
byte ad = address;
|
||||||
@ -236,28 +252,40 @@ void MAX7456::printMAX7456Chars(byte chars[], byte size, byte x, byte y, byte bl
|
|||||||
digitalWrite(_pinCS,LOW);
|
digitalWrite(_pinCS,LOW);
|
||||||
SPI.transfer(DMM_ADDRESS_WRITE);
|
SPI.transfer(DMM_ADDRESS_WRITE);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SPI.transfer(_regDmm.whole);
|
SPI.transfer(_regDmm.whole);
|
||||||
|
|
||||||
|
|
||||||
SPI.transfer(DMAH_ADDRESS_WRITE); // set start address high
|
SPI.transfer(DMAH_ADDRESS_WRITE); // set start address high
|
||||||
SPI.transfer(posAddressHI);
|
SPI.transfer(posAddressHI);
|
||||||
|
|
||||||
SPI.transfer(DMAL_ADDRESS_WRITE); // set start address low
|
SPI.transfer(DMAL_ADDRESS_WRITE); // set start address low
|
||||||
SPI.transfer(posAddressLO);
|
SPI.transfer(posAddressLO);
|
||||||
|
|
||||||
|
|
||||||
for(int i = 0; i < size ; i++)
|
for(int i = 0; i < size ; i++)
|
||||||
{
|
{
|
||||||
currentChar = chars[i];
|
currentChar = chars[i];
|
||||||
SPI.transfer(DMDI_ADDRESS_WRITE);
|
SPI.transfer(DMDI_ADDRESS_WRITE);
|
||||||
SPI.transfer(currentChar);
|
SPI.transfer(currentChar);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//end character (we're done).
|
//end character (we're done).
|
||||||
SPI.transfer(DMDI_ADDRESS_WRITE);
|
SPI.transfer(DMDI_ADDRESS_WRITE);
|
||||||
SPI.transfer(0xff);
|
SPI.transfer(0xff);
|
||||||
|
|
||||||
|
/*
|
||||||
|
_regVm0.bits.
|
||||||
|
SPI.transfer(VM0_ADDRESS_WRITE);
|
||||||
|
SPI.transfer(0x4c);*/
|
||||||
|
|
||||||
|
|
||||||
digitalWrite(_pinCS,HIGH);
|
digitalWrite(_pinCS,HIGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::print
|
// Implements MAX7456::print
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -268,6 +296,7 @@ void MAX7456::print(double value, byte x, byte y, byte before, byte after, byte
|
|||||||
|
|
||||||
strValue = (char*) malloc((before+after+2)* sizeof(char));
|
strValue = (char*) malloc((before+after+2)* sizeof(char));
|
||||||
|
|
||||||
|
|
||||||
if(after==0)
|
if(after==0)
|
||||||
dtostrf(value,before+after,after,strValue);
|
dtostrf(value,before+after,after,strValue);
|
||||||
else
|
else
|
||||||
@ -290,6 +319,7 @@ void MAX7456::print(double value, byte x, byte y, byte before, byte after, byte
|
|||||||
free(strValue);
|
free(strValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::giveMAX7456CharFromAsciiChar
|
// Implements MAX7456::giveMAX7456CharFromAsciiChar
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -306,6 +336,7 @@ byte MAX7456::giveMAX7456CharFromAsciiChar(char ascii)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::clearScreen
|
// Implements MAX7456::clearScreen
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -327,6 +358,7 @@ void MAX7456::clearScreen()
|
|||||||
digitalWrite(_pinCS, HIGH); //disable device
|
digitalWrite(_pinCS, HIGH); //disable device
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::init
|
// Implements MAX7456::init
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -350,6 +382,7 @@ void MAX7456::init(byte iPinCS)
|
|||||||
digitalWrite(_pinCS,HIGH);
|
digitalWrite(_pinCS,HIGH);
|
||||||
delay(500);
|
delay(500);
|
||||||
|
|
||||||
|
|
||||||
digitalWrite(_pinCS,LOW);
|
digitalWrite(_pinCS,LOW);
|
||||||
for(int x = 0 ; x < 16 ; x++)
|
for(int x = 0 ; x < 16 ; x++)
|
||||||
{
|
{
|
||||||
@ -370,6 +403,7 @@ void MAX7456::init(byte iPinCS)
|
|||||||
digitalWrite(_pinCS,HIGH);
|
digitalWrite(_pinCS,HIGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::activateOSD
|
// Implements MAX7456::activateOSD
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -392,6 +426,7 @@ void MAX7456::activateOSD(bool act)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::activateExternalVideo
|
// Implements MAX7456::activateExternalVideo
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -408,6 +443,7 @@ void MAX7456::activateExternalVideo(bool activExtVid)
|
|||||||
digitalWrite(_pinCS,HIGH);
|
digitalWrite(_pinCS,HIGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::CARACT2ByteArray
|
// Implements MAX7456::CARACT2ByteArray
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -421,6 +457,7 @@ byte *MAX7456::CARACT2ByteArray(const CARACT car)
|
|||||||
return array;
|
return array;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::byteArray2CARACT
|
// Implements MAX7456::byteArray2CARACT
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@ -433,6 +470,7 @@ CARACT MAX7456::byteArray2CARACT(const charact array)
|
|||||||
return car;
|
return car;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Implements MAX7456::getCARACFromProgMem
|
// Implements MAX7456::getCARACFromProgMem
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#ifndef MAX7456_H
|
#ifndef MAX7456_H
|
||||||
#define MAX7456_H
|
#define MAX7456_H
|
||||||
|
|
||||||
|
|
||||||
//def next only if you changed your table for an ascii one
|
//def next only if you changed your table for an ascii one
|
||||||
//i.e address 0x00 -> ' '
|
//i.e address 0x00 -> ' '
|
||||||
//....
|
//....
|
||||||
@ -18,10 +19,13 @@
|
|||||||
|
|
||||||
#include "MAX7456Registers.h"
|
#include "MAX7456Registers.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @mainpage MAX7456 Arduino library
|
* @mainpage MAX7456 Arduino library
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @class MAX7456
|
* @class MAX7456
|
||||||
* @brief Represents a MAX7456 device communicating through SPI port
|
* @brief Represents a MAX7456 device communicating through SPI port
|
||||||
@ -29,11 +33,14 @@
|
|||||||
class MAX7456
|
class MAX7456
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default constructor
|
* Default constructor
|
||||||
*/
|
*/
|
||||||
MAX7456();
|
MAX7456();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
* Initialize communications and device
|
* Initialize communications and device
|
||||||
@ -41,6 +48,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
MAX7456(byte pinCS);
|
MAX7456(byte pinCS);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize communications and device
|
* Initialize communications and device
|
||||||
* @param pinCS : pin ~CS of the arduino where MAX7456 is plugged.
|
* @param pinCS : pin ~CS of the arduino where MAX7456 is plugged.
|
||||||
@ -58,6 +66,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setBlinkParams(byte blinkBase, byte blinkDC);
|
void setBlinkParams(byte blinkBase, byte blinkDC);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set Horizontal and Vertical display offset
|
* Set Horizontal and Vertical display offset
|
||||||
* @param horizontal : the horizontal offset in pixels (between 0 and 63).
|
* @param horizontal : the horizontal offset in pixels (between 0 and 63).
|
||||||
@ -65,11 +74,13 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setDisplayOffsets(byte horizontal, byte vertical);
|
void setDisplayOffsets(byte horizontal, byte vertical);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Erase Display Memory.
|
* Erase Display Memory.
|
||||||
*/
|
*/
|
||||||
void clearScreen();
|
void clearScreen();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Activate osd on screen
|
* Activate osd on screen
|
||||||
* @param act :
|
* @param act :
|
||||||
@ -78,6 +89,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void activateOSD(bool act = true);
|
void activateOSD(bool act = true);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Activate input video as a background
|
* Activate input video as a background
|
||||||
* @param activExtVid :
|
* @param activExtVid :
|
||||||
@ -86,17 +98,20 @@ public:
|
|||||||
*/
|
*/
|
||||||
void activateExternalVideo(bool activExtVid = true);
|
void activateExternalVideo(bool activExtVid = true);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Put a character in the memory character of MAX7456
|
* Put a character in the memory character of max7456
|
||||||
* @param array : the byte array representing the character (54 bytes long)
|
* @param array : the byte array representing the character (54 bytes long)
|
||||||
* @param adress : the address of character in memory
|
* @param x : the horizontal position of character in memory
|
||||||
|
* @param y : the vertical position of character in memory.
|
||||||
* @code
|
* @code
|
||||||
* charact c={0x44,....} //Whatever charact here
|
* charact c={0x44,....} //Whatever charact here
|
||||||
* max.sendCharacter(c,0x54); //put c at 4th line 5th column ie. address 54.
|
* max.sendCharacter(c,4,5); //put c at 4th line 5th column ie. address 54.
|
||||||
* max.sendCharacter(c,0x43); //put c in mem at address 43.
|
* max.sendCharacter(c,0x43); //put c in mem at address 43.
|
||||||
* @endcode
|
* @endcode
|
||||||
*/
|
*/
|
||||||
void sendCharacter(const charact array, char address);
|
void sendCharacter(const charact array, byte x, byte y);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a character from the character memory of max7456
|
* Get a character from the character memory of max7456
|
||||||
@ -106,6 +121,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void getCharacter(charact array, byte x, byte y);
|
void getCharacter(charact array, byte x, byte y);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Put a string in the display memory of max7456
|
* Put a string in the display memory of max7456
|
||||||
* @param string : The string to be displayed
|
* @param string : The string to be displayed
|
||||||
@ -120,6 +136,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
void print(const char string[], byte x, byte y, byte blink = 0,byte inv = 0);
|
void print(const char string[], byte x, byte y, byte blink = 0,byte inv = 0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Put a float in the display memory of max7456
|
* Put a float in the display memory of max7456
|
||||||
* @param value : The value to be displayed
|
* @param value : The value to be displayed
|
||||||
@ -140,6 +158,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void print(double value, byte x, byte y, byte before, byte after, byte blink=0,byte inv=0);
|
void print(double value, byte x, byte y, byte before, byte after, byte blink=0,byte inv=0);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Put some characters in the display memory of MAX7456.
|
* Put some characters in the display memory of MAX7456.
|
||||||
* The characters are given by their address in the
|
* The characters are given by their address in the
|
||||||
@ -157,6 +176,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
void printMAX7456Chars(byte chars[],byte size,byte x, byte y, byte blink = 0,byte inv = 0);
|
void printMAX7456Chars(byte chars[],byte size,byte x, byte y, byte blink = 0,byte inv = 0);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Put one character from the character memory in the display memory of MAX7456
|
* Put one character from the character memory in the display memory of MAX7456
|
||||||
* @param address : The address in character memory of the character to be displayed
|
* @param address : The address in character memory of the character to be displayed
|
||||||
@ -176,6 +196,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
static void printCharacterToSerial(const charact array, bool img = true);
|
static void printCharacterToSerial(const charact array, bool img = true);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts a CARACT character to a byte array representation.
|
* Converts a CARACT character to a byte array representation.
|
||||||
* @param car : the CARACT character
|
* @param car : the CARACT character
|
||||||
@ -183,6 +204,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
static byte* CARACT2ByteArray(const CARACT car);
|
static byte* CARACT2ByteArray(const CARACT car);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts a byte array to a CARACT character.
|
* Converts a byte array to a CARACT character.
|
||||||
* @param array : the byte array representing the character (54 bytes long)
|
* @param array : the byte array representing the character (54 bytes long)
|
||||||
@ -190,6 +212,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
static CARACT byteArray2CARACT(const charact array);
|
static CARACT byteArray2CARACT(const charact array);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the ith character from program memory
|
* Get the ith character from program memory
|
||||||
* @param table the address of the array in prog memory
|
* @param table the address of the array in prog memory
|
||||||
@ -202,6 +225,7 @@ public:
|
|||||||
static void getCARACFromProgMem(const char *table, byte i,charact c);
|
static void getCARACFromProgMem(const char *table, byte i,charact c);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
byte giveMAX7456CharFromAsciiChar(char ascii);
|
byte giveMAX7456CharFromAsciiChar(char ascii);
|
||||||
static void printPixel(byte value);
|
static void printPixel(byte value);
|
||||||
|
|
||||||
@ -228,4 +252,6 @@ private:
|
|||||||
REG_CMDO _regCmdo; // not used yet
|
REG_CMDO _regCmdo; // not used yet
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif /* MAX7456_H_ */
|
#endif /* MAX7456_H_ */
|
||||||
|
|
||||||
|
@ -8,8 +8,10 @@
|
|||||||
#ifndef MAX7456REGISTERS_H_
|
#ifndef MAX7456REGISTERS_H_
|
||||||
#define MAX7456REGISTERS_H_
|
#define MAX7456REGISTERS_H_
|
||||||
|
|
||||||
|
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @typedef charact
|
* @typedef charact
|
||||||
* @brief Represents a character as stored in MAX7456 character memory.
|
* @brief Represents a character as stored in MAX7456 character memory.
|
||||||
@ -74,6 +76,7 @@ union REG_VM0
|
|||||||
} bits;
|
} bits;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define VM1_ADDRESS_WRITE 0x01
|
#define VM1_ADDRESS_WRITE 0x01
|
||||||
#define VM1_ADDRESS_READ 0x81
|
#define VM1_ADDRESS_READ 0x81
|
||||||
|
|
||||||
@ -98,6 +101,7 @@ union REG_VM1
|
|||||||
*/
|
*/
|
||||||
unsigned char blinkingDutyCycle : 2;
|
unsigned char blinkingDutyCycle : 2;
|
||||||
|
|
||||||
|
|
||||||
/**@brief Blinking Time (BT)
|
/**@brief Blinking Time (BT)
|
||||||
* @li b00 (0) = 2 fields (NTSC = 33ms ; PAL = 40ms)
|
* @li b00 (0) = 2 fields (NTSC = 33ms ; PAL = 40ms)
|
||||||
* @li b01 (1) = 4 fields (NTSC = 67ms ; PAL = 80ms)
|
* @li b01 (1) = 4 fields (NTSC = 67ms ; PAL = 80ms)
|
||||||
@ -106,6 +110,7 @@ union REG_VM1
|
|||||||
*/
|
*/
|
||||||
unsigned char blinkingTime : 2;
|
unsigned char blinkingTime : 2;
|
||||||
|
|
||||||
|
|
||||||
/**@brief Background Mode Brightness
|
/**@brief Background Mode Brightness
|
||||||
* @li b000 (0) = 0%
|
* @li b000 (0) = 0%
|
||||||
* @li b001 (1) = 7%
|
* @li b001 (1) = 7%
|
||||||
@ -158,6 +163,7 @@ union REG_HOS
|
|||||||
} bits;
|
} bits;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define VOS_ADDRESS_WRITE 0x03
|
#define VOS_ADDRESS_WRITE 0x03
|
||||||
#define VOS_ADDRESS_READ 0x83
|
#define VOS_ADDRESS_READ 0x83
|
||||||
|
|
||||||
@ -258,9 +264,12 @@ union REG_DMM
|
|||||||
/**@brief Don't care*/
|
/**@brief Don't care*/
|
||||||
unsigned char unsused : 1;
|
unsigned char unsused : 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} bits;
|
} bits;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define DMAH_ADDRESS_WRITE 0x05
|
#define DMAH_ADDRESS_WRITE 0x05
|
||||||
#define DMAH_ADDRESS_READ 0x85
|
#define DMAH_ADDRESS_READ 0x85
|
||||||
/**@union REG_DMAH
|
/**@union REG_DMAH
|
||||||
@ -284,10 +293,12 @@ union REG_DMAH
|
|||||||
} bits;
|
} bits;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define DMAL_ADDRESS_WRITE 0x06
|
#define DMAL_ADDRESS_WRITE 0x06
|
||||||
#define DMAL_ADDRESS_READ 0x86
|
#define DMAL_ADDRESS_READ 0x86
|
||||||
typedef unsigned char REG_DMAL;
|
typedef unsigned char REG_DMAL;
|
||||||
|
|
||||||
|
|
||||||
#define DMDI_ADDRESS_WRITE 0x07
|
#define DMDI_ADDRESS_WRITE 0x07
|
||||||
#define DMDI_ADDRESS_READ 0x87
|
#define DMDI_ADDRESS_READ 0x87
|
||||||
typedef unsigned char REG_DMDI;
|
typedef unsigned char REG_DMDI;
|
||||||
@ -342,6 +353,7 @@ union REG_CMDI
|
|||||||
} bits;
|
} bits;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define OSDM_ADDRESS_WRITE 0x0C
|
#define OSDM_ADDRESS_WRITE 0x0C
|
||||||
#define OSDM_ADDRESS_READ 0x8C
|
#define OSDM_ADDRESS_READ 0x8C
|
||||||
|
|
||||||
@ -368,6 +380,7 @@ union REG_OSDM
|
|||||||
*/
|
*/
|
||||||
unsigned char osdInsertionMuxSwitchingTime : 3;
|
unsigned char osdInsertionMuxSwitchingTime : 3;
|
||||||
|
|
||||||
|
|
||||||
/**@brief OSD Rise And Fall Time
|
/**@brief OSD Rise And Fall Time
|
||||||
* @li b000 (0) : 20ns (maximum sharpness/maximum crosscolor artifacts )
|
* @li b000 (0) : 20ns (maximum sharpness/maximum crosscolor artifacts )
|
||||||
* @li b001 (1) : 30ns
|
* @li b001 (1) : 30ns
|
||||||
@ -378,12 +391,14 @@ union REG_OSDM
|
|||||||
*/
|
*/
|
||||||
unsigned char osdRiseAndFallTime : 3;
|
unsigned char osdRiseAndFallTime : 3;
|
||||||
|
|
||||||
|
|
||||||
/**@brief don't care*/
|
/**@brief don't care*/
|
||||||
unsigned char unused : 2;
|
unsigned char unused : 2;
|
||||||
|
|
||||||
} bits;
|
} bits;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define RB0_ADDRESS_WRITE 0x10
|
#define RB0_ADDRESS_WRITE 0x10
|
||||||
#define RB0_ADDRESS_READ 0x90
|
#define RB0_ADDRESS_READ 0x90
|
||||||
|
|
||||||
@ -547,6 +562,7 @@ union REG_STAT
|
|||||||
} bits;
|
} bits;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#define DMDO_ADDRESS_READ 0xB0
|
#define DMDO_ADDRESS_READ 0xB0
|
||||||
|
|
||||||
/**@typedef DMDO
|
/**@typedef DMDO
|
||||||
@ -579,26 +595,33 @@ union REG_CMDO
|
|||||||
} bits;
|
} bits;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**\def COLOR_BLACK
|
/**\def COLOR_BLACK
|
||||||
* \brief Black value for a pixel (2bits)
|
* \brief Black value for a pixel (2bits)
|
||||||
*/
|
*/
|
||||||
#define COLOR_BLACK 0
|
#define COLOR_BLACK 0
|
||||||
|
|
||||||
|
|
||||||
/**\def COLOR_WHITE
|
/**\def COLOR_WHITE
|
||||||
* \brief White value for a pixel (2bits)
|
* \brief White value for a pixel (2bits)
|
||||||
*/
|
*/
|
||||||
#define COLOR_WHITE 2
|
#define COLOR_WHITE 2
|
||||||
|
|
||||||
|
|
||||||
/**\def COLOR_TRANSPARENT
|
/**\def COLOR_TRANSPARENT
|
||||||
* \brief Transparent value for a pixel (2bits)
|
* \brief Transparent value for a pixel (2bits)
|
||||||
*/
|
*/
|
||||||
#define COLOR_TRANSPARENT 1
|
#define COLOR_TRANSPARENT 1
|
||||||
|
|
||||||
|
|
||||||
/**\def COLOR_GREY
|
/**\def COLOR_GREY
|
||||||
* \brief Grey value for a pixel (2bits)
|
* \brief Grey value for a pixel (2bits)
|
||||||
*/
|
*/
|
||||||
#define COLOR_GREY COLOR_TRANSPARENT
|
#define COLOR_GREY COLOR_TRANSPARENT
|
||||||
|
|
||||||
|
|
||||||
/**@struct PIXEL
|
/**@struct PIXEL
|
||||||
* @brief represent a 4-pixels value
|
* @brief represent a 4-pixels value
|
||||||
*/
|
*/
|
||||||
@ -611,8 +634,10 @@ struct PIXEL
|
|||||||
/**@brief 2nd pixel*/
|
/**@brief 2nd pixel*/
|
||||||
byte pix1 : 2;
|
byte pix1 : 2;
|
||||||
|
|
||||||
|
|
||||||
/**@brief 1st pixel*/
|
/**@brief 1st pixel*/
|
||||||
byte pix0 : 2;
|
byte pix0 : 2;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**@union LINE
|
/**@union LINE
|
||||||
@ -626,6 +651,7 @@ union LINE
|
|||||||
struct PIXEL pixels[3];
|
struct PIXEL pixels[3];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @union CARACT
|
* @union CARACT
|
||||||
* @brief Represents a character with lines and pixels.
|
* @brief Represents a character with lines and pixels.
|
||||||
@ -639,20 +665,20 @@ union CARACT
|
|||||||
union LINE line[18];
|
union LINE line[18];
|
||||||
};
|
};
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
enum{
|
||||||
_BT_BT=0,
|
_BT_BT=0,
|
||||||
_BT_2BT,
|
_BT_2BT,
|
||||||
_BT_3BT,
|
_BT_3BT,
|
||||||
_3BT_BT
|
_3BT_BT
|
||||||
};
|
};
|
||||||
|
|
||||||
enum
|
enum{
|
||||||
{
|
|
||||||
_2fields=0,
|
_2fields=0,
|
||||||
_4fields,
|
_4fields,
|
||||||
_6fields,
|
_6fields,
|
||||||
_8fields
|
_8fields
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif /* MAX7456REGISTERS_H_ */
|
#endif /* MAX7456REGISTERS_H_ */
|
||||||
|
Loading…
Reference in New Issue
Block a user