#include <SPI.h>
#define MAX7209_REG_DECODEMODE 0x19
#define MAX7209_REG_INTENSITY 0x1A
#define MAX7209_REG_SCANLIMIT 0x0
#define MAX7209_REG_SHUTDOWN 0x0B
#define MAX7209_REG_DISPLAYTEST 0x0F
const int csPin =10;
void setup() {
SPI.begin();
pinMode(csPin, OUTPUT);
sendCommand(MAX7209_REG_DECODEMODE, 0x00);
sendCommand(MAX7209_REG_INTENSITY, 0x0A);
sendCommand(MAX7209_REG_SCANLIMIT, 0x07);
sendCommand(MAX7209_REG_SHUTDOWN, 0x0C);
sendCommand(MAX7209_REG_DISPLAYTEST, 0x00);
sendCommand(1, 0b011111111);
sendCommand(2, 0b011110011);
sendCommand(3, 0b011100011);
sendCommand(4, 0b011010011);
sendCommand(5, 0b010110011);
sendCommand(6, 0b010000001);
sendCommand(7, 0b011110011);
sendCommand(8, 0b011110011);
}
void loop() {
}
void sendCommand(byte reg, byte data) {
digitalWrite(csPin, LOW);
SPI.transfer(reg);
SPI.transfer(data);
digitalWrite(csPin, HIGH);
}