big update:

- display update
- timer changed to ms
- allow connections just when connected
This commit is contained in:
Peter Buchegger 2021-03-27 22:02:43 +01:00
parent c96a0310ae
commit 2c78a002ab
19 changed files with 332 additions and 351 deletions

View file

@ -1,42 +1,35 @@
#include "SSD1306.h"
SSD1306::SSD1306(TwoWire * wire, uint8_t address, OLEDDISPLAY_GEOMETRY g)
: OLEDDisplay(g), _wire(wire), _address(address)
{
sendInitCommands();
SSD1306::SSD1306(TwoWire *wire, uint8_t address, OLEDDISPLAY_GEOMETRY g) : OLEDDisplay(g), _wire(wire), _address(address) {
sendInitCommands();
}
SSD1306::~SSD1306()
{
SSD1306::~SSD1306() {
}
void SSD1306::display(Bitmap * bitmap)
{
sendCommand(PAGEADDR);
sendCommand(0x0);
sendCommand(0xFF);
void SSD1306::internDisplay(Bitmap *bitmap) {
sendCommand(PAGEADDR);
sendCommand(0x0);
sendCommand(0xFF);
sendCommand(COLUMNADDR);
sendCommand(0x0);
sendCommand(getWidth() - 1);
sendCommand(COLUMNADDR);
sendCommand(0x0);
sendCommand(getWidth() - 1);
for (int i = 0; i < getWidth() * getHeight() / 8; )
{
Wire.beginTransmission(_address);
Wire.write(0x40);
for (uint8_t x = 0; x < 16; x++)
{
Wire.write(bitmap->_buffer[i]);
i++;
}
Wire.endTransmission();
}
for (int i = 0; i < getWidth() * getHeight() / 8;) {
Wire.beginTransmission(_address);
Wire.write(0x40);
for (uint8_t x = 0; x < 16; x++) {
Wire.write(bitmap->_buffer[i]);
i++;
}
Wire.endTransmission();
}
}
void SSD1306::sendCommand(uint8_t command)
{
_wire->beginTransmission(_address);
_wire->write(0x80);
_wire->write(command);
_wire->endTransmission();
void SSD1306::sendCommand(uint8_t command) {
_wire->beginTransmission(_address);
_wire->write(0x80);
_wire->write(command);
_wire->endTransmission();
}