Library for the MAX7219 LED display driver
Fork of MAX7219 by
Diff: max7219.cpp
- Revision:
- 6:779ee20a3759
- Parent:
- 5:0ae46e75634e
- Child:
- 7:c11c81a0d08f
--- a/max7219.cpp Thu Sep 28 05:10:26 2017 +0000 +++ b/max7219.cpp Sat Jan 13 11:48:45 2018 +0000 @@ -234,6 +234,31 @@ wait_us(1); } +//************************************************************* +void Max7219::set_intensity(max7219_configuration_t config) +{ + uint8_t idx = 0; + wait_us(1); + + //write INTENSITY register of device + _p_cs->write(0); + for(idx = _num_devices; idx > 0; idx--) + { + if(config.device_number == idx) + { + _p_spi->write(MAX7219_INTENSITY); + _p_spi->write(config.intensity); + } + else + { + _p_spi->write(MAX7219_NO_OP); + _p_spi->write(0); + } + } + _p_cs->write(1); + + wait_us(1); +} //********************************************************************* int32_t Max7219::enable_device(uint8_t device_number) @@ -276,44 +301,7 @@ //********************************************************************* -void Max7219::set_intensity(max7219_configuration_t config) -{ - uint8_t idx = 0; - wait_us(1); - - //write INTENSITY register of device - _p_cs->write(0); - for(idx = _num_devices; idx > 0; idx--) - { - if(config.device_number == idx) - { - _p_spi->write(MAX7219_INTENSITY); - _p_spi->write(config.intensity); - } - else - { - _p_spi->write(MAX7219_NO_OP); - _p_spi->write(0); - } - } - _p_cs->write(1); - - wait_us(1); -} -//********************************************************************* -void Max7219::enable_display(void) -{ - uint8_t idx = 0; - - _p_cs->write(0); - for(idx = 0; idx < _num_devices; idx++) - { - _p_spi->write(MAX7219_SHUTDOWN); - _p_spi->write(1); - } - _p_cs->write(1); -} //********************************************************************* @@ -356,22 +344,6 @@ } -//********************************************************************* -void Max7219::disable_display(void) -{ - uint8_t idx = 0; - - _p_cs->write(0); - for(idx = 0; idx < _num_devices; idx++) - { - _p_spi->write(MAX7219_SHUTDOWN); - _p_spi->write(0); - } - _p_cs->write(1); -} - - - //********************************************************************* int32_t Max7219::write_digit(uint8_t device_number, uint8_t digit, uint8_t data) { @@ -471,97 +443,3 @@ return(rtn_val); } - -//********************************************************************* -int32_t Max7219::device_all_on(uint8_t device_number) -{ - int32_t rtn_val = -1; - uint8_t idx = 0; - - if(device_number > _num_devices) - { - rtn_val = -1; - } - else if(device_number == 0) - { - rtn_val = -2; - } - else - { - rtn_val = 0; - - //writes every digit of given device to 0xFF - for(idx = 0; idx < 8; idx++) - { - if(rtn_val == 0) - { - rtn_val = write_digit(device_number, (idx + 1), 0xFF); - } - } - } - - return(rtn_val); -} - - -//********************************************************************* -int32_t Max7219::device_all_off(uint8_t device_number) -{ - int32_t rtn_val = -1; - uint8_t idx = 0; - - if(device_number > _num_devices) - { - rtn_val = -1; - } - else if(device_number == 0) - { - rtn_val = -2; - } - else - { - rtn_val = 0; - - //writes every digit of given device to 0 - for(idx = 0; idx < 8; idx++) - { - if(rtn_val == 0) - { - rtn_val = write_digit(device_number, (idx + 1), 0); - } - } - } - - return(rtn_val); -} - - -void Max7219::display_all_on(void) -{ - uint8_t idx, idy; - - //writes every digit of every device to 0xFF - for(idx = 0; idx < _num_devices; idx++) - { - for(idy = 0; idy < MAX7219_DIGIT_7; idy++) - { - write_digit((idx + 1), (idy + 1), 0xFF); - } - } -} - - -void Max7219::display_all_off(void) -{ - uint8_t idx, idy; - - //writes every digit of every device to 0 - for(idx = 0; idx < _num_devices; idx++) - { - for(idy = 0; idy < MAX7219_DIGIT_7; idy++) - { - write_digit((idx + 1), (idy + 1), 0); - } - } -} -