X-Git-Url: https://git.kernelconcepts.de/?p=metawatch.git;a=blobdiff_plain;f=mw_main.c;h=8fd34a30d33633ce68aa4e73394ac36a6ba8e485;hp=10ce47d8ad24d9b5966dd82a79f79fe102c388b1;hb=59068bbd135c3d2ed046be5fd64850166ca04a5c;hpb=fc1c62b9c0c3395297f2871028516a62d5effa19 diff --git a/mw_main.c b/mw_main.c index 10ce47d..8fd34a3 100644 --- a/mw_main.c +++ b/mw_main.c @@ -294,6 +294,24 @@ void test_application(int mw_fd) mw_free_pbuffer(mwbuf); } +void test_oled(int mw_fd, unsigned char oled) +{ + mw_buffer *mwbuf; + unsigned char *bbuf; + int len, i; + + mwbuf = mw_alloc_pbuffer(80, 16, 1); + mw_buf_clear(mwbuf, MW_BLACK); + + mw_buf_print(mwbuf, 0, 0, "ApplicatiO", 0, MW_WHITE, MW_BLACK); + mw_buf_print(mwbuf, 0, 8, "0123456789", 0, MW_WHITE, MW_BLACK); + + bbuf = mw_make_mw_oled_buffer(mwbuf, &len); + mw_write_oled_buffer(mw_fd, 0, oled, 80, 0, bbuf, len); + + mw_free_pbuffer(mwbuf); +} + void print_help(void) { } @@ -313,6 +331,14 @@ void process_cmd(char *cmdline, int clinep, int mw_fd) if (strncmp(cmdline, "help", 4) == 0) { print_help(); } + if (strncmp(cmdline, "ahand", 5) == 0) { + intopt = atoi(cmdline+5); + g_print("Advance analog hands by %d minutes\n", intopt); + mdata[0] = intopt / 60; + mdata[1] = intopt % 60; + mdata[2] = 0; + mw_send_frame(mw_fd, MW_ADVANCE_WATCH_HANDS, 0, mdata, 3); + } if (strncmp(cmdline, "srtc", 4) == 0) { fprintf(stderr, "Setting RTC from system time..."); mw_set_rtc(mw_fd, MW_RTC_CLOCK_24HR, MW_RTC_DATE_DDMM); @@ -376,6 +402,17 @@ void process_cmd(char *cmdline, int clinep, int mw_fd) if (strncmp(cmdline, "tapp", 4) == 0) { test_application(mw_fd); } + if (strncmp(cmdline, "eoled", 5) == 0) { + intopt = cmdline[6]-0x30; + if (intopt == MW_OLED_UPPER || intopt == MW_OLED_LOWER) + mw_send_frame(mw_fd, MW_ENABLE_OLED_DISPLAY_MSG, intopt, NULL, 0); + } + if (strncmp(cmdline, "toled", 5) == 0) { + intopt = cmdline[6]-0x30; + test_oled(mw_fd, intopt); + //mw_write_oled_buffer(mw_fd, 0, 80, 0, mdata, 10); + //mw_send_frame(mw_fd, MW_UPDATE_OLED_DISPLAY_MSG, 0, NULL, 0); + } }