MAX6955 LED driver

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MAX6955.h Source File

MAX6955.h

Go to the documentation of this file.
00001 /**
00002  * @file MAX6955.h
00003  * @brief MAX6955 I2C driver
00004  *
00005  */
00006 
00007 #ifndef MAX6955_H
00008 #define MAX6955_H
00009 
00010 #include "mbed.h"
00011 
00012 // max6955 commands
00013 #define reg_noOp 0x00
00014 #define reg_decodeMode 0x01
00015 #define reg_globalIntensity 0x02
00016 #define reg_scanLimit 0x03
00017 #define reg_configuration 0x04
00018 #define reg_displayTest 0x07
00019 #define reg_digitType 0x0C
00020 
00021 #define reg_intensity10 0x10
00022 #define reg_intensity32 0x11
00023 #define reg_intensity54 0x12
00024 #define reg_intensity76 0x13
00025 #define reg_intensity10a 0x14
00026 #define reg_intensity32a 0x15
00027 #define reg_intensity54a 0x16
00028 #define reg_intensity76a 0x17
00029 
00030 #define USE_GLOBAL 0x00
00031 #define USE_DISCRETE 0x40
00032 #define RUN 0x01
00033 #define SHUTDOWN 0x00
00034 
00035 #define reg_digit0 0x60
00036 #define reg_digit1 0x61
00037 #define reg_digit2 0x62
00038 #define reg_digit3 0x63
00039 #define reg_digit4 0x64
00040 #define reg_digit5 0x65
00041 #define reg_digit6 0x66
00042 #define reg_digit7 0x67
00043 #define reg_digit0a 0x68
00044 #define reg_digit1a 0x69
00045 #define reg_digit2a 0x6A
00046 #define reg_digit3a 0x6B
00047 #define reg_digit4a 0x6C
00048 #define reg_digit5a 0x6D
00049 #define reg_digit6a 0x6E
00050 #define reg_digit7a 0x6F
00051 
00052 
00053 class MAX6955 {
00054     public:
00055         /* 
00056          * @param sda mbed pin for I2C SDA
00057          * @param scl mbed pin for I2C SCL
00058          * @param driver I2C device address
00059          */
00060         MAX6955(PinName sda, PinName scl, char driver); 
00061 
00062         /**
00063          * @brief This function writes command and data.
00064          *
00065          * @param command
00066          *     MAX6955 command.
00067          * @param data
00068          *     data to write.
00069          *
00070          * @return[int] result
00071          */
00072         int write(char command, char data);
00073 
00074 
00075         /**
00076          * @brief This function writes string.
00077          *
00078          * @param pointer to buffer
00079          *
00080          * @return result
00081          */
00082         int writeS(char* buffer);
00083 
00084 
00085         /**
00086          * @brief init function.
00087          *
00088          * @return result
00089          */
00090         int init(void);
00091         
00092     private:
00093         I2C i2c_;
00094         char driver_;
00095 };
00096 
00097 #endif