Merge pull request #23 from Trasselfrisyr/simfix

More correct display simulation
This commit is contained in:
Mikael Degerfält 2019-07-01 14:45:40 +02:00 committed by GitHub
commit 2b147d91fd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 9 deletions

View file

@ -16,6 +16,7 @@ public: // Exposed simulation variables...
bool dimmed_; bool dimmed_;
bool enabled_; bool enabled_;
bool inverted_; bool inverted_;
bool dirty_;
public: public:

View file

@ -611,8 +611,7 @@ uint8_t *Adafruit_SSD1306::getBuffer(void) {
of graphics commands, as best needed by one's own application. of graphics commands, as best needed by one's own application.
*/ */
void Adafruit_SSD1306::display(void) { void Adafruit_SSD1306::display(void) {
dirty_ = true;
// TODO: Update SDL surface with content of `buffer`
} }
@ -723,6 +722,7 @@ void Adafruit_SSD1306::ssd1306_command(uint8_t cmd)
break; break;
case SSD1306_DISPLAYON: case SSD1306_DISPLAYON:
enabled_ = true; enabled_ = true;
dirty_ = true;
break; break;
default: break; default: break;

View file

@ -47,8 +47,6 @@ void _reboot_Teensyduino_()
setup(); setup();
} }
extern void menu(void);
extern void initDisplay(void);
extern void breath(); extern void breath();
extern int noteValueCheck(int); extern int noteValueCheck(int);
extern unsigned int breathCurve(unsigned int); extern unsigned int breathCurve(unsigned int);
@ -189,7 +187,6 @@ static void doGlobalsWindow()
{ {
if( ImGui::Begin("Globals" ) ) { if( ImGui::Begin("Globals" ) ) {
if(ImGui::TreeNode("Sensor limits") ) if(ImGui::TreeNode("Sensor limits") )
{ {
ImGui::LabelText("Breath Thr", "%d", breathThrVal); ImGui::LabelText("Breath Thr", "%d", breathThrVal);
@ -376,13 +373,15 @@ static uint8_t displayBuffer[128*128];
static void GetDisplay() static void GetDisplay()
{ {
SDL_memset( displayBuffer, 0, (128*128)); if(!display.enabled_) {
SDL_memset( displayBuffer, 0, (128*128));
if(display.enabled_) { } else if(display.dirty_) {
uint8_t fg = 255; uint8_t fg = 255;
uint8_t bg = 0; uint8_t bg = 0;
if( display.dimmed_) fg = 127; display.dirty_ = false;
if( display.dimmed_ ) fg = 0b01001001;
if( display.inverted_ ) { uint8_t tmp = fg; fg = bg; bg = tmp; } if( display.inverted_ ) { uint8_t tmp = fg; fg = bg; bg = tmp; }
for(int y = 0 ; y < 64; ++y) { for(int y = 0 ; y < 64; ++y) {