Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • derf/multipass
1 result
Show changes
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
prompt "Bad Apple on MSP430FR5994 + Sharp 96x96 Transflective LCD" prompt "Bad Apple on MSP430FR5994 + Sharp 96x96 Transflective LCD"
depends on arch_msp430fr5994lp_large_mode depends on arch_msp430fr5994lp_large_mode
depends on meta_driver_timer
depends on driver_sharp96 depends on driver_sharp96
depends on lib_inflate && lib_inflate_lut depends on lib_inflate && lib_inflate_lut
depends on !loop depends on !loop
......
...@@ -30,47 +30,48 @@ int main(void) ...@@ -30,47 +30,48 @@ int main(void)
sharp96.clear(); sharp96.clear();
timer.setup_hz(frame_rate); timer.setup_hz(frame_rate);
timer_done = 0;
timer.start(1);
while (1) { while (1) {
for (i = 0; i < (sizeof(frames) / sizeof(frames[0])); i++) { for (i = 0; i < (sizeof(frames) / sizeof(frames[0])); i++) {
timer_done = 0;
timer.start(1);
for (line = 0; line < 72; line++) {
sharp96.writeLine(line, img_buf + (12 * 72 * 2) + (12 * line));
}
inflate(frames[i], sizeof(img_buf), img_buf, sizeof(img_buf)); inflate(frames[i], sizeof(img_buf), img_buf, sizeof(img_buf));
while (!timer_done) { while (!timer_done) {
arch.idle(); arch.idle();
} }
timer.stop();
timer.stop();
timer_done = 0; timer_done = 0;
timer.start(1); timer.start(1);
for (line = 0; line < 72; line++) { for (line = 0; line < 72; line++) {
sharp96.writeLine(line, img_buf + (12 * line)); sharp96.writeLine(line, img_buf + (12 * 72 * 0 ) + (12 * line));
} }
while (!timer_done) { while (!timer_done) {
arch.idle(); arch.idle();
} }
timer.stop();
timer.stop();
timer_done = 0; timer_done = 0;
timer.start(1); timer.start(1);
for (line = 0; line < 72; line++) { for (line = 0; line < 72; line++) {
sharp96.writeLine(line, img_buf + (12 * 72) + (12 * line)); sharp96.writeLine(line, img_buf + (12 * 72 * 1) + (12 * line));
} }
while (!timer_done) { while (!timer_done) {
arch.idle(); arch.idle();
} }
timer.stop(); timer.stop();
timer_done = 0;
timer.start(1);
for (line = 0; line < 72; line++) {
sharp96.writeLine(line, img_buf + (12 * 72 * 2) + (12 * line));
}
if ((i%10)==0) { if ((i%10)==0) {
sharp96.toggleVCOM(); sharp96.toggleVCOM();
......
...@@ -2,5 +2,10 @@ ...@@ -2,5 +2,10 @@
# #
# SPDX-License-Identifier: CC0-1.0 # SPDX-License-Identifier: CC0-1.0
prompt "SSD1306 Bad Apple" prompt "Bad Apple on MSP430FR5994 + SSD1306 128x64 LCD"
depends on driver_ssd1306 && !wakeup depends on arch_msp430fr5994lp_large_mode
depends on meta_driver_timer
depends on driver_ssd1306 && driver_ssd1306_mode_horizontal
depends on lib_inflate && lib_inflate_lut
depends on !loop
depends on !wakeup
This diff is collapsed.
...@@ -27,7 +27,7 @@ int main(void) ...@@ -27,7 +27,7 @@ int main(void)
i2c.setup(); i2c.setup();
ssd1306.init(); ssd1306.init();
timer.setup_hz_low(frame_rate); timer.setup_hz(frame_rate);
while (1) { while (1) {
for (i = 0; i < (sizeof(frames) / sizeof(frames[0])); i++) { for (i = 0; i < (sizeof(frames) / sizeof(frames[0])); i++) {
......