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 enabled_;
bool inverted_;
bool dirty_;
public:

View file

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

View file

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