test
as1115.cpp
- Committer:
- williamweatherholtz
- Date:
- 2018-04-16
- Revision:
- 2:3261da935b2e
- Parent:
- 1:b686a4955357
File content as of revision 2:3261da935b2e:
#include "as1115.h" //********************************************************************* AS1115::AS1115(I2C &display, const uint8_t address): _display(display), _address(address) { display.frequency(1000000); } void AS1115::write(uint8_t reg, uint8_t data) { char sendme[2] ={reg, data}; _display.write(_address << 1, sendme, 2); } void AS1115::enable(bool hard_reset) { write(AS1115_SHUTDOWN, ((!hard_reset)<<7) | 1); } void AS1115::disable(bool hard_reset) { write(AS1115_SHUTDOWN, ((!hard_reset)<<7) | 0); } void AS1115::init() { enable(true); set_self_addresses(); enable_decode(); set_global_intensity(8); // out of 16 start_display_test(); wait(0.5); stop_display_test(); } void AS1115::enable_decode(){ write(AS1115_DECODE_MODE, 0xFF);} void AS1115::disable_decode(){ write(AS1115_DECODE_MODE, 0x00);} void AS1115::set_global_intensity(uint8_t level){ write(AS1115_GLOBAL_INTENSITY, level);} void AS1115::start_display_test(){ write(AS1115_DISPLAY_TEST_MODE, 0x01);} void AS1115::stop_display_test(){ write(AS1115_DISPLAY_TEST_MODE, 0x00);} void AS1115::set_num_digits(uint8_t num_digits){ write(AS1115_SCAN_LIMIT, num_digits-1);} void AS1115::write_digit(uint8_t digit_num, uint8_t val){ write(AS1115_D0+digit_num, val);} void AS1115::set_self_addresses(){ write(AS1115_SELF_ADDRESSING, 0x01);} void AS1115::set_font(bool hex_font){ write(AS1115_FEATURE, hex_font<<2);}