test
as1115.cpp@2:3261da935b2e, 2018-04-16 (annotated)
- Committer:
- williamweatherholtz
- Date:
- Mon Apr 16 18:06:21 2018 +0000
- Revision:
- 2:3261da935b2e
- Parent:
- 1:b686a4955357
v1 - added font enums, still not tested w/ hardware
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
williamweatherholtz | 1:b686a4955357 | 1 | #include "as1115.h" |
williamweatherholtz | 0:ef4b1297d850 | 2 | |
williamweatherholtz | 0:ef4b1297d850 | 3 | |
williamweatherholtz | 0:ef4b1297d850 | 4 | //********************************************************************* |
williamweatherholtz | 1:b686a4955357 | 5 | AS1115::AS1115(I2C &display, const uint8_t address): |
williamweatherholtz | 1:b686a4955357 | 6 | _display(display), |
williamweatherholtz | 1:b686a4955357 | 7 | _address(address) |
williamweatherholtz | 0:ef4b1297d850 | 8 | { |
williamweatherholtz | 1:b686a4955357 | 9 | display.frequency(1000000); |
williamweatherholtz | 0:ef4b1297d850 | 10 | } |
williamweatherholtz | 0:ef4b1297d850 | 11 | |
williamweatherholtz | 1:b686a4955357 | 12 | void AS1115::write(uint8_t reg, uint8_t data) |
williamweatherholtz | 0:ef4b1297d850 | 13 | { |
williamweatherholtz | 1:b686a4955357 | 14 | char sendme[2] ={reg, data}; |
williamweatherholtz | 1:b686a4955357 | 15 | _display.write(_address << 1, sendme, 2); |
williamweatherholtz | 0:ef4b1297d850 | 16 | } |
williamweatherholtz | 0:ef4b1297d850 | 17 | |
williamweatherholtz | 1:b686a4955357 | 18 | void AS1115::enable(bool hard_reset) |
williamweatherholtz | 0:ef4b1297d850 | 19 | { |
williamweatherholtz | 2:3261da935b2e | 20 | write(AS1115_SHUTDOWN, ((!hard_reset)<<7) | 1); |
williamweatherholtz | 0:ef4b1297d850 | 21 | } |
williamweatherholtz | 0:ef4b1297d850 | 22 | |
williamweatherholtz | 1:b686a4955357 | 23 | void AS1115::disable(bool hard_reset) |
williamweatherholtz | 0:ef4b1297d850 | 24 | { |
williamweatherholtz | 2:3261da935b2e | 25 | write(AS1115_SHUTDOWN, ((!hard_reset)<<7) | 0); |
williamweatherholtz | 0:ef4b1297d850 | 26 | } |
williamweatherholtz | 2:3261da935b2e | 27 | void AS1115::init() |
williamweatherholtz | 2:3261da935b2e | 28 | { |
williamweatherholtz | 1:b686a4955357 | 29 | enable(true); |
williamweatherholtz | 2:3261da935b2e | 30 | set_self_addresses(); |
williamweatherholtz | 1:b686a4955357 | 31 | enable_decode(); |
williamweatherholtz | 1:b686a4955357 | 32 | set_global_intensity(8); // out of 16 |
williamweatherholtz | 1:b686a4955357 | 33 | start_display_test(); |
williamweatherholtz | 1:b686a4955357 | 34 | wait(0.5); |
williamweatherholtz | 1:b686a4955357 | 35 | stop_display_test(); |
williamweatherholtz | 0:ef4b1297d850 | 36 | } |
williamweatherholtz | 0:ef4b1297d850 | 37 | |
williamweatherholtz | 1:b686a4955357 | 38 | void AS1115::enable_decode(){ write(AS1115_DECODE_MODE, 0xFF);} |
williamweatherholtz | 1:b686a4955357 | 39 | void AS1115::disable_decode(){ write(AS1115_DECODE_MODE, 0x00);} |
williamweatherholtz | 0:ef4b1297d850 | 40 | |
williamweatherholtz | 1:b686a4955357 | 41 | void AS1115::set_global_intensity(uint8_t level){ write(AS1115_GLOBAL_INTENSITY, level);} |
williamweatherholtz | 0:ef4b1297d850 | 42 | |
williamweatherholtz | 1:b686a4955357 | 43 | void AS1115::start_display_test(){ write(AS1115_DISPLAY_TEST_MODE, 0x01);} |
williamweatherholtz | 1:b686a4955357 | 44 | void AS1115::stop_display_test(){ write(AS1115_DISPLAY_TEST_MODE, 0x00);} |
williamweatherholtz | 0:ef4b1297d850 | 45 | |
williamweatherholtz | 1:b686a4955357 | 46 | void AS1115::set_num_digits(uint8_t num_digits){ write(AS1115_SCAN_LIMIT, num_digits-1);} |
williamweatherholtz | 0:ef4b1297d850 | 47 | |
williamweatherholtz | 1:b686a4955357 | 48 | void AS1115::write_digit(uint8_t digit_num, uint8_t val){ write(AS1115_D0+digit_num, val);} |
williamweatherholtz | 2:3261da935b2e | 49 | |
williamweatherholtz | 2:3261da935b2e | 50 | void AS1115::set_self_addresses(){ write(AS1115_SELF_ADDRESSING, 0x01);} |
williamweatherholtz | 2:3261da935b2e | 51 | |
williamweatherholtz | 2:3261da935b2e | 52 | void AS1115::set_font(bool hex_font){ write(AS1115_FEATURE, hex_font<<2);} |